<?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>114119</bug_id>
          
          <creation_ts>2013-04-07 09:34:59 -0700</creation_ts>
          <short_desc>Remove feature: CSS variables</short_desc>
          <delta_ts>2013-11-28 07:44:55 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>abecsi</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>divya</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jon.rimmer</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>syoichi</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>870466</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 09:34:59 -0700</bug_when>
    <thetext>The CSS variables feature was only shipped by Chromium and we should remove it, as it&apos;ll just start to bitrot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870472</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 09:53:19 -0700</bug_when>
    <thetext>&lt;https://lists.webkit.org/pipermail/webkit-dev/2013-April/024476.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870474</commentid>
    <comment_count>2</comment_count>
      <attachid>196791</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 09:56:17 -0700</bug_when>
    <thetext>Created attachment 196791
Remove CSS variables (for EWS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870476</commentid>
    <comment_count>3</comment_count>
      <attachid>196792</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 09:57:13 -0700</bug_when>
    <thetext>Created attachment 196792
Remove CSS variables (for EWS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870477</commentid>
    <comment_count>4</comment_count>
      <attachid>196792</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-07 10:05:22 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17525742</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870479</commentid>
    <comment_count>5</comment_count>
      <attachid>196792</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-07 10:07:19 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17540338</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870484</commentid>
    <comment_count>6</comment_count>
      <attachid>196792</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-07 10:25:26 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17528774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870485</commentid>
    <comment_count>7</comment_count>
      <attachid>196792</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-07 10:34:46 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17446744</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870490</commentid>
    <comment_count>8</comment_count>
      <attachid>196792</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-04-07 10:44:21 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass gtk-ews (gtk):
Output: http://webkit-commit-queue.appspot.com/results/17524750</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870491</commentid>
    <comment_count>9</comment_count>
      <attachid>196792</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-07 10:45:39 -0700</bug_when>
    <thetext>Comment on attachment 196792
Remove CSS variables (for EWS)

Attachment 196792 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17486841</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870503</commentid>
    <comment_count>10</comment_count>
      <attachid>196801</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 12:36:36 -0700</bug_when>
    <thetext>Created attachment 196801
I can&apos;t brain on Sundays</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870513</commentid>
    <comment_count>11</comment_count>
      <attachid>196801</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-07 12:56:32 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17423102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870516</commentid>
    <comment_count>12</comment_count>
      <attachid>196801</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-07 13:02:00 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17547013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870519</commentid>
    <comment_count>13</comment_count>
      <attachid>196801</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-07 13:21:00 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17504007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870523</commentid>
    <comment_count>14</comment_count>
    <who name="Jon Rimmer">jon.rimmer</who>
    <bug_when>2013-04-07 13:25:08 -0700</bug_when>
    <thetext>As a web developer, I have to say that this is an extremely disappointing decision. Apple should be turning this feature on in their browsers, not removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870531</commentid>
    <comment_count>15</comment_count>
      <attachid>196801</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-07 13:30:15 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17522156</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870541</commentid>
    <comment_count>16</comment_count>
      <attachid>196801</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-07 14:00:48 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17508024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870551</commentid>
    <comment_count>17</comment_count>
      <attachid>196801</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-04-07 14:22:30 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

It would probably be a good idea to repeat the rationalle in the Changelog for future reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870553</commentid>
    <comment_count>18</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-07 14:30:47 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 196801 [details])
&gt; It would probably be a good idea to repeat the rationalle in the Changelog for future reference.

Oh definitely. These are just my (lame) attempts at getting a green EWS before making the final patch.

(In reply to comment #14)
&gt; As a web developer, I have to say that this is an extremely disappointing decision. Apple should be turning this feature on in their browsers, not removing it.

Please voice your concerns on the webkit-dev mailing list by responding to this thread: &lt;https://lists.webkit.org/pipermail/webkit-dev/2013-April/024476.html&gt;

Whether or not the feature is removed is still up for discussion. I&apos;m just trying to be proactive here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870563</commentid>
    <comment_count>19</comment_count>
      <attachid>196801</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-07 15:13:58 -0700</bug_when>
    <thetext>Comment on attachment 196801
I can&apos;t brain on Sundays

Attachment 196801 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17553004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954729</commentid>
    <comment_count>20</comment_count>
      <attachid>218002</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-28 07:24:05 -0800</bug_when>
    <thetext>Created attachment 218002
rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954732</commentid>
    <comment_count>21</comment_count>
      <attachid>218002</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-11-28 07:31:58 -0800</bug_when>
    <thetext>Comment on attachment 218002
rebased patch

r=me.

Thank you for moving this forward. The code was nowhere near WebKit quality standards, and it&apos;s effectively unmaintained.
There should be something about that in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954734</commentid>
    <comment_count>22</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-28 07:44:55 -0800</bug_when>
    <thetext>ttps://trac.webkit.org/r159842</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196791</attachid>
            <date>2013-04-07 09:56:17 -0700</date>
            <delta_ts>2013-04-07 09:57:13 -0700</delta_ts>
            <desc>Remove CSS variables (for EWS)</desc>
            <filename>bug-114119.diff</filename>
            <type>text/plain</type>
            <size>103060</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNGZmMDFlLi5kNjgzNTAx
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNDoKKyAgICAgICAg
KiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2U6CisKIDIwMTMtMDQtMDUgIEVkIEJhcnRvc2ggIDxiYXJ0b3No
QGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVp
bGQgZmFpbHMgYmVjYXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWM4YmJkYi4uNzUwYjcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMg
S2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJlOiBDU1Mg
dmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTA0LTA2ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5pZnkgdGhlIG1hbnkgYW5kIHZhcmllZCBzdGFj
ayB0cmFjZSBtZWNoYW5pc21zLCBhbmQgbWFrZSB0aGUgcmVzdWx0IHNhbmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggOWUzNGZkOC4uMGI1ZjA0MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNTQsNyArNTQsNiBAQCBFTkFCTEVfQ1NTX1JFR0lPTlMgPSBFTkFCTEVfQ1NTX1JF
R0lPTlM7CiBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVf
Q1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxF
X0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKQEAgLTE4OCw0ICsxODcsNCBAQCBFTkFCTEVf
V09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxFX1hI
Ul9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9W
SVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhF
TF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxF
X1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFU
VVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lU
SU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJB
TUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNI
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggODIwNTk2My4uODcxMTZjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJl
OiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0
dXJlRGVmaW5lcy5oOgorCiAyMDEzLTA0LTA2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlZCB2OCBiaW5kaW5ncyBob29rcyBmcm9tIElETCBmaWxl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNmQwZWRjNi4uYTE3MzFiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oCkBAIC00MDcsMTAgKzQwNyw2IEBACiAjZGVmaW5lIEVOQUJMRV9DU1Nf
VFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgMAogI2VuZGlmCiAK
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1ZBUklBQkxFUykKLSNkZWZpbmUgRU5BQkxFX0NTU19W
QVJJQUJMRVMgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKQogI2RlZmluZSBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIDAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDFjMTM4YzAuLjhmMjgyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDcg
QEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQdXJnZSBhbGwgRU5BQkxFKENTU19WQVJJQUJMRVMpIGJsb2Nrcy4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIGNz
cy9DU1NCYXNpY1NoYXBlcy5jcHA6CisgICAgICAgICogY3NzL0NTU0Jhc2ljU2hhcGVzLmg6Cisg
ICAgICAgIChDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlKToKKyAgICAgICAgKENTU0Jhc2ljU2hhcGVD
aXJjbGUpOgorICAgICAgICAoQ1NTQmFzaWNTaGFwZUVsbGlwc2UpOgorICAgICAgICAoQ1NTQmFz
aWNTaGFwZVBvbHlnb24pOgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnVuaXRDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjUHJpbWl0aXZlVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNQcmltaXRpdmVWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6ZGV0
ZXJtaW5lQ2F0ZWdvcnkpOgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmg6Cisg
ICAgICAgIChDU1NDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55Lmlu
OgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRv
cj09KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVTdHlsZVByb3BlcnR5U2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlvblVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZVZhbGlkUHJpbWl0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdERhc2hUb2tlbik6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnJlYWxMZXgpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAg
ICAgICAgKENTU1BhcnNlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNlck1vZGUuaDoKKyAgICAg
ICAgKENTU1BhcnNlckNvbnRleHQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyVmFsdWU6OmNyZWF0ZUNTU1ZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNW
YWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cmltaXRpdmVWYWx1ZTo6Y2xlYW51cCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Z2V0U3RyaW5nVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OmVxdWFscyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoK
KyAgICAgICAgKENTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNv
bnZlcnRUb0xlbmd0aCk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5OjpDU1NQcm9w
ZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgICogY3Nz
L0NTU1JlZmxlY3RWYWx1ZS5oOgorICAgICAgICAoQ1NTUmVmbGVjdFZhbHVlKToKKyAgICAgICAg
KiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFs
dWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoQ1NTVmFs
dWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuY3BwOgorICAgICAgICAqIGNzcy9DU1NW
YWx1ZUxpc3QuaDoKKyAgICAgICAgKENTU1ZhbHVlTGlzdCk6CisgICAgICAgICogY3NzL0NTU1Zh
cmlhYmxlVmFsdWUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvUGFpci5oOgorICAgICAgICAq
IGNzcy9SZWN0Lmg6CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNldDo6YXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUHJvcGVydHlTZXQ6OlByb3BlcnR5UmVmZXJlbmNlOjpjc3NOYW1lKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVy
OjpzdHlsZUZvclBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5TWF0Y2hl
ZFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9w
ZXJ0eSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5oOgorICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoU2V0dGluZ3MpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFNhbWVTaXplQXNTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERh
dGEpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oOiBSZW1v
dmVkLgorCiAyMDEzLTA0LTA2ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBHZXQgcmlkIG9mIHNraWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNDUzZTQyNC4uZWZk
ZTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTU0LDcgKzU0LDYgQEAgRU5BQkxFX0NTU19SRUdJT05TID0g
RU5BQkxFX0NTU19SRUdJT05TOwogRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFE
RVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJ
VElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwotRU5BQkxFX0NTU19WQVJJ
QUJMRVMgPSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKIEVOQUJMRV9DU1Mz
X1RFWFQgPSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CkBAIC0xODYsNCArMTg1
LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElNRU9V
VCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1B
VElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19D
T05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0df
RUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RF
TSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9E
UElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxF
X1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJT
RVIpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRG
T1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19U
UkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkg
JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFC
TEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFT
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19E
T00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VC
UElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCmluZGV4IDE5NzRlNjAuLjAwMWUx
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcApAQCAtODksMjggKzg5LDYg
QEAgYm9vbCBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjplcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFw
ZSYgc2hhcGUpIGNvbnN0CiAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX3JhZGl1c1ks
IG90aGVyLm1fcmFkaXVzWSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmlu
ZyBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29u
c3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAg
ICByZXR1cm4gYnVpbGRSZWN0YW5nbGVTdHJpbmcobV94LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV95LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXModmFyaWFibGVzKSwKLSAgICAgICAgbV93aWR0aC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1faGVpZ2h0LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXNYLmdldCgpID8gbV9yYWRpdXNYLT5z
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6IFN0cmluZygpLAotICAgICAg
ICBtX3JhZGl1c1kuZ2V0KCkgPyBtX3JhZGl1c1ktPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpIDogU3RyaW5nKCkpOwotfQotCi1ib29sIENTU0Jhc2ljU2hhcGVSZWN0YW5n
bGU6Omhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV94LT5oYXNW
YXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1feS0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KQotICAgICAgICB8fCBtX3dpZHRoLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8
IG1faGVpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IChtX3JhZGl1c1gu
Z2V0KCkgJiYgbV9yYWRpdXNYLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICB8fCAo
bV9yYWRpdXNZLmdldCgpICYmIG1fcmFkaXVzWS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci19
Ci0jZW5kaWYKLQogc3RhdGljIFN0cmluZyBidWlsZENpcmNsZVN0cmluZyhjb25zdCBTdHJpbmcm
IHgsIGNvbnN0IFN0cmluZyYgeSwgY29uc3QgU3RyaW5nJiByYWRpdXMpCiB7CiAgICAgcmV0dXJu
ICJjaXJjbGUoIiArIHggKyAiLCAiICsgeSArICIsICIgKyByYWRpdXMgKyAnKSc7CkBAIC0xMzIs
MjIgKzExMCw2IEBAIGJvb2wgQ1NTQmFzaWNTaGFwZUNpcmNsZTo6ZXF1YWxzKGNvbnN0IENTU0Jh
c2ljU2hhcGUmIHNoYXBlKSBjb25zdAogICAgICAgICAmJiBjb21wYXJlQ1NTVmFsdWVQdHIobV9y
YWRpdXMsIG90aGVyLm1fcmFkaXVzKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
U3RyaW5nIENTU0Jhc2ljU2hhcGVDaXJjbGU6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhj
b25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewot
ICAgIHJldHVybiBidWlsZENpcmNsZVN0cmluZyhtX2NlbnRlclgtPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2NlbnRlclktPnNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1cy0+c2VyaWFsaXplUmVz
b2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotfQotCi1ib29sIENTU0Jhc2ljU2hhcGVDaXJj
bGU6Omhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jZW50ZXJY
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fY2VudGVyWS0+aGFzVmFyaWFi
bGVSZWZlcmVuY2UoKQotICAgICAgICB8fCBtX3JhZGl1cy0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgU3RyaW5nIGJ1aWxkRWxsaXBzZVN0cmluZyhjb25zdCBT
dHJpbmcmIHgsIGNvbnN0IFN0cmluZyYgeSwgY29uc3QgU3RyaW5nJiByYWRpdXNYLCBjb25zdCBT
dHJpbmcmIHJhZGl1c1kpCiB7CiAgICAgcmV0dXJuICJlbGxpcHNlKCIgKyB4ICsgIiwgIiArIHkg
KyAiLCAiICsgcmFkaXVzWCArICIsICIgKyByYWRpdXNZICsgJyknOwpAQCAtMTcwLDI0ICsxMzIs
NiBAQCBib29sIENTU0Jhc2ljU2hhcGVFbGxpcHNlOjplcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFw
ZSYgc2hhcGUpIGNvbnN0CiAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX3JhZGl1c1ks
IG90aGVyLm1fcmFkaXVzWSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmlu
ZyBDU1NCYXNpY1NoYXBlRWxsaXBzZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGJ1aWxkRWxsaXBzZVN0cmluZyhtX2NlbnRlclgtPnNlcmlhbGl6ZVJlc29sdmluZ1Zh
cmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2NlbnRlclktPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1c1gtPnNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1c1ktPnNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlRWxs
aXBzZTo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotewotICAgIHJldHVybiBtX2NlbnRl
clgtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAgfHwgbV9jZW50ZXJZLT5oYXNWYXJp
YWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fcmFkaXVzWC0+aGFzVmFyaWFibGVSZWZlcmVu
Y2UoKQotICAgICAgICB8fCBtX3JhZGl1c1ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci19Ci0j
ZW5kaWYKLQogc3RhdGljIFN0cmluZyBidWlsZFBvbHlnb25TdHJpbmcoY29uc3QgV2luZFJ1bGUm
IHdpbmRSdWxlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcG9pbnRzKQogewogICAgIEFTU0VSVCgh
KHBvaW50cy5zaXplKCkgJSAyKSk7CkBAIC0yNDYsMjcgKzE5MCw1IEBAIGJvb2wgQ1NTQmFzaWNT
aGFwZVBvbHlnb246OmVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJiBzaGFwZSkgY29uc3QKICAg
ICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlVmVjdG9yPENTU1ByaW1pdGl2ZVZhbHVlPihtX3ZhbHVl
cywgcmhzLm1fdmFsdWVzKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5n
IENTU0Jhc2ljU2hhcGVQb2x5Z29uOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3Qg
SGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBwb2ludHM7Ci0gICAgcG9pbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bV92YWx1ZXMuc2l6ZSgpKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV92YWx1ZXMu
c2l6ZSgpOyArK2kpCi0gICAgICAgIHBvaW50cy5hcHBlbmQobV92YWx1ZXMuYXQoaSktPnNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLQotICAgIHJldHVybiBidWlsZFBv
bHlnb25TdHJpbmcobV93aW5kUnVsZSwgcG9pbnRzKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBl
UG9seWdvbjo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotewotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbV92YWx1ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fdmFsdWVz
LmF0KGkpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKaW5kZXggOGRiMGQyZi4uMzFk
ZTYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKQEAgLTUxLDExICs1MSw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYpIGNvbnN0ID0gMDsKIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdCA9IDA7
Ci0jZW5kaWYKLQogcHVibGljOgogICAgIHZpcnR1YWwgfkNTU0Jhc2ljU2hhcGUoKSB7IH0KIApA
QCAtODUsMTEgKzgwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmKSBjb25z
dDsKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5n
PiYpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0
OwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZVJlY3RhbmdsZSgpIHsgfQog
CkBAIC0xMTcsMTEgKzEwNyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJikg
Y29uc3Q7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBz
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0
cmluZz4mKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBj
b25zdDsKLSNlbmRpZgotCiBwcml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVDaXJjbGUoKSB7IH0K
IApAQCAtMTQ4LDExICsxMzMsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYp
IGNvbnN0OwogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVhbCBTdHJpbmcg
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBT
dHJpbmc+JikgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkg
Y29uc3Q7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBDU1NCYXNpY1NoYXBlRWxsaXBzZSgpIHsg
fQogCkBAIC0xODIsMTAgKzE2Miw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIENTU19CQVNJQ19TSEFQRV9QT0xZR09OOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
QmFzaWNTaGFwZSYpIGNvbnN0OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1
YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJl
ZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZVBv
bHlnb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDIzOWM5OWQuLjU2YjYyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25W
YWx1ZS5jcHAKQEAgLTY5LDEwICs2OSw2IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IHVu
aXRDYXRlZ29yeShDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIHR5cGUpCiAgICAgY2FzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0NIUzoKICAgICAgICAgcmV0dXJuIENhbGNMZW5ndGg7Ci0jaWYgRU5BQkxFKENTU19WQVJJ
QUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU6Ci0g
ICAgICAgIHJldHVybiBDYWxjVmFyaWFibGU7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm4gQ2FsY090aGVyOwogICAgIH0KQEAgLTEwMSwxOCArOTcsNiBAQCBib29sIENTU0Nh
bGNWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0NhbGNWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZVB0cihtX2V4cHJlc3Npb24sIG90aGVyLm1fZXhwcmVzc2lvbik7
CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NDYWxjVmFsdWU6OmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmlu
ZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIHJldHVybiBidWlsZENzc1RleHQo
bV9leHByZXNzaW9uLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7Ci19
Ci0KLWJvb2wgQ1NTQ2FsY1ZhbHVlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLX0KLSNlbmRp
ZgotCiB2b2lkIENTU0NhbGNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwpAQCAtMTU2LDE4ICsxNDAsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5j
c3NUZXh0KCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVh
bCBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWlj
U3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4g
bV92YWx1ZS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0g
ICAgfQotICAgIAotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+aXNWYXJpYWJsZU5hbWUoKTsKLSAgICB9
Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHRv
Q2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91
YmxlIHpvb20pIGNvbnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fY2F0ZWdvcnkpIHsKQEAg
LTE4MSw5ICsxNTMsNiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIE9ubHkgdHlwZXMgdGhhdCBjb3Vs
ZCBiZSBwYXJ0IG9mIGEgTGVuZ3RoIGV4cHJlc3Npb24gY2FuIGJlIGNvbnZlcnRlZAogICAgICAg
ICAvLyB0byBhIENhbGNFeHByZXNzaW9uTm9kZS4gQ2FsY1BlcmNlbnROdW1iZXIgbWFrZXMgbm8g
c2Vuc2UgYXMgYSBMZW5ndGguCiAgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ2FsY1ZhcmlhYmxlOgotI2VuZGlm
CiAgICAgICAgIGNhc2UgQ2FsY090aGVyOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgIH0KQEAgLTE5OSw5ICsxNjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2Ug
Q2FsY0xlbmd0aDoKICAgICAgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKICAgICAgICAgY2Fz
ZSBDYWxjUGVyY2VudE51bWJlcjoKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAg
Y2FzZSBDYWxjVmFyaWFibGU6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBDYWxjT3RoZXI6CiAgICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjE5
LDkgKzE4NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3Vi
bGVWYWx1ZSgpOwogICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAgICAgICBjYXNl
IENhbGNQZXJjZW50TnVtYmVyOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBj
YXNlIENhbGNWYXJpYWJsZToKLSNlbmRpZgogICAgICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNzEs
MTEgKzIzNCw2IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IGRldGVybWluZUNhdGVnb3J5
KGNvbnN0IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgbGVmdFNpCiAgICAgaWYgKGxlZnRDYXRlZ29y
eSA9PSBDYWxjT3RoZXIgfHwgcmlnaHRDYXRlZ29yeSA9PSBDYWxjT3RoZXIpCiAgICAgICAgIHJl
dHVybiBDYWxjT3RoZXI7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAobGVm
dENhdGVnb3J5ID09IENhbGNWYXJpYWJsZSB8fCByaWdodENhdGVnb3J5ID09IENhbGNWYXJpYWJs
ZSkKLSAgICAgICAgcmV0dXJuIENhbGNWYXJpYWJsZTsKLSNlbmRpZgotCiAgICAgc3dpdGNoIChv
cCkgewogICAgIGNhc2UgQ2FsY0FkZDoKICAgICBjYXNlIENhbGNTdWJ0cmFjdDogICAgICAgICAg
ICAgCkBAIC0zNjMsMTggKzMyMSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJ1aWxkQ3Nz
VGV4dChtX2xlZnRTaWRlLT5jdXN0b21Dc3NUZXh0KCksIG1fcmlnaHRTaWRlLT5jdXN0b21Dc3NU
ZXh0KCksIG1fb3BlcmF0b3IpOwogICAgIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNo
TWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGJ1aWxkQ3NzVGV4dChtX2xlZnRTaWRlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwgbV9yaWdodFNpZGUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpLCBtX29wZXJhdG9yKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaGFz
VmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbGVmdFNp
ZGUtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgfHwgbV9yaWdodFNpZGUtPmhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0
IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgZXhwKSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKHR5
cGUoKSAhPSBleHAudHlwZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bGN1bGF0aW9uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmgKaW5kZXggNTY5ZGJkZS4uMWIwNWVhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NhbGN1bGF0aW9uVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5oCkBAIC01Miw5ICs1Miw2IEBAIGVudW0gQ2FsY3VsYXRpb25DYXRlZ29yeSB7
CiAgICAgQ2FsY1BlcmNlbnQsCiAgICAgQ2FsY1BlcmNlbnROdW1iZXIsCiAgICAgQ2FsY1BlcmNl
bnRMZW5ndGgsCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgQ2FsY1ZhcmlhYmxlLAot
I2VuZGlmCiAgICAgQ2FsY090aGVyCiB9OwogICAgIApAQCAtNzEsMTAgKzY4LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEuMCwgYm9vbCBjb21wdXRp
bmdGb250U2l6ZSA9IGZhbHNlKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgY3VzdG9t
Q3NzVGV4dCgpIGNvbnN0ID0gMDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0
dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9t
aWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCkgY29uc3QgPSAwOwotI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGVxdWFs
cyhjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2Nh
dGVnb3J5ID09IG90aGVyLm1fY2F0ZWdvcnkgJiYgbV9pc0ludGVnZXIgPT0gb3RoZXIubV9pc0lu
dGVnZXI7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKQEAg
LTExMCwxMCArMTAzLDYgQEAgcHVibGljOgogICAgICAgICAKICAgICBTdHJpbmcgY3VzdG9tQ3Nz
VGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU0NhbGNWYWx1ZSYpIGNvbnN0
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBj
b25zdDsKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAog
ICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKaW5kZXggM2YxMDFlNC4uNGI4MjZjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE1ODAsOSAr
MTU4MCw2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAKICAgICBzd2l0Y2ggKHByb3BlcnR5
SUQpIHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFsaWQ6Ci0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWYXJpYWJsZToKLSNlbmRpZgogICAg
ICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xv
cjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCmluZGV4IDUzOWVhNjguLmE1YTc2MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgpAQCAtNzcsNyArNzcsNiBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNDU1NUb2tlbkFTdHJpbmcoaW50IHl5dHlwZSkKICAgICBjYXNlIENBTENGVU5D
VElPTjoKICAgICBjYXNlIE1JTkZVTkNUSU9OOgogICAgIGNhc2UgTUFYRlVOQ1RJT046Ci0gICAg
Y2FzZSBWQVJfREVGSU5JVElPTjoKICAgICBjYXNlIFVOSUNPREVSQU5HRToKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKQEAgLTEzMSw3ICsxMzAsNiBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNDU1NUb2tlbkFTdHJpbmcoaW50IHl5dHlwZSkKICNlbmRpZgogJXRva2VuIENIQVJT
RVRfU1lNCiAldG9rZW4gTkFNRVNQQUNFX1NZTQotJXRva2VuIFZBUkZVTkNUSU9OCiAldG9rZW4g
V0VCS0lUX1JVTEVfU1lNCiAldG9rZW4gV0VCS0lUX0RFQ0xTX1NZTQogJXRva2VuIFdFQktJVF9L
RVlGUkFNRV9SVUxFX1NZTQpAQCAtMjE5LDcgKzIxNyw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c0NTU1Rva2VuQVN0cmluZyhpbnQgeXl0eXBlKQogJXRva2VuIDxzdHJpbmc+IENBTENGVU5DVElP
TgogJXRva2VuIDxzdHJpbmc+IE1JTkZVTkNUSU9OCiAldG9rZW4gPHN0cmluZz4gTUFYRlVOQ1RJ
T04KLSV0b2tlbiA8c3RyaW5nPiBWQVJfREVGSU5JVElPTgogCiAldG9rZW4gPHN0cmluZz4gVU5J
Q09ERVJBTkdFCiAKQEAgLTE2MDksMTYgKzE2MDYsNiBAQCBkZWNsX2xpc3Q6CiAgICAgOwogCiBk
ZWNsYXJhdGlvbjoKLSAgICBWQVJfREVGSU5JVElPTiAnOicgbWF5YmVfc3BhY2UgZXhwciBwcmlv
IHsKLSNpZiBFTkFCTEVfQ1NTX1ZBUklBQkxFUwotICAgICAgICBwYXJzZXItPnN0b3JlVmFyaWFi
bGVEZWNsYXJhdGlvbigkMSwgcGFyc2VyLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDQpLCAkNSk7
Ci0gICAgICAgICQkID0gdHJ1ZTsKLSAgICAgICAgcGFyc2VyLT5tYXJrUHJvcGVydHlFbmQoJDUs
IHRydWUpOwotI2Vsc2UKLSAgICAgICAgJCQgPSBmYWxzZTsKLSNlbmRpZgotICAgIH0KLSAgICB8
CiAgICAgcHJvcGVydHkgJzonIG1heWJlX3NwYWNlIGV4cHIgcHJpbyB7CiAgICAgICAgICQkID0g
ZmFsc2U7CiAgICAgICAgIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCA9IGZhbHNlOwpAQCAtMTc1MCwx
MyArMTczNyw2IEBAIHRlcm06CiAgIHwgVU5JQ09ERVJBTkdFIG1heWJlX3NwYWNlIHsgJCQuaWQg
PSAwOyAkJC5zdHJpbmcgPSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5J
Q09ERV9SQU5HRTsgfQogICB8IEhFWCBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5n
ID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUjsg
fQogICB8ICcjJyBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gQ1NTUGFyc2Vy
U3RyaW5nKCk7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xP
UjsgfSAvKiBIYW5kbGUgZXJyb3IgY2FzZTogImNvbG9yOiAjOyIgKi8KLSAgfCBWQVJGVU5DVElP
TiBtYXliZV9zcGFjZSBJREVOVCAnKScgbWF5YmVfc3BhY2UgewotI2lmIEVOQUJMRV9DU1NfVkFS
SUFCTEVTCi0gICAgICAkJC5pZCA9IDA7Ci0gICAgICAkJC5zdHJpbmcgPSAkMzsKLSAgICAgICQk
LnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU7Ci0jZW5kaWYKLSAg
fQogICAvKiBGSVhNRTogYWNjb3JkaW5nIHRvIHRoZSBzcGVjcyBhIGZ1bmN0aW9uIGNhbiBoYXZl
IGEgdW5hcnlfb3BlcmF0b3IgaW4gZnJvbnQuIEkga25vdyBubyBjYXNlIHdoZXJlIHRoaXMgbWFr
ZXMgc2Vuc2UgKi8KICAgfCBmdW5jdGlvbiB7CiAgICAgICAkJCA9ICQxOwpAQCAtMTg0OCwxMyAr
MTgyOCw2IEBAIGZ1bmN0aW9uOgogIAogY2FsY19mdW5jX3Rlcm06CiAgIHVuYXJ5X3Rlcm0geyAk
JCA9ICQxOyB9Ci0gIHwgVkFSRlVOQ1RJT04gbWF5YmVfc3BhY2UgSURFTlQgJyknIG1heWJlX3Nw
YWNlIHsKLSNpZiBFTkFCTEVfQ1NTX1ZBUklBQkxFUwotICAgICAgJCQuaWQgPSAwOwotICAgICAg
JCQuc3RyaW5nID0gJDM7Ci0gICAgICAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19W
QVJJQUJMRV9OQU1FOwotI2VuZGlmCi0gIH0KICAgfCB1bmFyeV9vcGVyYXRvciB1bmFyeV90ZXJt
IHsgJCQgPSAkMjsgJCQuZlZhbHVlICo9ICQxOyB9CiAgIDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAppbmRleCA3Mjg5NjcyLi5hYjdiNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtNTMsOSArNTMsNiBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRl
ICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJsZVZhbHVlLmgiCi0jZW5kaWYKICNp
bmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGbG9h
dENvbnZlcnNpb24uaCIKQEAgLTI2MCw5ICsyNTcsNiBAQCBDU1NQYXJzZXJDb250ZXh0OjpDU1NQ
YXJzZXJDb250ZXh0KENTU1BhcnNlck1vZGUgbW9kZSwgY29uc3QgS1VSTCYgYmFzZVVSTCkKICAg
ICAsIGlzQ1NTUmVnaW9uc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0NvbXBvc2l0aW5nRW5h
YmxlZChmYWxzZSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZmFsc2UpCi0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZmFsc2UpCi0j
ZW5kaWYKICAgICAsIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGZhbHNlKQogICAgICwgZW5mb3Jj
ZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlKHRydWUpCiAgICAgLCB1c2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGZhbHNlKQpAQCAtMjc5LDkgKzI3Myw2IEBAIENTU1Bh
cnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBL
VVJMJiBiYXNlVVJMLCBjb25zCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGRvY3VtZW50LT5j
c3NSZWdpb25zRW5hYmxlZCgpKQogICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZG9jdW1l
bnQtPmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpKQogICAgICwgaXNDU1NHcmlkTGF5b3V0RW5hYmxl
ZChkb2N1bWVudC0+Y3NzR3JpZExheW91dEVuYWJsZWQoKSkKLSNpZiBFTkFCTEUoQ1NTX1ZBUklB
QkxFUykKLSAgICAsIGlzQ1NTVmFyaWFibGVzRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/
IGRvY3VtZW50LT5zZXR0aW5ncygpLT5jc3NWYXJpYWJsZXNFbmFibGVkKCkgOiBmYWxzZSkKLSNl
bmRpZgogICAgICwgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZG9jdW1lbnQtPnNldHRpbmdzKCkg
PyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+bmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSA6IGZhbHNl
KQogICAgICwgZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlKCFkb2N1bWVudC0+c2V0
dGluZ3MoKSB8fCBkb2N1bWVudC0+c2V0dGluZ3MoKS0+ZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1
aXJrc01vZGUoKSkKICAgICAsIHVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3IoZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+dXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpIDogZmFsc2UpCkBAIC0yOTksOSArMjkw
LDYgQEAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGEsIGNvbnN0IENT
U1BhcnNlckNvbnRleHQmIGIpCiAgICAgICAgICYmIGEuaXNDU1NSZWdpb25zRW5hYmxlZCA9PSBi
LmlzQ1NTUmVnaW9uc0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0NvbXBvc2l0aW5nRW5hYmxl
ZCA9PSBiLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkCiAgICAgICAgICYmIGEuaXNDU1NHcmlkTGF5
b3V0RW5hYmxlZCA9PSBiLmlzQ1NTR3JpZExheW91dEVuYWJsZWQKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICAgICAgJiYgYS5pc0NTU1ZhcmlhYmxlc0VuYWJsZWQgPT0gYi5pc0NTU1Zh
cmlhYmxlc0VuYWJsZWQKLSNlbmRpZgogICAgICAgICAmJiBhLm5lZWRzU2l0ZVNwZWNpZmljUXVp
cmtzID09IGIubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MKICAgICAgICAgJiYgYS5lbmZvcmNlc0NT
U01JTUVUeXBlSW5Ob1F1aXJrc01vZGUgPT0gYi5lbmZvcmNlc0NTU01JTUVUeXBlSW5Ob1F1aXJr
c01vZGUKICAgICAgICAgJiYgYS51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2
aW9yID09IGIudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKQEAgLTEy
ODUsMjUgKzEyNzMsNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJz
ZUZvbnRGYWNlVmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbgogICAgIHJldHVybiBzdGF0
aWNfcG9pbnRlcl9jYXN0PENTU1ZhbHVlTGlzdD4oZHVtbXlTdHlsZS0+Z2V0UHJvcGVydHlDU1NW
YWx1ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkpKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQotYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoU3R5bGVQcm9wZXJ0eVNldCogZGVjbGFy
YXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJv
b2wgaW1wb3J0YW50LCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgQVNTRVJUKCFzdHJpbmcu
aXNFbXB0eSgpKTsKLQotICAgIENTU1BhcnNlckNvbnRleHQgY29udGV4dChkb2N1bWVudCk7Ci0K
LSAgICBpZiAocGFyc2VTaW1wbGVMZW5ndGhWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwg
c3RyaW5nLCBpbXBvcnRhbnQsIGNvbnRleHQubW9kZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwot
ICAgIGlmIChwYXJzZUNvbG9yVmFsdWUoZGVjbGFyYXRpb24sIHByb3BlcnR5SUQsIHN0cmluZywg
aW1wb3J0YW50LCBjb250ZXh0Lm1vZGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAo
cGFyc2VLZXl3b3JkVmFsdWUoZGVjbGFyYXRpb24sIHByb3BlcnR5SUQsIHN0cmluZywgaW1wb3J0
YW50LCBjb250ZXh0KSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDU1NQYXJzZXIgcGFy
c2VyKGNvbnRleHQpOwotICAgIHJldHVybiBwYXJzZXIucGFyc2VWYWx1ZShkZWNsYXJhdGlvbiwg
cHJvcGVydHlJRCwgc3RyaW5nLCBpbXBvcnRhbnQsIHN0YXRpY19jYXN0PFN0eWxlU2hlZXRDb250
ZW50cyo+KDApKTsKLX0KLSNlbmRpZgotCiBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShTdHls
ZVByb3BlcnR5U2V0KiBkZWNsYXJhdGlvbiwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25z
dCBTdHJpbmcmIHN0cmluZywgYm9vbCBpbXBvcnRhbnQsIENTU1BhcnNlck1vZGUgY3NzUGFyc2Vy
TW9kZSwgU3R5bGVTaGVldENvbnRlbnRzKiBjb250ZXh0U3R5bGVTaGVldCkKIHsKICAgICBBU1NF
UlQoIXN0cmluZy5pc0VtcHR5KCkpOwpAQCAtMTQ5NSwyNyArMTQ2NCwxMyBAQCBQYXNzT3duUHRy
PE1lZGlhUXVlcnk+IENTU1BhcnNlcjo6cGFyc2VNZWRpYVF1ZXJ5KGNvbnN0IFN0cmluZyYgc3Ry
aW5nKQogICAgIHJldHVybiBtX21lZGlhUXVlcnkucmVsZWFzZSgpOwogfQogCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi1zdGF0aWMgaW5saW5lIHZvaWQgZmlsdGVyUHJvcGVydGllcyhib29s
IGltcG9ydGFudCwgY29uc3QgQ1NTUGFyc2VyOjpQYXJzZWRQcm9wZXJ0eVZlY3RvciYgaW5wdXQs
IFZlY3RvcjxDU1NQcm9wZXJ0eSwgMjU2PiYgb3V0cHV0LCBzaXplX3QmIHVudXNlZEVudHJpZXMs
IEJpdEFycmF5PG51bUNTU1Byb3BlcnRpZXM+JiBzZWVuUHJvcGVydGllcywgSGFzaFNldDxBdG9t
aWNTdHJpbmc+JiBzZWVuVmFyaWFibGVzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWx0
ZXJQcm9wZXJ0aWVzKGJvb2wgaW1wb3J0YW50LCBjb25zdCBDU1NQYXJzZXI6OlBhcnNlZFByb3Bl
cnR5VmVjdG9yJiBpbnB1dCwgVmVjdG9yPENTU1Byb3BlcnR5LCAyNTY+JiBvdXRwdXQsIHNpemVf
dCYgdW51c2VkRW50cmllcywgQml0QXJyYXk8bnVtQ1NTUHJvcGVydGllcz4mIHNlZW5Qcm9wZXJ0
aWVzKQotI2VuZGlmCiB7CiAgICAgLy8gQWRkIHByb3BlcnRpZXMgaW4gcmV2ZXJzZSBvcmRlciBz
byB0aGF0IGhpZ2hlc3QgcHJpb3JpdHkgZGVmaW5pdGlvbnMgYXJlIHJlYWNoZWQgZmlyc3QuIER1
cGxpY2F0ZSBkZWZpbml0aW9ucyBjYW4gdGhlbiBiZSBpZ25vcmVkIHdoZW4gZm91bmQuCiAgICAg
Zm9yIChpbnQgaSA9IGlucHV0LnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgIGNv
bnN0IENTU1Byb3BlcnR5JiBwcm9wZXJ0eSA9IGlucHV0W2ldOwogICAgICAgICBpZiAocHJvcGVy
dHkuaXNJbXBvcnRhbnQoKSAhPSBpbXBvcnRhbnQpCiAgICAgICAgICAgICBjb250aW51ZTsKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgaWYgKHByb3BlcnR5LmlkKCkgPT0gQ1NT
UHJvcGVydHlWYXJpYWJsZSkgewotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
ID0gc3RhdGljX2Nhc3Q8Q1NTVmFyaWFibGVWYWx1ZSo+KHByb3BlcnR5LnZhbHVlKCkpLT5uYW1l
KCk7Ci0gICAgICAgICAgICBpZiAoc2VlblZhcmlhYmxlcy5jb250YWlucyhuYW1lKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHNlZW5WYXJpYWJsZXMuYWRkKG5hbWUp
OwotICAgICAgICAgICAgb3V0cHV0Wy0tdW51c2VkRW50cmllc10gPSBwcm9wZXJ0eTsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgcHJvcGVydHlJREluZGV4ID0gcHJvcGVydHkuaWQoKSAtIGZpcnN0Q1NTUHJvcGVydHk7CiAg
ICAgICAgIGlmIChzZWVuUHJvcGVydGllcy5nZXQocHJvcGVydHlJREluZGV4KSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTUzMSwxNCArMTQ4Niw4IEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9w
ZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVTdHlsZVByb3BlcnR5U2V0KCkKICAgICBWZWN0b3I8
Q1NTUHJvcGVydHksIDI1Nj4gcmVzdWx0cyh1bnVzZWRFbnRyaWVzKTsKIAogICAgIC8vIEltcG9y
dGFudCBwcm9wZXJ0aWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LCBzbyBhZGQgdGhlbSBmaXJzdC4g
RHVwbGljYXRlIGRlZmluaXRpb25zIGNhbiB0aGVuIGJlIGlnbm9yZWQgd2hlbiBmb3VuZC4KLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2VlblZh
cmlhYmxlczsKLSAgICBmaWx0ZXJQcm9wZXJ0aWVzKHRydWUsIG1fcGFyc2VkUHJvcGVydGllcywg
cmVzdWx0cywgdW51c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMsIHNlZW5WYXJpYWJsZXMpOwot
ICAgIGZpbHRlclByb3BlcnRpZXMoZmFsc2UsIG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywg
dW51c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMsIHNlZW5WYXJpYWJsZXMpOwotI2Vsc2UKICAg
ICBmaWx0ZXJQcm9wZXJ0aWVzKHRydWUsIG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywgdW51
c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMpOwogICAgIGZpbHRlclByb3BlcnRpZXMoZmFsc2Us
IG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywgdW51c2VkRW50cmllcywgc2VlblByb3BlcnRp
ZXMpOwotI2VuZGlmCiAgICAgaWYgKHVudXNlZEVudHJpZXMpCiAgICAgICAgIHJlc3VsdHMucmVt
b3ZlKDAsIHVudXNlZEVudHJpZXMpOwogCkBAIC0xNjE5LDExICsxNTY4LDYgQEAgYm9vbCBDU1NQ
YXJzZXI6OnZhbGlkQ2FsY3VsYXRpb25Vbml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMg
dW5pdGZsYWdzLCBSZWwKICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgogICAgICAgICBiID0g
KHVuaXRmbGFncyAmIEZQZXJjZW50KSAmJiAodW5pdGZsYWdzICYgRk51bWJlcik7CiAgICAgICAg
IGJyZWFrOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ2FsY1ZhcmlhYmxl
OgotICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICBjYXNlIENh
bGNPdGhlcjoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTY0NSwxMiArMTU4OSw2IEBAIGJv
b2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0
ZmxhZ3MsIENTU1BhcnNlck1vZGUKICAgICAgICAgCiAgICAgYm9vbCBiID0gZmFsc2U7CiAgICAg
c3dpdGNoICh2YWx1ZS0+dW5pdCkgewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FOgotICAgICAgICAvLyBWYXJp
YWJsZXMgYXJlIGNoZWNrZWQgYXQgdGhlIHBvaW50IHRoZXkgYXJlIGRlcmVmZXJlbmNlZCBiZWNh
dXNlIHVuaXQgdHlwZSBpcyBub3QgYXZhaWxhYmxlIGhlcmUuCi0gICAgICAgIGIgPSB0cnVlOwot
ICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVI6CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7CiAgICAgICAgIGlmICgh
YiAmJiBzaG91bGRBY2NlcHRVbml0TGVzc1ZhbHVlcyh2YWx1ZSwgdW5pdGZsYWdzLCBjc3NQYXJz
ZXJNb2RlKSkgewpAQCAtMTcxMywxMSArMTY1MSw2IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVu
aXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIENTU1BhcnNlck1vZGUK
IAogaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRl
UHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKIHsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAodmFsdWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19WQVJJQUJMRV9OQU1FKQotICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFy
aWFibGVOYW1lVmFsdWUodmFsdWUpOwotI2VuZGlmCi0KICAgICBpZiAobV9wYXJzZWRDYWxjdWxh
dGlvbikgewogICAgICAgICBBU1NFUlQoaXNDYWxjdWxhdGlvbih2YWx1ZSkpOwogICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVh
c2UoKSk7CkBAIC0xNzQyLDE1ICsxNjc1LDYgQEAgaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGEKICAg
ICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUodmFsdWUtPnN0cmluZywgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci1pbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQ
cmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCi17Ci0gICAg
QVNTRVJUKHZhbHVlLT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFN
RSk7Ci0gICAgQXRvbWljU3RyaW5nIHZhcmlhYmxlTmFtZSA9IFN0cmluZyh2YWx1ZS0+c3RyaW5n
KS5sb3dlcigpOwotICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhcmlhYmxl
TmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKTsKLX0KLSNlbmRpZgot
CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNDb21tYShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCiB7IAog
ICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0
b3IgJiYgdmFsdWUtPmlWYWx1ZSA9PSAnLCc7IApAQCAtMTc5NSwxMCArMTcxOSw2IEBAIGlubGlu
ZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmlt
aXRpdmUoaW50IGlkZW50aWZpCiAgICAgaWYgKHZhbHVlLT51bml0ID49IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfRFBQWCAmJiB2YWx1ZS0+dW5pdCA8PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RQ
Q00pCiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWUpOwog
I2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKHZhbHVlLT51bml0ID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRSkKLSAgICAgICAgcmV0dXJuIGNy
ZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKHZhbHVlKTsKLSNlbmRpZgogICAgIGlmICh2
YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAgICAgICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2YWx1ZS0+ZlZhbHVlLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CiAgICAgaWYgKGlzQ2FsY3VsYXRpb24odmFsdWUp
KQpAQCAtMTg1NCwxNSArMTc3NCw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1By
b3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKCFpZCAmJiB2YWx1ZS0+
dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUUgJiYgbnVtID09IDEp
IHsKLSAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5h
bWVWYWx1ZSh2YWx1ZSksIGltcG9ydGFudCk7Ci0gICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBBU1NFUlQocHJvcElkICE9IENTU1By
b3BlcnR5VmFyaWFibGUpOwotI2VuZGlmCi0KICAgICBpZiAoaXNLZXl3b3JkUHJvcGVydHlJRChw
cm9wSWQpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZEtleXdvcmRQcm9wZXJ0eUFuZFZhbHVlKHBy
b3BJZCwgaWQsIG1fY29udGV4dCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMDAw
LDkgKzI5MTEsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0VW5kZXJsaW5lU3R5bGU6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVZp
c2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFwcGVhcmFuY2U6CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eToKQEAgLTMyODYsMzYgKzMxOTQs
NiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGaWxsU2hvcnRoYW5kKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBjb25zdCBDU1NQcm9wZXJ0eUlEKiBwcgogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi1ib29sIENTU1BhcnNlcjo6Y3NzVmFyaWFibGVzRW5hYmxl
ZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7
Ci19Ci0KLXZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24oY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gdmFsdWUs
IGJvb2wgaW1wb3J0YW50KQotewotICAgIC8vIFdoZW4gQ1NTR3JhbW1hci55IGVuY291bnRlcnMg
YW4gaW52YWxpZCBkZWNsYXJhdGlvbiBpdCBwYXNzZXMgbnVsbCBmb3IgdGhlIENTU1BhcnNlclZh
bHVlTGlzdCwganVzdCBiYWlsLgotICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybjsKLSAg
ICAKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcHJlZml4TGVuZ3RoID0gc2l6ZW9mKCItd2Vi
a2l0LXZhci0iKSAtIDE7Ci0gICAgCi0gICAgQVNTRVJUKG5hbWUubGVuZ3RoKCkgPiBwcmVmaXhM
ZW5ndGgpOwotICAgIEF0b21pY1N0cmluZyB2YXJpYWJsZU5hbWUgPSBuYW1lLmxvd2VyU3Vic3Ry
aW5nKHByZWZpeExlbmd0aCwgbmFtZS5sZW5ndGgoKSAtIHByZWZpeExlbmd0aCk7Ci0KLSAgICBT
dHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHZh
bHVlLT5zaXplKCk7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgaWYgKGkpCi0gICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVl
ID0gdmFsdWUtPnZhbHVlQXQoaSktPmNyZWF0ZUNTU1ZhbHVlKCk7Ci0gICAgICAgIGlmICghY3Nz
VmFsdWUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKGNzc1Zh
bHVlLT5jc3NUZXh0KCkpOwotICAgIH0KLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVZhcmlh
YmxlLCBDU1NWYXJpYWJsZVZhbHVlOjpjcmVhdGUodmFyaWFibGVOYW1lLCBidWlsZGVyLnRvU3Ry
aW5nKCkubG93ZXIoKSksIGltcG9ydGFudCwgZmFsc2UpOwotfQotI2VuZGlmCi0KIHZvaWQgQ1NT
UGFyc2VyOjphZGRBbmltYXRpb25WYWx1ZShSZWZQdHI8Q1NTVmFsdWU+JiBsdmFsLCBQYXNzUmVm
UHRyPENTU1ZhbHVlPiBydmFsKQogewogICAgIGlmIChsdmFsKSB7CkBAIC02NDIyLDExICs2MzAw
LDYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdChDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgLy8gRGlyZWN0aW9uIGNvbWVzIGZpcnN0LgogICAgIENTU1Bh
cnNlclZhbHVlKiB2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwogICAgIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gZGlyZWN0aW9uOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IGlmICh2YWwtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKQot
ICAgICAgICBkaXJlY3Rpb24gPSBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZSh2YWwp
OwotICAgIGVsc2UKLSNlbmRpZgogICAgIHN3aXRjaCAodmFsLT5pZCkgewogICAgICAgICBjYXNl
IENTU1ZhbHVlQWJvdmU6CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVCZWxvdzoKQEAgLTEwMzQyLDEw
ICsxMDIxNSw2IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2VuKGludCBs
ZW5ndGgpCiAgICAgICAgICAgICBtX3Rva2VuID0gTUlORlVOQ1RJT047CiAgICAgICAgIGVsc2Ug
aWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxMF0sICd4JykgJiYgaXNFcXVhbFRv
Q1NTSWRlbnRpZmllcihuYW1lICsgMSwgIndlYmtpdC1tYSIpKQogICAgICAgICAgICAgbV90b2tl
biA9IE1BWEZVTkNUSU9OOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBlbHNl
IGlmIChjc3NWYXJpYWJsZXNFbmFibGVkKCkgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChu
YW1lWzEwXSwgJ3InKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0
LXZhIikpCi0gICAgICAgICAgICBtX3Rva2VuID0gVkFSRlVOQ1RJT047Ci0jZW5kaWYKICAgICB9
IGVsc2UgaWYgKGxlbmd0aCA9PSAxMiAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAx
LCAid2Via2l0LWNhbGMiKSkKICAgICAgICAgbV90b2tlbiA9IENBTENGVU5DVElPTjsKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKQEAgLTEwNzk3LDExICsxMDY2Niw2IEBAIHJlc3RhcnRBZnRlckNv
bW1lbnQ6CiAgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCByZXN1bHRTdHJpbmcs
IGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURFTlQ7CiAKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICAgICAgICAgIGlmIChjc3NWYXJpYWJsZXNFbmFibGVkKCkgJiYg
aXNFcXVhbFRvQ1NTSWRlbnRpZmllcih0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAx
LCAid2Via2l0LXZhciIpICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxMV0gPT0g
Jy0nICYmIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSArIDEyKSkKLSAgICAgICAgICAgICAgICBtX3Rva2VuID0gVkFSX0RFRklOSVRJT047
Ci0gICAgICAgICAgICBlbHNlCi0jZW5kaWYKICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcoJykgewogICAgICAgICAgICAgICAgIG1fdG9r
ZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAppbmRleCBiMDRjNWU1Li4zMmI5MzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CkBAIC0xMTIsMTIgKzExMiw2IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQ29udGVudChDU1NQ
cm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZVF1b3RlcyhDU1NQcm9w
ZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICBzdGF0aWMgYm9vbCBwYXJzZVZhbHVlKFN0eWxlUHJvcGVydHlTZXQqLCBDU1NQcm9wZXJ0eUlE
LCBjb25zdCBTdHJpbmcmLCBib29sIGltcG9ydGFudCwgRG9jdW1lbnQqKTsKLSAgICBib29sIGNz
c1ZhcmlhYmxlc0VuYWJsZWQoKSBjb25zdDsKLSAgICB2b2lkIHN0b3JlVmFyaWFibGVEZWNsYXJh
dGlvbihjb25zdCBDU1NQYXJzZXJTdHJpbmcmLCBQYXNzT3duUHRyPENTU1BhcnNlclZhbHVlTGlz
dD4sIGJvb2wgaW1wb3J0YW50KTsKLSNlbmRpZgotCiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
cGFyc2VBdHRyKENTU1BhcnNlclZhbHVlTGlzdCogYXJncyk7CiAKICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlPiBwYXJzZUJhY2tncm91bmRDb2xvcigpOwpAQCAtNDM3LDkgKzQzMSw2IEBAIHB1Ymxp
YzoKIAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51
bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
Y3JlYXRlUHJpbWl0aXZlVmFyaWFibGVOYW1lVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLSNlbmRp
ZgogCiAgICAgc3RhdGljIEtVUkwgY29tcGxldGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlck1vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgKaW5kZXgg
MDU0NzExZS4uM2IzNmUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ck1vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCkBAIC02OSw5
ICs2OSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgYm9v
bCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBib29sIGlzQ1NTR3JpZExheW91dEVuYWJs
ZWQ7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgYm9vbCBpc0NTU1ZhcmlhYmxlc0Vu
YWJsZWQ7Ci0jZW5kaWYKICAgICBib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIGJv
b2wgZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlOwogICAgIGJvb2wgdXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHAKaW5kZXggMGFjNTJiMi4uZGQ1MjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKQEAgLTI1LDkgKzI1LDYgQEAKICNpbmNsdWRlICJDU1NGdW5jdGlv
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ckxpc3QuaCIKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJs
ZVZhbHVlLmgiCi0jZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04Nyw5ICs4NCw2
IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSgp
CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGZWYWx1ZSwgaXNJbnQg
PyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSIDogQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkc6
CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSToKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRToK
LSNlbmRpZgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I6
CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0cmluZywgcHJpbWl0
aXZlVW5pdCk7CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCBhY2Q3ODc3Li40OWYy
NGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTEyMSw5
ICsxMjEsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91Ymxl
Q29udmVyc2lvbihDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdAogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19VTklDT0RFX1JBTkdFOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19VTktOT1dOOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkk6Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklB
QkxFX05BTUU6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMTk3
LDEwICsxOTQsNiBAQCB1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZl
VHlwZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENf
UEVSQ0VOVEFHRV9XSVRIX05VTUJFUjsKICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAg
ICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9M
RU5HVEg7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDYWxjVmFyaWFibGU6
Ci0gICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047IC8vIFRoZSB0
eXBlIG9mIGEgY2FsY3VsYXRpb24gY29udGFpbmluZyBhIHZhcmlhYmxlIGNhbm5vdCBiZSBrbm93
biB1bnRpbCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGRldGVybWluZWQuCi0jZW5kaWYK
ICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfVU5LTk9XTjsKICAgICB9CkBAIC0zODUsOSArMzc4LDYgQEAgdm9pZCBDU1NQcmltaXRpdmVW
YWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NfVVJJOgogICAgIGNhc2UgQ1NTX0FUVFI6CiAg
ICAgY2FzZSBDU1NfQ09VTlRFUl9OQU1FOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IGNhc2UgQ1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYKICAgICBjYXNlIENTU19QQVJTRVJfSEVY
Q09MT1I6CiAgICAgICAgIGlmIChtX3ZhbHVlLnN0cmluZykKICAgICAgICAgICAgIG1fdmFsdWUu
c3RyaW5nLT5kZXJlZigpOwpAQCAtNzY2LDkgKzc1Niw2IEBAIFN0cmluZyBDU1NQcmltaXRpdmVW
YWx1ZTo6Z2V0U3RyaW5nVmFsdWUoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgICAgIGNh
c2UgQ1NTX1NUUklORzoKICAgICAgICAgY2FzZSBDU1NfQVRUUjoKICAgICAgICAgY2FzZSBDU1Nf
VVJJOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJM
RV9OQU1FOgotI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS5zdHJpbmc7CiAgICAg
ICAgIGNhc2UgQ1NTX0lERU5UOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JQcm9wZXJ0eU5h
bWUobV92YWx1ZS5pZGVudCk7CkBAIC03ODYsOSArNzczLDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2
ZVZhbHVlOjpnZXRTdHJpbmdWYWx1ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTX1NUUklORzoK
ICAgICAgICAgY2FzZSBDU1NfQVRUUjoKICAgICAgICAgY2FzZSBDU1NfVVJJOgotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlm
CiAgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS5zdHJpbmc7CiAgICAgICAgIGNhc2UgQ1NTX0lE
RU5UOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JQcm9wZXJ0eU5hbWUobV92YWx1ZS5pZGVu
dCk7CkBAIC0xMTE2LDExICsxMTAwLDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0
b21Dc3NUZXh0KCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NfVk1BWDoKICAgICAgICAgICAgIHRl
eHQgPSBmb3JtYXROdW1iZXIobV92YWx1ZS5udW0sICJ2bWF4Iik7CiAgICAgICAgICAgICBicmVh
azsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBDU1NfVkFSSUFCTEVf
TkFNRToKLSAgICAgICAgICAgIHRleHQgPSAiLXdlYmtpdC12YXIoIiArIFN0cmluZyhtX3ZhbHVl
LnN0cmluZykgKyAiKSI7Ci0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIH0KIAogICAg
IEFTU0VSVCghY3NzVGV4dENhY2hlKCkuY29udGFpbnModGhpcykpOwpAQCAtMTEyOSw0MCArMTEw
OCw2IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAg
ICAgcmV0dXJuIHRleHQ7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAg
aWYgKGlzVmFyaWFibGVOYW1lKCkgJiYgdmFyaWFibGVzLmNvbnRhaW5zKG1fdmFsdWUuc3RyaW5n
KSkKLSAgICAgICAgcmV0dXJuIHZhcmlhYmxlcy5nZXQobV92YWx1ZS5zdHJpbmcpOwotICAgIGlm
IChDU1NDYWxjVmFsdWUqIGNhbGNWYWx1ZSA9IGNzc0NhbGNWYWx1ZSgpKQotICAgICAgICByZXR1
cm4gY2FsY1ZhbHVlLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KTsKLSAgICBpZiAoUGFpciogcGFpclZhbHVlID0gZ2V0UGFpclZhbHVlKCkpCi0gICAgICAgIHJl
dHVybiBwYWlyVmFsdWUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwot
ICAgIGlmIChSZWN0KiByZWN0VmFsID0gZ2V0UmVjdFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBy
ZWN0VmFsLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBpZiAo
UXVhZCogcXVhZFZhbCA9IGdldFF1YWRWYWx1ZSgpKQotICAgICAgICByZXR1cm4gcXVhZFZhbC0+
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgaWYgKENTU0Jhc2lj
U2hhcGUqIHNoYXBlVmFsdWUgPSBnZXRTaGFwZVZhbHVlKCkpCi0gICAgICAgIHJldHVybiBzaGFw
ZVZhbHVlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICByZXR1
cm4gY3VzdG9tQ3NzVGV4dCgpOwotfQotCi1ib29sIENTU1ByaW1pdGl2ZVZhbHVlOjpoYXNWYXJp
YWJsZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgaWYgKENTU0NhbGNWYWx1ZSogY2FsY1ZhbHVl
ID0gY3NzQ2FsY1ZhbHVlKCkpCi0gICAgICAgIHJldHVybiBjYWxjVmFsdWUtPmhhc1ZhcmlhYmxl
UmVmZXJlbmNlKCk7Ci0gICAgaWYgKFBhaXIqIHBhaXJWYWx1ZSA9IGdldFBhaXJWYWx1ZSgpKQot
ICAgICAgICByZXR1cm4gcGFpclZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIGlm
IChRdWFkKiBxdWFkVmFsdWUgPSBnZXRRdWFkVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHF1YWRW
YWx1ZS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICBpZiAoUmVjdCogcmVjdFZhbHVlID0g
Z2V0UmVjdFZhbHVlKCkpCi0gICAgICAgIHJldHVybiByZWN0VmFsdWUtPmhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCk7Ci0gICAgaWYgKENTU0Jhc2ljU2hhcGUqIHNoYXBlVmFsdWUgPSBnZXRTaGFwZVZh
bHVlKCkpCi0gICAgICAgIHJldHVybiBzaGFwZVZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
OwotICAgIHJldHVybiBpc1ZhcmlhYmxlTmFtZSgpOwotfQotI2VuZGlmCi0KIHZvaWQgQ1NTUHJp
bWl0aXZlVmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1
cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAg
aWYgKG1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1VSSSkKQEAgLTEzMjgsOSArMTI3Myw2IEBA
IGJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYg
b3RoZXIpIGNvbnN0CiAgICAgY2FzZSBDU1NfQ09VTlRFUl9OQU1FOgogICAgIGNhc2UgQ1NTX1BB
UlNFUl9JREVOVElGSUVSOgogICAgIGNhc2UgQ1NTX1BBUlNFUl9IRVhDT0xPUjoKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlmCiAg
ICAgICAgIHJldHVybiBlcXVhbChtX3ZhbHVlLnN0cmluZywgb3RoZXIubV92YWx1ZS5zdHJpbmcp
OwogICAgIGNhc2UgQ1NTX0NPVU5URVI6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlLmNvdW50ZXIg
JiYgb3RoZXIubV92YWx1ZS5jb3VudGVyICYmIG1fdmFsdWUuY291bnRlci0+ZXF1YWxzKCpvdGhl
ci5tX3ZhbHVlLmNvdW50ZXIpOwpAQCAtMTM2OSw5ICsxMzExLDYgQEAgdm9pZCBDU1NQcmltaXRp
dmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamUKICAgICBjYXNlIENTU19QQVJTRVJfSEVYQ09MT1I6CiAgICAgY2FzZSBDU1NfU1RS
SU5HOgogICAgIGNhc2UgQ1NTX1VSSToKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBj
YXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlmCiAgICAgICAgIC8vIEZJWE1FOiBkZXRlY3Qg
b3RoZXIgY2FzZXMgd2hlbiBtX3ZhbHVlIGlzIFN0cmluZ0ltcGwqCiAgICAgICAgIGluZm8uYWRk
TWVtYmVyKG1fdmFsdWUuc3RyaW5nLCAidmFsdWUuc3RyaW5nIik7CiAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAppbmRleCAxOGQyM2ZhLi41YTU4OWUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApAQCAtMTMwLDEwICsxMzAs
NiBAQCBwdWJsaWM6CiAgICAgICAgIENTU19DQUxDID0gMTEzLAogICAgICAgICBDU1NfQ0FMQ19Q
RVJDRU5UQUdFX1dJVEhfTlVNQkVSID0gMTE0LAogICAgICAgICBDU1NfQ0FMQ19QRVJDRU5UQUdF
X1dJVEhfTEVOR1RIID0gMTE1LAotCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAg
IENTU19WQVJJQUJMRV9OQU1FID0gMTE2LAotI2VuZGlmCiAgICAgfTsKIAogICAgIC8vIFRoaXMg
ZW51bSBmb2xsb3dzIHRoZSBDU1NQYXJzZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5J
VF9GUkVRVUVOQ1kgZm9yIGZyZXF1ZW5jaWVzLgpAQCAtMTkwLDkgKzE4Niw2IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzRG90c1BlclBpeGVsKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVHlwZSgp
ID09IENTU19EUFBYOyB9CiAgICAgYm9vbCBpc0RvdHNQZXJDZW50aW1ldGVyKCkgY29uc3QgeyBy
ZXR1cm4gcHJpbWl0aXZlVHlwZSgpID09IENTU19EUENNOyB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBib29sIGlzVmFyaWFibGVOYW1lKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0
aXZlVHlwZSgpID09IENTU19WQVJJQUJMRV9OQU1FOyB9Ci0jZW5kaWYKICAgICBib29sIGlzVmll
d3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9wcmltaXRpdmVVbml0VHlw
ZSA+PSBDU1NfVlcgJiYgbV9wcmltaXRpdmVVbml0VHlwZSA8PSBDU1NfVk1BWDsgfQogCiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZUlkZW50aWZpZXIoaW50
IGlkZW50aWZpZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NQcmltaXRpdmVWYWx1ZShpZGVu
dGlmaWVyKSk7IH0KQEAgLTMwNiwxMCArMjk5LDYgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGlubGluZSBvcGVyYXRvciBUKCkgY29uc3Q7IC8vIERlZmluZWQgaW4gQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCiAKICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBj
b25zdDsKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAog
ICAgIGJvb2wgaXNRdWlya1ZhbHVlKCkgeyByZXR1cm4gbV9pc1F1aXJrVmFsdWU7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNjZj
MDA4Mi4uN2E3NjFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oCkBAIC00MjE0LDkgKzQyMTQsNiBAQCBlbnVtIExlbmd0aENvbnZlcnNpb24g
ewogCiB0ZW1wbGF0ZTxpbnQgc3VwcG9ydGVkPiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNv
bnZlcnRUb0xlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUs
IGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQogewotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIEFTU0VSVCghaGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci0j
ZW5kaWYKICAgICBpZiAoKHN1cHBvcnRlZCAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4
ZWRGbG9hdENvbnZlcnNpb24pKSAmJiBpc0ZvbnRSZWxhdGl2ZUxlbmd0aCgpICYmICghc3R5bGUg
fHwgIXJvb3RTdHlsZSkpCiAgICAgICAgIHJldHVybiBMZW5ndGgoVW5kZWZpbmVkKTsKICAgICBp
ZiAoKHN1cHBvcnRlZCAmIEZpeGVkSW50ZWdlckNvbnZlcnNpb24pICYmIGlzTGVuZ3RoKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA3NzczNWM0Li4yNTJmZDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50
YXRpb24uaCIKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1Zhcmlh
YmxlVmFsdWUuaCIKLSNlbmRpZgotCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yOTMsOSArMjg5LDYgQEAgYm9vbCBDU1NQcm9w
ZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRT
aGFkb3c6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06Ci0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVZpc2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFz
cGVjdFJhdGlvOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9udGFsU3Bh
Y2luZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggZmEzYjJiZi4uY2MyMjk0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTU3LDkgKzU3LDYgQEAgcHVibGljOgogICAgICAg
ICA6IG1fbWV0YWRhdGEocHJvcGVydHlJRCwgc2hvcnRoYW5kSUQsIGltcG9ydGFudCwgaW1wbGlj
aXQsIGlzSW5oZXJpdGVkUHJvcGVydHkocHJvcGVydHlJRCkpCiAgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKICAgICB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgQVNTRVJUKChwcm9w
ZXJ0eUlEID09IENTU1Byb3BlcnR5VmFyaWFibGUpID09IChtX3ZhbHVlICYmIG1fdmFsdWUtPmlz
VmFyaWFibGVWYWx1ZSgpKSk7Ci0jZW5kaWYKICAgICB9CiAKICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMuCkBAIC02Nyw5ICs2NCw2IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX21ldGFkYXRhKG1l
dGFkYXRhKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgIEFTU0VSVCgobWV0YWRhdGEubV9wcm9wZXJ0eUlEID09IENTU1Byb3Bl
cnR5VmFyaWFibGUpID09IChtX3ZhbHVlICYmIG1fdmFsdWUtPmlzVmFyaWFibGVWYWx1ZSgpKSk7
Ci0jZW5kaWYKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIGlkKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4obV9tZXRhZGF0YS5tX3Byb3BlcnR5SUQpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCmluZGV4IDVmODExN2YuLjg5ZmY0N2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCkBAIC00MSwxNSArNDEsNiBA
QCBTdHJpbmcgQ1NTUmVmbGVjdFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICByZXR1
cm4gbV9kaXJlY3Rpb24tPmNzc1RleHQoKSArICcgJyArIG1fb2Zmc2V0LT5jc3NUZXh0KCk7CiB9
CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmlu
ZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIGlmIChtX21hc2spCi0gICAgICAg
IHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZh
cmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX21hc2stPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpOwotICAgIHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXplUmVz
b2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NS
ZWZsZWN0VmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1
cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAg
aWYgKG1fbWFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaAppbmRleCAwMDJjMzc4
Li4zMWQ5YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5oCkBAIC00OCw5ICs0
OCw2IEBAIHB1YmxpYzoKICAgICBDU1NWYWx1ZSogbWFzaygpIGNvbnN0IHsgcmV0dXJuIG1fbWFz
ay5nZXQoKTsgfQogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFy
aWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7Ci0jZW5k
aWYKIAogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4m
LCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAKaW5kZXggYzhmOTc5OC4uYjY4NTU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC00
Nyw5ICs0Nyw2IEBACiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCi0j
aWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NTVmFyaWFibGVWYWx1ZS5oIgot
I2VuZGlmCiAjaW5jbHVkZSAiRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAiRm9udEZlYXR1cmVWYWx1
ZS5oIgogI2luY2x1ZGUgIlNoYWRvd1ZhbHVlLmgiCkBAIC0yNDAsMTEgKzIzNyw2IEBAIHZvaWQg
Q1NTVmFsdWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1NoYWRlclZh
bHVlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0g
ICAgY2FzZSBWYXJpYWJsZUNsYXNzOgotICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBDU1NWYXJp
YWJsZVZhbHVlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmpl
Y3RJbmZvKTsKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBj
YXNlIFNWR0NvbG9yQ2xhc3M6CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFNWR0NvbG9yKj4o
dGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKQEAg
LTM1NywxMCArMzQ5LDYgQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBv
dGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPFdlYktpdENT
U1NoYWRlclZhbHVlPigqdGhpcywgb3RoZXIpOwogI2VuZGlmCiAjZW5kaWYKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBWYXJpYWJsZUNsYXNzOgotICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTVmFyaWFibGVWYWx1ZT4oKnRoaXMsIG90aGVyKTsK
LSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKICAg
ICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPFNWR0NvbG9yPigqdGhpcywgb3RoZXIp
OwpAQCAtNDU1LDEwICs0NDMsNiBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTU2hhZGVyVmFsdWUqPih0
aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogI2VuZGlmCiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NWYXJpYWJsZVZhbHVlKj4odGhpcyktPnZhbHVlKCk7Ci0jZW5kaWYKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFNWR0NvbG9yKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKQEAgLTQ3
MiwyNCArNDU2LDYgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NW
YWx1ZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3Ry
aW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgc3dpdGNoIChjbGFzc1R5cGUo
KSkgewotICAgIGNhc2UgUHJpbWl0aXZlQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZp
bmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBjYXNlIFJlZmxlY3RDbGFzczoKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1JlZmxlY3RWYWx1ZSo+KHRoaXMpLT5jdXN0b21T
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBjYXNlIFZhbHVlTGlz
dENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTVmFsdWVMaXN0Kj4o
dGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAg
IGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gY3NzVGV4dCgpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIENTU1ZhbHVlOjpkZXN0cm95
KCkKIHsKICAgICBpZiAobV9pc1RleHRDbG9uZSkgewpAQCAtNTk2LDExICs1NjIsNiBAQCB2b2lk
IENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAjZW5kaWYKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAg
IGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NWYXJpYWJsZVZhbHVlKj4odGhpcyk7Ci0gICAgICAgIHJl
dHVybjsKLSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgog
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U1ZHQ29sb3IqPih0aGlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmgKaW5kZXggOGQ1NDI1ZC4uZGUzYzYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTU5
LDkgKzU5LDYgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAgICB2
b2lkIHNldENzc1RleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIHsgfSAvLyBGSVhN
RTogTm90IGltcGxlbWVudGVkLgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmlu
ZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcs
IFN0cmluZz4mKSBjb25zdDsKLSNlbmRpZgogCiAgICAgYm9vbCBpc1ByaW1pdGl2ZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gUHJpbWl0aXZlQ2xhc3M7IH0KICAgICBib29s
IGlzVmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gVmFsdWVMaXN0Q2xh
c3M7IH0KQEAgLTk5LDkgKzk2LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNXZWJLaXRDU1NTaGFk
ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU1NoYWRlckNs
YXNzOyB9CiAjZW5kaWYKICNlbmRpZiAvLyBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgYm9vbCBpc1ZhcmlhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX2NsYXNzVHlwZSA9PSBWYXJpYWJsZUNsYXNzOyB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoU1ZH
KQogICAgIGJvb2wgaXNTVkdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNW
R0NvbG9yQ2xhc3MgfHwgbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsgfQogICAgIGJvb2wg
aXNTVkdQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNWR1BhaW50Q2xhc3M7
IH0KQEAgLTE2OCw5ICsxNjIsNiBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKENTU19GSUxURVJT
KSAmJiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgICAgIFdlYktpdENTU1NoYWRlckNsYXNzLAog
I2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIFZhcmlhYmxlQ2xhc3Ms
Ci0jZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogICAgICAgICBTVkdDb2xvckNsYXNzLAogICAgICAg
ICBTVkdQYWludENsYXNzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAppbmRleCBmNWIx
NzkyLi4zZTM1ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcApAQCAtMTM5LDM2
ICsxMzksNiBAQCBib29sIENTU1ZhbHVlTGlzdDo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhl
cikgY29uc3QKICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUtPmVxdWFscyhvdGhlcik7CiB9CiAK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbVNl
cmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3Ry
aW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAg
IFN0cmluZyBzZXBhcmF0b3I7Ci0gICAgc3dpdGNoIChtX3ZhbHVlTGlzdFNlcGFyYXRvcikgewot
ICAgIGNhc2UgU3BhY2VTZXBhcmF0b3I6Ci0gICAgICAgIHNlcGFyYXRvciA9ICIgIjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDb21tYVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0g
IiwgIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKLSAgICAgICAg
c2VwYXJhdG9yID0gIiAvICI7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHVuc2lnbmVkIHNpemUgPSBtX3Zh
bHVlcy5zaXplKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewot
ICAgICAgICBpZiAoIXJlc3VsdC5pc0VtcHR5KCkpCi0gICAgICAgICAgICByZXN1bHQuYXBwZW5k
KHNlcGFyYXRvcik7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQobV92YWx1ZXNbaV0tPnNlcmlhbGl6
ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmVz
dWx0LnRvU3RyaW5nKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NWYWx1ZUxpc3Q6OmFkZFN1YnJl
c291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBTdHlsZVNoZWV0
Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAgc2l6ZV90IHNpemUgPSBtX3ZhbHVl
cy5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXggMTM2OWZlMS4uZTQ5MmNk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApAQCAtNjIsOSArNjIsNiBAQCBwdWJsaWM6
CiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKICAgICBib29sIGVxdWFscyhjb25z
dCBDU1NWYWx1ZUxpc3QmKSBjb25zdDsKICAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYWx1ZSYp
IGNvbnN0OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmlu
Zz4mKSBjb25zdDsKLSNlbmRpZgogCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhM
aXN0SGFzaFNldDxLVVJMPiYsIGNvbnN0IFN0eWxlU2hlZXRDb250ZW50cyopIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUGFpci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1BhaXIuaAppbmRleCBmYWFkYjIwLi42MjExODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvUGFpci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9QYWlyLmgKQEAgLTU4LDE2ICs1
OCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgZXF1YWxzKGNvbnN0IFBhaXImIG90aGVyKSBjb25z
dCB7IHJldHVybiBjb21wYXJlQ1NTVmFsdWVQdHIobV9maXJzdCwgb3RoZXIubV9maXJzdCkgJiYg
Y29tcGFyZUNTU1ZhbHVlUHRyKG1fc2Vjb25kLCBvdGhlci5tX3NlY29uZCk7IH0KIAotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QK
LSAgICB7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZUNTU1N0cmluZyhmaXJzdCgpLT5jdXN0b21T
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlY29uZCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXModmFyaWFibGVzKSk7Ci0gICAgfQotICAgIAotICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVu
Y2UoKSBjb25zdCB7IHJldHVybiBmaXJzdCgpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpIHx8IHNl
Y29uZCgpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOyB9Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAg
ICBQYWlyKCkgOiBtX2ZpcnN0KDApLCBtX3NlY29uZCgwKSB7IH0KICAgICBQYWlyKFBhc3NSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGZpcnN0LCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBzZWNvbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUmVjdC5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1JlY3QuaAppbmRleCA0MGEyY2ZlLi5mZmIyMGEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SZWN0LmgK
QEAgLTQ3LDE2ICs0Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1
ZVB0cihtX2JvdHRvbSwgb3RoZXIubV9ib3R0b20pOwogICAgIH0KIAotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1fdG9wLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgICAg
ICB8fCBtX3JpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgICAgICB8fCBtX2Jv
dHRvbS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICAgICAgfHwgbV9sZWZ0LT5oYXNW
YXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIH0KLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAgUmVj
dEJhc2UoKSB7IH0KICAgICBSZWN0QmFzZShjb25zdCBSZWN0QmFzZSYgY2xvbmVGcm9tKQpAQCAt
ODcsMTYgKzc3LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJpbmco
dG9wKCktPmNzc1RleHQoKSwgcmlnaHQoKS0+Y3NzVGV4dCgpLCBib3R0b20oKS0+Y3NzVGV4dCgp
LCBsZWZ0KCktPmNzc1RleHQoKSk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0
b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIGdlbmVyYXRlQ1NTU3RyaW5nKHRvcCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgIHJpZ2h0KCktPmN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgYm90dG9tKCktPmN1c3Rv
bVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgbGVm
dCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7Ci0gICAg
fQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgUmVjdCgpIHsgfQogICAgIFJlY3QoY29uc3QgUmVj
dCYgY2xvbmVGcm9tKSA6IFJlY3RCYXNlKGNsb25lRnJvbSksIFJlZkNvdW50ZWQ8UmVjdD4oKSB7
IH0KQEAgLTExNywxNiArOTcsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBnZW5lcmF0ZUNT
U1N0cmluZyh0b3AoKS0+Y3NzVGV4dCgpLCByaWdodCgpLT5jc3NUZXh0KCksIGJvdHRvbSgpLT5j
c3NUZXh0KCksIGxlZnQoKS0+Y3NzVGV4dCgpKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0gICAgewotICAg
ICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJpbmcodG9wKCktPmN1c3RvbVNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgcmlnaHQoKS0+Y3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgICAgICBib3R0b20o
KS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAg
ICAgICBsZWZ0KCktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMp
KTsKLSAgICB9Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBRdWFkKCkgeyB9CiAgICAgUXVhZChj
b25zdCBRdWFkJiBjbG9uZUZyb20pIDogUmVjdEJhc2UoY2xvbmVGcm9tKSwgUmVmQ291bnRlZDxR
dWFkPigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCmluZGV4IGIz
ZGJjMjcuLjkxMDkyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnR5U2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5jcHAK
QEAgLTM0LDEwICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNlbmRpZgot
CiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KQEAgLTc5NywxMyArNzkzLDYgQEAgU3RyaW5nIFN0eWxlUHJvcGVydHlTZXQ6OmFz
VGV4dCgpIGNvbnN0CiAgICAgICAgIFN0cmluZyB2YWx1ZTsKIAogICAgICAgICBzd2l0Y2ggKHBy
b3BlcnR5SUQpIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVZhcmlhYmxlOgotICAgICAgICAgICAgaWYgKG51bURlY2xzKyspCi0gICAgICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZCgnICcpOwotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChwcm9w
ZXJ0eS5jc3NUZXh0KCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0jZW5kaWYKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblg6CiAgICAgICAgICAgICBwb3NpdGlv
blhQcm9wZXJ0eUluZGV4ID0gbjsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTMwMiwxNCAr
MTI5MSw2IEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gU3R5bGVQcm9wZXJ0eVNldDo6
Y3JlYXRlKGNvbnN0IENTU1Byb3BlcnR5KiBwcm9wZXJ0CiAKIFN0cmluZyBTdHlsZVByb3BlcnR5
U2V0OjpQcm9wZXJ0eVJlZmVyZW5jZTo6Y3NzTmFtZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0gICAgaWYgKGlkKCkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkgewotICAg
ICAgICBBU1NFUlQocHJvcGVydHlWYWx1ZSgpLT5pc1ZhcmlhYmxlVmFsdWUoKSk7Ci0gICAgICAg
IGlmICghcHJvcGVydHlWYWx1ZSgpLT5pc1ZhcmlhYmxlVmFsdWUoKSkKLSAgICAgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOyAvLyBTaG91bGQgbm90IGhhcHBlbiwgYnV0IGlmIGl0IGRvZXMs
IGF2b2lkIGEgYmFkIGNhc3QuCi0gICAgICAgIHJldHVybiAiLXdlYmtpdC12YXItIiArIHN0YXRp
Y19jYXN0PGNvbnN0IENTU1ZhcmlhYmxlVmFsdWUqPihwcm9wZXJ0eVZhbHVlKCkpLT5uYW1lKCk7
Ci0gICAgfQotI2VuZGlmCiAgICAgcmV0dXJuIGdldFByb3BlcnR5TmFtZVN0cmluZyhpZCgpKTsK
IH0KIApAQCAtMTMyNSw1ICsxMzA2LDQgQEAgU3RyaW5nIFN0eWxlUHJvcGVydHlTZXQ6OlByb3Bl
cnR5UmVmZXJlbmNlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5n
KCk7CiB9CiAKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCmluZGV4IDIwMjMxY2QuLmI3NGQ1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKQEAgLTQ4LDkgKzQ4LDYgQEAKICNpbmNsdWRlICJDU1NTdXBwb3J0c1J1bGUu
aCIKICNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFs
dWVMaXN0LmgiCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NTVmFyaWFi
bGVWYWx1ZS5oIgotI2VuZGlmCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJD
YWxjdWxhdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKQEAgLTEyMzAsOSAr
MTIyNyw2IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFN0eWxlUmVzb2x2ZXI6OnN0eWxlRm9y
UGFnZShpbnQgcGFnZUluZGV4KQogICAgIGJvb2wgaW5oZXJpdGVkT25seSA9IGZhbHNlOwogCiAg
ICAgTWF0Y2hSZXN1bHQmIHJlc3VsdCA9IGNvbGxlY3Rvci5tYXRjaGVkUmVzdWx0KCk7Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgYXBwbHlNYXRjaGVkUHJvcGVydGllczxWYXJpYWJs
ZURlZmluaXRpb25zPihyZXN1bHQsIGZhbHNlLCAwLCByZXN1bHQubWF0Y2hlZFByb3BlcnRpZXMu
c2l6ZSgpIC0gMSwgaW5oZXJpdGVkT25seSk7Ci0jZW5kaWYKICAgICBhcHBseU1hdGNoZWRQcm9w
ZXJ0aWVzPEhpZ2hQcmlvcml0eVByb3BlcnRpZXM+KHJlc3VsdCwgZmFsc2UsIDAsIHJlc3VsdC5t
YXRjaGVkUHJvcGVydGllcy5zaXplKCkgLSAxLCBpbmhlcml0ZWRPbmx5KTsKIAogICAgIC8vIElm
IG91ciBmb250IGdvdCBkaXJ0aWVkLCBnbyBhaGVhZCBhbmQgdXBkYXRlIGl0IG5vdy4KQEAgLTE3
MjIsMjEgKzE3MTYsMTAgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnRpZXMoY29u
c3QgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcywgU3R5bGVSdWwKICAgICAgICAgICAgIGNv
bnRpbnVlOwogI2VuZGlmCiAgICAgICAgIHN3aXRjaCAocGFzcykgewotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgICAgICBjYXNlIFZhcmlhYmxlRGVmaW5pdGlvbnM6Ci0gICAgICAgICAg
ICBDT01QSUxFX0FTU0VSVChDU1NQcm9wZXJ0eVZhcmlhYmxlIDwgZmlyc3RDU1NQcm9wZXJ0eSwg
Q1NTX3ZhcmlhYmxlX2lzX2JlZm9yZV9maXJzdF9wcm9wZXJ0eSk7Ci0gICAgICAgICAgICBpZiAo
cHJvcGVydHkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkKLSAgICAgICAgICAgICAgICBhcHBseVBy
b3BlcnR5KGN1cnJlbnQuaWQoKSwgY3VycmVudC52YWx1ZSgpKTsKLSAgICAgICAgICAgIGJyZWFr
OwotI2VuZGlmCiAgICAgICAgIGNhc2UgSGlnaFByaW9yaXR5UHJvcGVydGllczoKICAgICAgICAg
ICAgIENPTVBJTEVfQVNTRVJUKGZpcnN0Q1NTUHJvcGVydHkgPT0gQ1NTUHJvcGVydHlDb2xvciwg
Q1NTX2NvbG9yX2lzX2ZpcnN0X3Byb3BlcnR5KTsKICAgICAgICAgICAgIENPTVBJTEVfQVNTRVJU
KENTU1Byb3BlcnR5Wm9vbSA9PSBDU1NQcm9wZXJ0eUNvbG9yICsgMTcsIENTU196b29tX2lzX2Vu
ZF9vZl9maXJzdF9wcm9wX3JhbmdlKTsKICAgICAgICAgICAgIENPTVBJTEVfQVNTRVJUKENTU1By
b3BlcnR5TGluZUhlaWdodCA9PSBDU1NQcm9wZXJ0eVpvb20gKyAxLCBDU1NfbGluZV9oZWlnaHRf
aXNfYWZ0ZXJfem9vbSk7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgICAgICBp
ZiAocHJvcGVydHkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSNlbmRpZgogICAgICAgICAgICAgLy8gZ2l2ZSBzcGVjaWFsIHByaW9yaXR5IHRvIGZv
bnQteHh4LCBjb2xvciBwcm9wZXJ0aWVzLCBldGMKICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA8
IENTU1Byb3BlcnR5TGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBhcHBseVByb3BlcnR5KGN1
cnJlbnQuaWQoKSwgY3VycmVudC52YWx1ZSgpKTsKQEAgLTE5MDAsMTQgKzE4ODMsNiBAQCB2b2lk
IFN0eWxlUmVzb2x2ZXI6OmFwcGx5TWF0Y2hlZFByb3BlcnRpZXMoY29uc3QgTWF0Y2hSZXN1bHQm
IG1hdGNoUmVzdWx0LCBjb25zdAogICAgICAgICBhcHBseUluaGVyaXRlZE9ubHkgPSB0cnVlOyAK
ICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAvLyBGaXJzdCBhcHBseSBh
bGwgdmFyaWFibGUgZGVmaW5pdGlvbnMsIGFzIHRoZXkgbWF5IGJlIHVzZWQgZHVyaW5nIGFwcGxp
Y2F0aW9uIG9mIGxhdGVyIHByb3BlcnRpZXMuCi0gICAgYXBwbHlNYXRjaGVkUHJvcGVydGllczxW
YXJpYWJsZURlZmluaXRpb25zPihtYXRjaFJlc3VsdCwgZmFsc2UsIDAsIG1hdGNoUmVzdWx0Lm1h
dGNoZWRQcm9wZXJ0aWVzLnNpemUoKSAtIDEsIGFwcGx5SW5oZXJpdGVkT25seSk7Ci0gICAgYXBw
bHlNYXRjaGVkUHJvcGVydGllczxWYXJpYWJsZURlZmluaXRpb25zPihtYXRjaFJlc3VsdCwgdHJ1
ZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmZpcnN0QXV0aG9yUnVsZSwgbWF0Y2hSZXN1bHQucmFuZ2Vz
Lmxhc3RBdXRob3JSdWxlLCBhcHBseUluaGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0Y2hlZFBy
b3BlcnRpZXM8VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1hdGNoUmVz
dWx0LnJhbmdlcy5maXJzdFVzZXJSdWxlLCBtYXRjaFJlc3VsdC5yYW5nZXMubGFzdFVzZXJSdWxl
LCBhcHBseUluaGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8VmFyaWFi
bGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1hdGNoUmVzdWx0LnJhbmdlcy5maXJz
dFVBUnVsZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmxhc3RVQVJ1bGUsIGFwcGx5SW5oZXJpdGVkT25s
eSk7Ci0jZW5kaWYKLQogICAgIC8vIE5vdyB3ZSBoYXZlIGFsbCBvZiB0aGUgbWF0Y2hlZCBydWxl
cyBpbiB0aGUgYXBwcm9wcmlhdGUgb3JkZXIuIFdhbGsgdGhlIHJ1bGVzIGFuZCBhcHBseQogICAg
IC8vIGhpZ2gtcHJpb3JpdHkgcHJvcGVydGllcyBmaXJzdCwgaS5lLiwgdGhvc2UgcHJvcGVydGll
cyB0aGF0IG90aGVyIHByb3BlcnRpZXMgZGVwZW5kIG9uLgogICAgIC8vIFRoZSBvcmRlciBpcyAo
MSkgaGlnaC1wcmlvcml0eSBub3QgaW1wb3J0YW50LCAoMikgaGlnaC1wcmlvcml0eSBpbXBvcnRh
bnQsICgzKSBub3JtYWwgbm90IGltcG9ydGFudApAQCAtMjE1Nyw2OCArMjEzMiw4IEBAIHN0YXRp
YyBib29sIGNyZWF0ZUdyaWRQb3NpdGlvbihDU1NWYWx1ZSogdmFsdWUsIEdyaWRQb3NpdGlvbiYg
cG9zaXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxF
UykKLXN0YXRpYyBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKENTU1ZhbHVlKiB2YWx1ZSkKLXsK
LSAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkgewotICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+
KHZhbHVlKTsKLSAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLT5oYXNWYXJpYWJsZVJlZmVy
ZW5jZSgpOwotICAgIH0KLQotICAgIGlmICh2YWx1ZS0+aXNDYWxjdWxhdGlvblZhbHVlKCkpCi0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih2YWx1ZSktPmhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCk7Ci0KLSAgICBpZiAodmFsdWUtPmlzUmVmbGVjdFZhbHVlKCkpIHsKLSAg
ICAgICAgQ1NTUmVmbGVjdFZhbHVlKiByZWZsZWN0VmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NSZWZs
ZWN0VmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBkaXJlY3Rpb24g
PSByZWZsZWN0VmFsdWUtPmRpcmVjdGlvbigpOwotICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSog
b2Zmc2V0ID0gcmVmbGVjdFZhbHVlLT5vZmZzZXQoKTsKLSAgICAgICAgQ1NTVmFsdWUqIG1hc2sg
PSByZWZsZWN0VmFsdWUtPm1hc2soKTsKLSAgICAgICAgcmV0dXJuIChkaXJlY3Rpb24gJiYgaGFz
VmFyaWFibGVSZWZlcmVuY2UoZGlyZWN0aW9uKSkgfHwgKG9mZnNldCAmJiBoYXNWYXJpYWJsZVJl
ZmVyZW5jZShvZmZzZXQpKSB8fCAobWFzayAmJiBoYXNWYXJpYWJsZVJlZmVyZW5jZShtYXNrKSk7
Ci0gICAgfQotCi0gICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBpID0gdmFsdWU7IGkuaGFz
TW9yZSgpOyBpLmFkdmFuY2UoKSkgewotICAgICAgICBpZiAoaGFzVmFyaWFibGVSZWZlcmVuY2Uo
aS52YWx1ZSgpKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHJldHVy
biBmYWxzZTsKLX0KLQotdm9pZCBTdHlsZVJlc29sdmVyOjpyZXNvbHZlVmFyaWFibGVzKENTU1By
b3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSwgVmVjdG9yPHN0ZDo6cGFpcjxDU1NQcm9wZXJ0
eUlELCBTdHJpbmc+ID4mIGtub3duRXhwcmVzc2lvbnMpCi17Ci0gICAgc3RkOjpwYWlyPENTU1By
b3BlcnR5SUQsIFN0cmluZz4gZXhwcmVzc2lvbihpZCwgdmFsdWUtPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcygqbV9zdGF0ZS5zdHlsZSgpLT52YXJpYWJsZXMoKSkpOwotCi0gICAgaWYgKGtu
b3duRXhwcmVzc2lvbnMuY29udGFpbnMoZXhwcmVzc2lvbikpCi0gICAgICAgIHJldHVybjsgLy8g
Y3ljbGUgZGV0ZWN0ZWQuCi0KLSAgICBrbm93bkV4cHJlc3Npb25zLmFwcGVuZChleHByZXNzaW9u
KTsKLQotICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBmYXN0ZXIgbm90IHRvIHJlLXBhcnNlIGZy
b20gc3RyaW5ncywgYnV0IGZvciBub3cgQ1NTIHByb3BlcnR5IHZhbGlkYXRpb24gbGl2ZXMgaW5z
aWRlIHRoZSBwYXJzZXIgc28gd2UgZG8gaXQgdGhlcmUuCi0gICAgUmVmUHRyPFN0eWxlUHJvcGVy
dHlTZXQ+IHJlc3VsdFNldCA9IFN0eWxlUHJvcGVydHlTZXQ6OmNyZWF0ZSgpOwotICAgIGlmICgh
Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKHJlc3VsdFNldC5nZXQoKSwgaWQsIGV4cHJlc3Npb24uc2Vj
b25kLCBmYWxzZSwgZG9jdW1lbnQoKSkpCi0gICAgICAgIHJldHVybjsgLy8gZXhwcmVzc2lvbiBm
YWlsZWQgdG8gcGFyc2UuCi0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVzdWx0U2V0
LT5wcm9wZXJ0eUNvdW50KCk7IGkrKykgewotICAgICAgICBTdHlsZVByb3BlcnR5U2V0OjpQcm9w
ZXJ0eVJlZmVyZW5jZSBwcm9wZXJ0eSA9IHJlc3VsdFNldC0+cHJvcGVydHlBdChpKTsKLSAgICAg
ICAgaWYgKHByb3BlcnR5LmlkKCkgIT0gQ1NTUHJvcGVydHlWYXJpYWJsZSAmJiBoYXNWYXJpYWJs
ZVJlZmVyZW5jZShwcm9wZXJ0eS52YWx1ZSgpKSkKLSAgICAgICAgICAgIHJlc29sdmVWYXJpYWJs
ZXMocHJvcGVydHkuaWQoKSwgcHJvcGVydHkudmFsdWUoKSwga25vd25FeHByZXNzaW9ucyk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFwcGx5UHJvcGVydHkocHJvcGVydHkuaWQoKSwgcHJv
cGVydHkudmFsdWUoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgU3R5bGVSZXNvbHZlcjo6
YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiB7Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGlkICE9IENTU1Byb3BlcnR5VmFyaWFibGUg
JiYgaGFzVmFyaWFibGVSZWZlcmVuY2UodmFsdWUpKSB7Ci0gICAgICAgIFZlY3RvcjxzdGQ6OnBh
aXI8Q1NTUHJvcGVydHlJRCwgU3RyaW5nPiA+IGtub3duRXhwcmVzc2lvbnM7Ci0gICAgICAgIHJl
c29sdmVWYXJpYWJsZXMoaWQsIHZhbHVlLCBrbm93bkV4cHJlc3Npb25zKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLSNlbmRpZgotCi0gICAgLy8gQ1NTIHZhcmlhYmxlcyBkb24ndCByZXNvbHZl
IHNob3J0aGFuZHMgYXQgcGFyc2luZyB0aW1lLCBzbyB0aGlzIHNob3VsZCBiZSAqYWZ0ZXIqIGhh
bmRsaW5nIHZhcmlhYmxlcy4KICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFpc0V4cGFuZGVkU2hv
cnRoYW5kKGlkKSwgIlNob3J0aGFuZCBwcm9wZXJ0eSBpZCA9ICVkIHdhc24ndCBleHBhbmRlZCBh
dCBwYXJzaW5nIHRpbWUiLCBpZCk7CiAKICAgICBTdGF0ZSYgc3RhdGUgPSBtX3N0YXRlOwpAQCAt
MjIzNiwxNyArMjE1MSw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgaWYgKGlzSW5oZXJpdCAmJiAhc3Rh
dGUucGFyZW50U3R5bGUoKS0+aGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKSAmJiAh
Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoaWQpKQogICAgICAgICBzdGF0ZS5wYXJl
bnRTdHlsZSgpLT5zZXRIYXNFeHBsaWNpdGx5SW5oZXJpdGVkUHJvcGVydGllcygpOwogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGlkID09IENTU1Byb3BlcnR5VmFyaWFibGUp
IHsKLSAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04odmFsdWUtPmlzVmFy
aWFibGVWYWx1ZSgpKTsKLSAgICAgICAgQ1NTVmFyaWFibGVWYWx1ZSogdmFyaWFibGUgPSBzdGF0
aWNfY2FzdDxDU1NWYXJpYWJsZVZhbHVlKj4odmFsdWUpOwotICAgICAgICBBU1NFUlQoIXZhcmlh
YmxlLT5uYW1lKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCF2YXJpYWJsZS0+dmFsdWUo
KS5pc0VtcHR5KCkpOwotICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRWYXJpYWJsZSh2YXJpYWJs
ZS0+bmFtZSgpLCB2YXJpYWJsZS0+dmFsdWUoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0j
ZW5kaWYKLQogICAgIC8vIENoZWNrIGxvb2t1cCB0YWJsZSBmb3IgaW1wbGVtZW50YXRpb25zIGFu
ZCB1c2Ugd2hlbiBhdmFpbGFibGUuCiAgICAgY29uc3QgUHJvcGVydHlIYW5kbGVyJiBoYW5kbGVy
ID0gbV9zdHlsZUJ1aWxkZXIucHJvcGVydHlIYW5kbGVyKGlkKTsKICAgICBpZiAoaGFuZGxlci5p
c1ZhbGlkKCkpIHsKQEAgLTMwMDAsOSArMjkwNCw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBw
bHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRvcDoKICAgICBj
YXNlIENTU1Byb3BlcnR5VW5pY29kZUJpZGk6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0g
ICAgY2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVZlcnRpY2FsQWxpZ246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpc2liaWxpdHk6CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkRlbGF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmgKaW5kZXggMTBhNDIxOC4uZjBiM2FjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5oCkBAIC0zOTAsOSArMzkwLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGx5TWF0Y2hlZFBy
b3BlcnRpZXMoY29uc3QgTWF0Y2hSZXN1bHQmLCBjb25zdCBFbGVtZW50Kik7CiAKICAgICBlbnVt
IFN0eWxlQXBwbGljYXRpb25QYXNzIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAg
ICAgVmFyaWFibGVEZWZpbml0aW9ucywKLSNlbmRpZgogICAgICAgICBIaWdoUHJpb3JpdHlQcm9w
ZXJ0aWVzLAogICAgICAgICBMb3dQcmlvcml0eVByb3BlcnRpZXMKICAgICB9OwpAQCAtNDAwLDkg
KzM5Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBseU1hdGNoZWRQcm9wZXJ0aWVzKGNvbnN0
IE1hdGNoUmVzdWx0JiwgYm9vbCBpbXBvcnRhbnQsIGludCBzdGFydEluZGV4LCBpbnQgZW5kSW5k
ZXgsIGJvb2wgaW5oZXJpdGVkT25seSk7CiAgICAgdGVtcGxhdGUgPFN0eWxlQXBwbGljYXRpb25Q
YXNzIHBhc3M+CiAgICAgdm9pZCBhcHBseVByb3BlcnRpZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNl
dCogcHJvcGVydGllcywgU3R5bGVSdWxlKiwgYm9vbCBpc0ltcG9ydGFudCwgYm9vbCBpbmhlcml0
ZWRPbmx5LCBQcm9wZXJ0eVdoaXRlbGlzdFR5cGUgPSBQcm9wZXJ0eVdoaXRlbGlzdE5vbmUpOwot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZvaWQgcmVzb2x2ZVZhcmlhYmxlcyhDU1NQ
cm9wZXJ0eUlELCBDU1NWYWx1ZSosIFZlY3RvcjxzdGQ6OnBhaXI8Q1NTUHJvcGVydHlJRCwgU3Ry
aW5nPiA+JiBrbm93bkV4cHJlc3Npb25zKTsKLSNlbmRpZgogICAgIHN0YXRpYyBib29sIGlzVmFs
aWRSZWdpb25TdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQpOwogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKICAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkQ3VlU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3Bw
CmluZGV4IGM1MWU5NTguLjA4MTRhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1RyYW5zZm9ybVZhbHVlLmNwcApAQCAtNzksMTMgKzc5LDYgQEAgU3RyaW5nIFdlYktpdENT
U1RyYW5zZm9ybVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gdHJhbnNm
b3JtVmFsdWVUb0Nzc1N0cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ3NzVGV4dCgp
KTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIFdlYktpdENTU1RyYW5z
Zm9ybVZhbHVlOjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1h
cDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICByZXR1cm4g
dHJhbnNmb3JtVmFsdWVUb0Nzc1N0cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotfQotI2VuZGlmCi0KIFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZShjb25zdCBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZSYgY2xvbmVGcm9tKQogICAgIDogQ1NTVmFsdWVMaXN0KGNsb25lRnJv
bSkKICAgICAsIG1fdHlwZShjbG9uZUZyb20ubV90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAppbmRleCBlMGMxNDY0Li4zNmFlZGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaApAQCAtNjcsOSArNjcs
NiBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogICAgIGJv
b2wgZXF1YWxzKGNvbnN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlJiBvdGhlcikgY29uc3QgeyBy
ZXR1cm4gbV90eXBlID09IG90aGVyLm1fdHlwZSAmJiBDU1NWYWx1ZUxpc3Q6OmVxdWFscyhvdGhl
cik7IH0KLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9tU2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+
JikgY29uc3Q7Ci0jZW5kaWYKIAogICAgIFRyYW5zZm9ybU9wZXJhdGlvblR5cGUgb3BlcmF0aW9u
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBs
CmluZGV4IDc3MzQzNTYuLjFhZjFmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
YWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTE5OCw5
ICsxOTgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gQ1NTUHJvcGVydHlJRCB7CiAg
ICAgQ1NTUHJvcGVydHlJbnZhbGlkID0gMCwKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICBDU1NQcm9wZXJ0eVZhcmlhYmxlID0gMSwKLSNlbmRpZgogRU9GCiAKIG15ICRmaXJzdCA9IDEw
MDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDE4NzZlYjMuLmVjM2NhODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNzAsOSArMTcwLDYgQEAgU2V0dGluZ3M6OlNldHRp
bmdzKFBhZ2UqIHBhZ2UpCiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJT04pCiAgICAgLCBt
X2Nzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCh0cnVlKQogI2VuZGlmCi0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgLCBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQoZmFsc2UpCi0jZW5kaWYKICAg
ICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNlKQogICAgICwgbV90aWxlZEJh
Y2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1ByZWZldGNoaW5nRW5hYmxlZChm
YWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA1YzU5MGFhLi45ZDk3ODhjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCkBAIC0yMDIsMTQgKzIwMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBjc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgdm9p
ZCBzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2Nzc1ZhcmlhYmxlc0Vu
YWJsZWQgPSBlbmFibGVkOyB9Ci0gICAgICAgIGJvb2wgY3NzVmFyaWFibGVzRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fY3NzVmFyaWFibGVzRW5hYmxlZDsgfQotI2Vsc2UKLSAgICAgICAgdm9p
ZCBzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wpIHsgfQotICAgICAgICBib29sIGNzc1Zhcmlh
Ymxlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotI2VuZGlmCi0KICAgICAgICAg
dm9pZCBzZXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoYm9vbCk7CiAgICAgICAgIGJvb2wg
c2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9zaG93VGlsZWRT
Y3JvbGxpbmdJbmRpY2F0b3I7IH0KIApAQCAtMzEwLDkgKzMwMiw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICNpZiBFTkFCTEUoQ1NTX1NUSUNLWV9QT1NJVElPTikKICAgICAgICAgYm9vbCBtX2Nz
c1N0aWNreVBvc2l0aW9uRW5hYmxlZCA6IDE7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklB
QkxFUykKLSAgICAgICAgYm9vbCBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQgOiAxOwotI2VuZGlmCiAg
ICAgICAgIGJvb2wgbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAgICAgICBi
b29sIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2Ruc1By
ZWZldGNoaW5nRW5hYmxlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IGE4ZGY3ZjAuLmQzNzE0Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zNjYsMTEgKzM2Niw2IEBAIHB1Ymxp
YzoKIAogICAgIGNvbnN0IFBzZXVkb1N0eWxlQ2FjaGUqIGNhY2hlZFBzZXVkb1N0eWxlcygpIGNv
bnN0IHsgcmV0dXJuIG1fY2FjaGVkUHNldWRvU3R5bGVzLmdldCgpOyB9CiAKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICB2b2lkIHNldFZhcmlhYmxlKGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByYXJlSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+
bV92YXJpYWJsZXMuYWNjZXNzKCktPnNldFZhcmlhYmxlKG5hbWUsIHZhbHVlKTsgfQotICAgIGNv
bnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+KiB2YXJpYWJsZXMoKSB7IHJldHVybiAm
KHJhcmVJbmhlcml0ZWREYXRhLT5tX3ZhcmlhYmxlcy0+bV9kYXRhKTsgfQotI2VuZGlmCi0KICAg
ICBib29sIGFmZmVjdGVkQnlIb3ZlcigpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFn
cy5hZmZlY3RlZEJ5SG92ZXIoKTsgfQogICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZSgpIGNvbnN0
IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZlY3RlZEJ5QWN0aXZlKCk7IH0KICAgICBi
b29sIGFmZmVjdGVkQnlEcmFnKCkgY29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLmFm
ZmVjdGVkQnlEcmFnKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCA4MzEwODQ0Li4yMzU0Mjhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC01NSwxMCArNTUsNiBAQCBzdHJ1Y3QgU2FtZVNpemVB
c1N0eWxlUmFyZUluaGVyaXRlZERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6ZUFzU3R5
bGVSYXJlSQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgQ29sb3IgdG91Y2hDb2xvcnM7
CiAjZW5kaWYKLQotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZvaWQqIHZhcmlhYmxl
RGF0YVJlZnNbMV07Ci0jZW5kaWYKIH07CiAKIENPTVBJTEVfQVNTRVJUKHNpemVvZihTdHlsZVJh
cmVJbmhlcml0ZWREYXRhKSA9PSBzaXplb2YoU2FtZVNpemVBc1N0eWxlUmFyZUluaGVyaXRlZERh
dGEpLCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhX3Nob3VsZF9iaXRfcGFjayk7CkBAIC0xMjEsOSAr
MTE3LDYgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgp
CiAgICAgLCB0YXBIaWdobGlnaHRDb2xvcihSZW5kZXJTdHlsZTo6aW5pdGlhbFRhcEhpZ2hsaWdo
dENvbG9yKCkpCiAjZW5kaWYgICAgCiB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
bV92YXJpYWJsZXMuaW5pdCgpOwotI2VuZGlmCiB9CiAKIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykK
QEAgLTE5Niw5ICsxODksNiBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKICAgICAsIHRhcEhpZ2hsaWdodENvbG9yKG8udGFwSGlnaGxpZ2h0Q29sb3Ip
CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAsIG1fdmFyaWFibGVzKG8u
bV92YXJpYWJsZXMpCi0jZW5kaWYKIHsKIH0KIApAQCAtMjgyLDkgKzI3Miw2IEBAIGJvb2wgU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhJiBvKSBjb25zdAogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICAmJiBtX3J1YnlQb3Np
dGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAgICAgICAgICYmIG1fbGluZVNuYXAgPT0gby5tX2xp
bmVTbmFwCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgICYmIG1fdmFyaWFibGVz
ID09IG8ubV92YXJpYWJsZXMKLSNlbmRpZgogICAgICAgICAmJiBtX2xpbmVBbGlnbiA9PSBvLm1f
bGluZUFsaWduCiAgICAgICAgICYmIFN0eWxlSW1hZ2U6OmltYWdlc0VxdWl2YWxlbnQobGlzdFN0
eWxlSW1hZ2UuZ2V0KCksIG8ubGlzdFN0eWxlSW1hZ2UuZ2V0KCkpOwogfQpAQCAtMzExLDkgKzI5
OCw2IEBAIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mCiAgICAgaW5mby5hZGRNZW1iZXIodGV4dEVt
cGhhc2lzQ3VzdG9tTWFyaywgInRleHRFbXBoYXNpc0N1c3RvbU1hcmsiKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihxdW90ZXMsICJxdW90ZXMiKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2xpbmVHcmlk
LCAibGluZUdyaWQiKTsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpbmZvLmFkZE1l
bWJlcihtX3ZhcmlhYmxlcywgInZhcmlhYmxlcyIpOwotI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDI1NjZkZTkuLjkzNGU4YmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuaApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCi0jaWYgRU5BQkxFKENTU19WQVJJ
QUJMRVMpCi0jaW5jbHVkZSAiRGF0YVJlZi5oIgotI2luY2x1ZGUgIlN0eWxlVmFyaWFibGVEYXRh
LmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3JMaXN0OwpA
QCAtMTQ1LDEwICsxNDAsNiBAQCBwdWJsaWM6CiAgICAgQ29sb3IgdGFwSGlnaGxpZ2h0Q29sb3I7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIERhdGFSZWY8U3R5bGVW
YXJpYWJsZURhdGE+IG1fdmFyaWFibGVzOwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YSgpOwogICAgIFN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGNjZTU4YzAuLmZiYTE0
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNC0wNyAgQW5kcmVh
cyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZlYXR1cmU6IENT
UyB2YXJpYWJsZXMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0MTE5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTMtMDQtMDUgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIGJ1aWxkaW5nIE9iamVjdGl2
ZS1DIGJpbmRpbmdzIGZvciB0aGUgU1ZHIERPTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA0NTNlNDI0
Li5lZmRlMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTQsNyArNTQsNiBAQCBFTkFCTEVfQ1NT
X1JFR0lPTlMgPSBFTkFCTEVfQ1NTX1JFR0lPTlM7CiBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFC
TEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVG
SVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFC
TEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwog
RU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKQEAg
LTE4Niw0ICsxODUsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxF
X1hIUl9USU1FT1VUID0gRU5BQkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVf
WFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5T
Rk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZS
QU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9T
UEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1Nf
RUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVD
SCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVf
U0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9USFJFQURF
RF9IVE1MX1BBUlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJ
TkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxU
RVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChF
TkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxP
R19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lT
VEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdI
X0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1M
RVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFC
TEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9USFJFQURFRF9IVE1MX1BB
UlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExB
VEZPUk1fTkFNRSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGM3NjJjYzkuLjVjYjgyZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxMy0wNC0wNyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZlYXR1cmU6IENTUyB2YXJpYWJsZXMKKyAgICAgICAg
PGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0MTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTMtMDQtMDYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
IAogICAgICAgICBUcnkgdG8gZml4IHRoZSBXZWJLaXQyIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBl
ODU2NGJhLi40ZGM2OWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTQsNyArNTQsNiBAQCBFTkFCTEVfQ1NT
X1JFR0lPTlMgPSBFTkFCTEVfQ1NTX1JFR0lPTlM7CiBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFC
TEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1Nf
U1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVG
SVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFC
TEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwog
RU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKQEAg
LTE4OCw0ICsxODcsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxF
X1hIUl9USU1FT1VUID0gRU5BQkxFX1hIUl9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVf
WFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5T
Rk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZS
QU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9T
UEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxF
X1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19ET01fT0JK
Q19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9USUZJQ0FUSU9OU19P
TkxZKSAkKEVOQUJMRV9USFJFQURFRF9IVE1MX1BBUlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxF
X1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lP
TlMpICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVEKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FE
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JF
R0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJP
VFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNT
X0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVF
Q0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxF
X1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RFWFRfTk9U
SUZJQ0FUSU9OU19PTkxZKSAkKEVOQUJMRV9USFJFQURFRF9IVE1MX1BBUlNFUikgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVP
VVQpICQoRU5BQkxFX1hTTFQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00IGIvU291
cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CmluZGV4IDlkODBlNjkuLjc5OGYx
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNAor
KysgYi9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQKQEAgLTMxLDcgKzMx
LDYgQEAgcmVhZCAtZCAnJyBERUZBVUxUX0ZFQVRVUkVfREVGSU5FUyA8PCJFT0YiCiAJRU5BQkxF
X0NTU19SRUdJT05TPTAKIAlFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTj0wCiAJRU5BQkxFX0NT
U19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRD0wCi0JRU5BQkxFX0NTU19WQVJJQUJM
RVM9MAogCUVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTAKIAlFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSPTAKIAlFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ9MApkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZQppbmRleCBkZGYxNzA0Li41NjNiYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNjAs
NyArNjAsNiBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0NTU19JTUFHRV9TRVQgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX1JFR0lPTlMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9DU1NfVkFSSUFCTEVTIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURSBPTikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA1YWM3NmI2Li4wOGExZGViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC0zOCw3ICszOCw2IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19TSEFERVJTICJUb2dn
bGUgQ1NTIFNoYWRlcnMgKHdpdGhpbiBDU1MgRmlsdGVycykgc3VwcG9ydCIgT0ZGKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OICJUb2dnbGUgQ1NT
IHN0aWNreSBwb3NpdGlvbiBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCAiVG9nZ2xlIHN1cHBv
cnQgZm9yIHVucHJlZml4ZWQgQ1NTIGFuaW1hdGlvbnMgYW5kIHRyYW5zZm9ybXMiIE9OKQotICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfVkFSSUFCTEVTICJUb2dnbGUgQ1NTIFZh
cmlhYmxlcyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUiAiVG9nZ2xlIEN1c3RvbSBTY2hlbWUgSGFuZGxlciBzdXBwb3J0
IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQg
IlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgIlRvZ2dsZSBIVE1MNSBkYXRhIHRyYW5z
ZmVyIGl0ZW1zIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBiODI5OTVlLi42YzQ0NDRjIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDQt
MDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBm
ZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDEx
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAgICAgKiBxbWFrZS9ta3NwZWNz
L2ZlYXR1cmVzL2ZlYXR1cmVzLnByaToKKwogMjAxMy0wNC0wNiAgTGFzemxvIEdvbWJvcyAgPGwu
Z29tYm9zQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhZnRlciByMTQ3ODU3LCBy
ZW1vdmUgcmVtYWluaW5nIFVTRShKU0MpIGd1YXJkcy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbQppbmRleCA1OGVkMzVjLi43ZGJiODY4IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0yMjQsOSArMjI0LDYgQEAgbXkgQGZlYXR1cmVzID0g
KAogICAgIHsgb3B0aW9uID0+ICJjc3MtdHJhbnNmb3Jtcy1hbmltYXRpb25zLXVucHJlZml4ZWQi
LCBkZXNjID0+ICJUb2dnbGUgc3VwcG9ydCBmb3IgdW5wcmVmaXhlZCBDU1MgYW5pbWF0aW9ucyBh
bmQgdHJhbnNmb3JtcyIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfVFJBTlNGT1JNU19B
TklNQVRJT05TX1VOUFJFRklYRUQiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkY3NzQW5pbWF0
aW9uc1RyYW5zZm9ybXNVbnByZWZpeGVkU3VwcG9ydCB9LAogCi0gICAgeyBvcHRpb24gPT4gImNz
cy12YXJpYWJsZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIFZhcmlhYmxlIHN1cHBvcnQiLAotICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX1ZBUklBQkxFUyIsIGRlZmF1bHQgPT4gKGlzQmxhY2tC
ZXJyeSgpIHx8IGlzRWZsKCkgfHwgaXNHdGsoKSksIHZhbHVlID0+IFwkY3NzVmFyaWFibGVzU3Vw
cG9ydCB9LAotCiAgICAgeyBvcHRpb24gPT4gImN1c3RvbS1zY2hlbWUtaGFuZGxlciIsIGRlc2Mg
PT4gIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIiLCBkZWZhdWx0ID0+IChpc0JsYWNrQmVy
cnkoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRjdXN0b21TY2hlbWVIYW5kbGVyU3VwcG9ydCB9
LAogCmRpZmYgLS1naXQgYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnBy
aSBiL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpCmluZGV4IDZhYmYw
NjQuLmY5ZmYwOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVh
dHVyZXMucHJpCisrKyBiL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMucHJp
CkBAIC0zNCw3ICszNCw2IEBAIEZFQVRVUkVfREVGQVVMVFMgPSBcCiAgICAgRU5BQkxFX0NTU19T
SEFERVJTPTAgXAogICAgIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OPTEgXAogICAgIEVOQUJM
RV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ9MSBcCi0gICAgRU5BQkxFX0NT
U19WQVJJQUJMRVM9MCBcCiAgICAgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MCBcCiAg
ICAgRU5BQkxFX0NTUzNfVEVYVD0wIFwKICAgICBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUs9
MCBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196792</attachid>
            <date>2013-04-07 09:57:13 -0700</date>
            <delta_ts>2013-04-07 12:36:36 -0700</delta_ts>
            <desc>Remove CSS variables (for EWS)</desc>
            <filename>bug-114119-v2.diff</filename>
            <type>text/plain</type>
            <size>109218</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNGZmMDFlLi5kNjgzNTAx
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNDoKKyAgICAgICAg
KiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2U6CisKIDIwMTMtMDQtMDUgIEVkIEJhcnRvc2ggIDxiYXJ0b3No
QGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVp
bGQgZmFpbHMgYmVjYXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWM4YmJkYi4uNzUwYjcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMg
S2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJlOiBDU1Mg
dmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTA0LTA2ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5pZnkgdGhlIG1hbnkgYW5kIHZhcmllZCBzdGFj
ayB0cmFjZSBtZWNoYW5pc21zLCBhbmQgbWFrZSB0aGUgcmVzdWx0IHNhbmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggOWUzNGZkOC4uMGI1ZjA0MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNTQsNyArNTQsNiBAQCBFTkFCTEVfQ1NTX1JFR0lPTlMgPSBFTkFCTEVfQ1NTX1JF
R0lPTlM7CiBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVf
Q1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxF
X0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKQEAgLTE4OCw0ICsxODcsNCBAQCBFTkFCTEVf
V09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxFX1hI
Ul9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9W
SVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhF
TF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxF
X1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFU
VVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lU
SU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJB
TUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNI
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggODIwNTk2My4uODcxMTZjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJl
OiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0
dXJlRGVmaW5lcy5oOgorCiAyMDEzLTA0LTA2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlZCB2OCBiaW5kaW5ncyBob29rcyBmcm9tIElETCBmaWxl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNmQwZWRjNi4uYTE3MzFiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oCkBAIC00MDcsMTAgKzQwNyw2IEBACiAjZGVmaW5lIEVOQUJMRV9DU1Nf
VFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgMAogI2VuZGlmCiAK
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1ZBUklBQkxFUykKLSNkZWZpbmUgRU5BQkxFX0NTU19W
QVJJQUJMRVMgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKQogI2RlZmluZSBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIDAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDFjMTM4YzAuLjhmMjgyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDcg
QEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQdXJnZSBhbGwgRU5BQkxFKENTU19WQVJJQUJMRVMpIGJsb2Nrcy4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIGNz
cy9DU1NCYXNpY1NoYXBlcy5jcHA6CisgICAgICAgICogY3NzL0NTU0Jhc2ljU2hhcGVzLmg6Cisg
ICAgICAgIChDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlKToKKyAgICAgICAgKENTU0Jhc2ljU2hhcGVD
aXJjbGUpOgorICAgICAgICAoQ1NTQmFzaWNTaGFwZUVsbGlwc2UpOgorICAgICAgICAoQ1NTQmFz
aWNTaGFwZVBvbHlnb24pOgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnVuaXRDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjUHJpbWl0aXZlVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNQcmltaXRpdmVWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6ZGV0
ZXJtaW5lQ2F0ZWdvcnkpOgorICAgICAgICAqIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmg6Cisg
ICAgICAgIChDU1NDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55Lmlu
OgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRv
cj09KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVTdHlsZVByb3BlcnR5U2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlvblVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZVZhbGlkUHJpbWl0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdERhc2hUb2tlbik6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnJlYWxMZXgpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAg
ICAgICAgKENTU1BhcnNlcik6CisgICAgICAgICogY3NzL0NTU1BhcnNlck1vZGUuaDoKKyAgICAg
ICAgKENTU1BhcnNlckNvbnRleHQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyVmFsdWU6OmNyZWF0ZUNTU1ZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNW
YWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cmltaXRpdmVWYWx1ZTo6Y2xlYW51cCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Z2V0U3RyaW5nVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmN1c3RvbUNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OmVxdWFscyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoK
KyAgICAgICAgKENTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNv
bnZlcnRUb0xlbmd0aCk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBj
c3MvQ1NTUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5OjpDU1NQcm9w
ZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgICogY3Nz
L0NTU1JlZmxlY3RWYWx1ZS5oOgorICAgICAgICAoQ1NTUmVmbGVjdFZhbHVlKToKKyAgICAgICAg
KiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFs
dWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoQ1NTVmFs
dWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuY3BwOgorICAgICAgICAqIGNzcy9DU1NW
YWx1ZUxpc3QuaDoKKyAgICAgICAgKENTU1ZhbHVlTGlzdCk6CisgICAgICAgICogY3NzL0NTU1Zh
cmlhYmxlVmFsdWUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvUGFpci5oOgorICAgICAgICAq
IGNzcy9SZWN0Lmg6CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNldDo6YXNUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUHJvcGVydHlTZXQ6OlByb3BlcnR5UmVmZXJlbmNlOjpjc3NOYW1lKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVy
OjpzdHlsZUZvclBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5TWF0Y2hl
ZFByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9w
ZXJ0eSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZS5oOgorICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoU2V0dGluZ3MpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFNhbWVTaXplQXNTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKFN0eWxlUmFyZUluaGVyaXRlZERh
dGEpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oOiBSZW1v
dmVkLgorCiAyMDEzLTA0LTA2ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBHZXQgcmlkIG9mIHNraWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNDUzZTQyNC4uZWZk
ZTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTU0LDcgKzU0LDYgQEAgRU5BQkxFX0NTU19SRUdJT05TID0g
RU5BQkxFX0NTU19SRUdJT05TOwogRU5BQkxFX0NTU19TSEFERVJTID0gRU5BQkxFX0NTU19TSEFE
RVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJ
VElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgPSBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwotRU5BQkxFX0NTU19WQVJJ
QUJMRVMgPSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKIEVOQUJMRV9DU1Mz
X1RFWFQgPSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CkBAIC0xODYsNCArMTg1
LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YSFJfVElNRU9V
VCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1B
VElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChFTkFCTEVfQ1NTM19D
T05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0df
RUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RF
TSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9E
UElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVT
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5L
X1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxF
X1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChF
TkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJT
RVIpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRG
T1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19U
UkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkg
JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFC
TEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFT
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9MSU5LX1BSRVJFTkRF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJ
Tl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19E
T00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkgJChFTkFCTEVfU1VC
UElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhU
X05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCmluZGV4IDE5NzRlNjAuLjAwMWUx
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcApAQCAtODksMjggKzg5LDYg
QEAgYm9vbCBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjplcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFw
ZSYgc2hhcGUpIGNvbnN0CiAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX3JhZGl1c1ks
IG90aGVyLm1fcmFkaXVzWSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmlu
ZyBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29u
c3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAg
ICByZXR1cm4gYnVpbGRSZWN0YW5nbGVTdHJpbmcobV94LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV95LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXModmFyaWFibGVzKSwKLSAgICAgICAgbV93aWR0aC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1faGVpZ2h0LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXNYLmdldCgpID8gbV9yYWRpdXNYLT5z
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6IFN0cmluZygpLAotICAgICAg
ICBtX3JhZGl1c1kuZ2V0KCkgPyBtX3JhZGl1c1ktPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpIDogU3RyaW5nKCkpOwotfQotCi1ib29sIENTU0Jhc2ljU2hhcGVSZWN0YW5n
bGU6Omhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV94LT5oYXNW
YXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1feS0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KQotICAgICAgICB8fCBtX3dpZHRoLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8
IG1faGVpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IChtX3JhZGl1c1gu
Z2V0KCkgJiYgbV9yYWRpdXNYLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICB8fCAo
bV9yYWRpdXNZLmdldCgpICYmIG1fcmFkaXVzWS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci19
Ci0jZW5kaWYKLQogc3RhdGljIFN0cmluZyBidWlsZENpcmNsZVN0cmluZyhjb25zdCBTdHJpbmcm
IHgsIGNvbnN0IFN0cmluZyYgeSwgY29uc3QgU3RyaW5nJiByYWRpdXMpCiB7CiAgICAgcmV0dXJu
ICJjaXJjbGUoIiArIHggKyAiLCAiICsgeSArICIsICIgKyByYWRpdXMgKyAnKSc7CkBAIC0xMzIs
MjIgKzExMCw2IEBAIGJvb2wgQ1NTQmFzaWNTaGFwZUNpcmNsZTo6ZXF1YWxzKGNvbnN0IENTU0Jh
c2ljU2hhcGUmIHNoYXBlKSBjb25zdAogICAgICAgICAmJiBjb21wYXJlQ1NTVmFsdWVQdHIobV9y
YWRpdXMsIG90aGVyLm1fcmFkaXVzKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
U3RyaW5nIENTU0Jhc2ljU2hhcGVDaXJjbGU6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhj
b25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewot
ICAgIHJldHVybiBidWlsZENpcmNsZVN0cmluZyhtX2NlbnRlclgtPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2NlbnRlclktPnNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1cy0+c2VyaWFsaXplUmVz
b2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotfQotCi1ib29sIENTU0Jhc2ljU2hhcGVDaXJj
bGU6Omhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jZW50ZXJY
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fY2VudGVyWS0+aGFzVmFyaWFi
bGVSZWZlcmVuY2UoKQotICAgICAgICB8fCBtX3JhZGl1cy0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgU3RyaW5nIGJ1aWxkRWxsaXBzZVN0cmluZyhjb25zdCBT
dHJpbmcmIHgsIGNvbnN0IFN0cmluZyYgeSwgY29uc3QgU3RyaW5nJiByYWRpdXNYLCBjb25zdCBT
dHJpbmcmIHJhZGl1c1kpCiB7CiAgICAgcmV0dXJuICJlbGxpcHNlKCIgKyB4ICsgIiwgIiArIHkg
KyAiLCAiICsgcmFkaXVzWCArICIsICIgKyByYWRpdXNZICsgJyknOwpAQCAtMTcwLDI0ICsxMzIs
NiBAQCBib29sIENTU0Jhc2ljU2hhcGVFbGxpcHNlOjplcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFw
ZSYgc2hhcGUpIGNvbnN0CiAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX3JhZGl1c1ks
IG90aGVyLm1fcmFkaXVzWSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmlu
ZyBDU1NCYXNpY1NoYXBlRWxsaXBzZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGJ1aWxkRWxsaXBzZVN0cmluZyhtX2NlbnRlclgtPnNlcmlhbGl6ZVJlc29sdmluZ1Zh
cmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2NlbnRlclktPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1c1gtPnNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1c1ktPnNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlRWxs
aXBzZTo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotewotICAgIHJldHVybiBtX2NlbnRl
clgtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAgfHwgbV9jZW50ZXJZLT5oYXNWYXJp
YWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fcmFkaXVzWC0+aGFzVmFyaWFibGVSZWZlcmVu
Y2UoKQotICAgICAgICB8fCBtX3JhZGl1c1ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci19Ci0j
ZW5kaWYKLQogc3RhdGljIFN0cmluZyBidWlsZFBvbHlnb25TdHJpbmcoY29uc3QgV2luZFJ1bGUm
IHdpbmRSdWxlLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcG9pbnRzKQogewogICAgIEFTU0VSVCgh
KHBvaW50cy5zaXplKCkgJSAyKSk7CkBAIC0yNDYsMjcgKzE5MCw1IEBAIGJvb2wgQ1NTQmFzaWNT
aGFwZVBvbHlnb246OmVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJiBzaGFwZSkgY29uc3QKICAg
ICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlVmVjdG9yPENTU1ByaW1pdGl2ZVZhbHVlPihtX3ZhbHVl
cywgcmhzLm1fdmFsdWVzKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5n
IENTU0Jhc2ljU2hhcGVQb2x5Z29uOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3Qg
SGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBW
ZWN0b3I8U3RyaW5nPiBwb2ludHM7Ci0gICAgcG9pbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
bV92YWx1ZXMuc2l6ZSgpKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV92YWx1ZXMu
c2l6ZSgpOyArK2kpCi0gICAgICAgIHBvaW50cy5hcHBlbmQobV92YWx1ZXMuYXQoaSktPnNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLQotICAgIHJldHVybiBidWlsZFBv
bHlnb25TdHJpbmcobV93aW5kUnVsZSwgcG9pbnRzKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBl
UG9seWdvbjo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotewotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbV92YWx1ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fdmFsdWVz
LmF0KGkpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKaW5kZXggOGRiMGQyZi4uMzFk
ZTYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgKQEAgLTUxLDExICs1MSw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYpIGNvbnN0ID0gMDsKIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdCA9IDA7
Ci0jZW5kaWYKLQogcHVibGljOgogICAgIHZpcnR1YWwgfkNTU0Jhc2ljU2hhcGUoKSB7IH0KIApA
QCAtODUsMTEgKzgwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmKSBjb25z
dDsKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5n
PiYpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0
OwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZVJlY3RhbmdsZSgpIHsgfQog
CkBAIC0xMTcsMTEgKzEwNyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJikg
Y29uc3Q7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBz
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0
cmluZz4mKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBj
b25zdDsKLSNlbmRpZgotCiBwcml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVDaXJjbGUoKSB7IH0K
IApAQCAtMTQ4LDExICsxMzMsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYp
IGNvbnN0OwogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVhbCBTdHJpbmcg
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBT
dHJpbmc+JikgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkg
Y29uc3Q7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBDU1NCYXNpY1NoYXBlRWxsaXBzZSgpIHsg
fQogCkBAIC0xODIsMTAgKzE2Miw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIENTU19CQVNJQ19TSEFQRV9QT0xZR09OOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
QmFzaWNTaGFwZSYpIGNvbnN0OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1
YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJl
ZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZVBv
bHlnb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDIzOWM5OWQuLjU2YjYyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25W
YWx1ZS5jcHAKQEAgLTY5LDEwICs2OSw2IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IHVu
aXRDYXRlZ29yeShDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIHR5cGUpCiAgICAgY2FzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0NIUzoKICAgICAgICAgcmV0dXJuIENhbGNMZW5ndGg7Ci0jaWYgRU5BQkxFKENTU19WQVJJ
QUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU6Ci0g
ICAgICAgIHJldHVybiBDYWxjVmFyaWFibGU7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm4gQ2FsY090aGVyOwogICAgIH0KQEAgLTEwMSwxOCArOTcsNiBAQCBib29sIENTU0Nh
bGNWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU0NhbGNWYWx1ZSYgb3RoZXIpIGNvbnN0CiAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZVB0cihtX2V4cHJlc3Npb24sIG90aGVyLm1fZXhwcmVzc2lvbik7
CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NDYWxjVmFsdWU6OmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmlu
ZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIHJldHVybiBidWlsZENzc1RleHQo
bV9leHByZXNzaW9uLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7Ci19
Ci0KLWJvb2wgQ1NTQ2FsY1ZhbHVlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLX0KLSNlbmRp
ZgotCiB2b2lkIENTU0NhbGNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwpAQCAtMTU2LDE4ICsxNDAsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5j
c3NUZXh0KCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVh
bCBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWlj
U3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4g
bV92YWx1ZS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0g
ICAgfQotICAgIAotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+aXNWYXJpYWJsZU5hbWUoKTsKLSAgICB9
Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHRv
Q2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91
YmxlIHpvb20pIGNvbnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fY2F0ZWdvcnkpIHsKQEAg
LTE4MSw5ICsxNTMsNiBAQCBwdWJsaWM6CiAgICAgICAgIC8vIE9ubHkgdHlwZXMgdGhhdCBjb3Vs
ZCBiZSBwYXJ0IG9mIGEgTGVuZ3RoIGV4cHJlc3Npb24gY2FuIGJlIGNvbnZlcnRlZAogICAgICAg
ICAvLyB0byBhIENhbGNFeHByZXNzaW9uTm9kZS4gQ2FsY1BlcmNlbnROdW1iZXIgbWFrZXMgbm8g
c2Vuc2UgYXMgYSBMZW5ndGguCiAgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ2FsY1ZhcmlhYmxlOgotI2VuZGlm
CiAgICAgICAgIGNhc2UgQ2FsY090aGVyOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgIH0KQEAgLTE5OSw5ICsxNjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2Ug
Q2FsY0xlbmd0aDoKICAgICAgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKICAgICAgICAgY2Fz
ZSBDYWxjUGVyY2VudE51bWJlcjoKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAg
Y2FzZSBDYWxjVmFyaWFibGU6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBDYWxjT3RoZXI6CiAgICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjE5
LDkgKzE4NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3Vi
bGVWYWx1ZSgpOwogICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAgICAgICBjYXNl
IENhbGNQZXJjZW50TnVtYmVyOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBj
YXNlIENhbGNWYXJpYWJsZToKLSNlbmRpZgogICAgICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNzEs
MTEgKzIzNCw2IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IGRldGVybWluZUNhdGVnb3J5
KGNvbnN0IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgbGVmdFNpCiAgICAgaWYgKGxlZnRDYXRlZ29y
eSA9PSBDYWxjT3RoZXIgfHwgcmlnaHRDYXRlZ29yeSA9PSBDYWxjT3RoZXIpCiAgICAgICAgIHJl
dHVybiBDYWxjT3RoZXI7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAobGVm
dENhdGVnb3J5ID09IENhbGNWYXJpYWJsZSB8fCByaWdodENhdGVnb3J5ID09IENhbGNWYXJpYWJs
ZSkKLSAgICAgICAgcmV0dXJuIENhbGNWYXJpYWJsZTsKLSNlbmRpZgotCiAgICAgc3dpdGNoIChv
cCkgewogICAgIGNhc2UgQ2FsY0FkZDoKICAgICBjYXNlIENhbGNTdWJ0cmFjdDogICAgICAgICAg
ICAgCkBAIC0zNjMsMTggKzMyMSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJ1aWxkQ3Nz
VGV4dChtX2xlZnRTaWRlLT5jdXN0b21Dc3NUZXh0KCksIG1fcmlnaHRTaWRlLT5jdXN0b21Dc3NU
ZXh0KCksIG1fb3BlcmF0b3IpOwogICAgIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNo
TWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGJ1aWxkQ3NzVGV4dChtX2xlZnRTaWRlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKSwgbV9yaWdodFNpZGUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpLCBtX29wZXJhdG9yKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaGFz
VmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fbGVmdFNp
ZGUtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgfHwgbV9yaWdodFNpZGUtPmhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0
IENTU0NhbGNFeHByZXNzaW9uTm9kZSYgZXhwKSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKHR5
cGUoKSAhPSBleHAudHlwZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bGN1bGF0aW9uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmgKaW5kZXggNTY5ZGJkZS4uMWIwNWVhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NhbGN1bGF0aW9uVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5oCkBAIC01Miw5ICs1Miw2IEBAIGVudW0gQ2FsY3VsYXRpb25DYXRlZ29yeSB7
CiAgICAgQ2FsY1BlcmNlbnQsCiAgICAgQ2FsY1BlcmNlbnROdW1iZXIsCiAgICAgQ2FsY1BlcmNl
bnRMZW5ndGgsCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgQ2FsY1ZhcmlhYmxlLAot
I2VuZGlmCiAgICAgQ2FsY090aGVyCiB9OwogICAgIApAQCAtNzEsMTAgKzY4LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEuMCwgYm9vbCBjb21wdXRp
bmdGb250U2l6ZSA9IGZhbHNlKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgY3VzdG9t
Q3NzVGV4dCgpIGNvbnN0ID0gMDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0
dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9t
aWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCkgY29uc3QgPSAwOwotI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGVxdWFs
cyhjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2Nh
dGVnb3J5ID09IG90aGVyLm1fY2F0ZWdvcnkgJiYgbV9pc0ludGVnZXIgPT0gb3RoZXIubV9pc0lu
dGVnZXI7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKQEAg
LTExMCwxMCArMTAzLDYgQEAgcHVibGljOgogICAgICAgICAKICAgICBTdHJpbmcgY3VzdG9tQ3Nz
VGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU0NhbGNWYWx1ZSYpIGNvbnN0
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBj
b25zdDsKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAog
ICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKaW5kZXggM2YxMDFlNC4uNGI4MjZjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE1ODAsOSAr
MTU4MCw2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0CiAKICAgICBzd2l0Y2ggKHByb3BlcnR5
SUQpIHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFsaWQ6Ci0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlWYXJpYWJsZToKLSNlbmRpZgogICAg
ICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xv
cjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCmluZGV4IDUzOWVhNjguLmE1YTc2MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgpAQCAtNzcsNyArNzcsNiBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNDU1NUb2tlbkFTdHJpbmcoaW50IHl5dHlwZSkKICAgICBjYXNlIENBTENGVU5D
VElPTjoKICAgICBjYXNlIE1JTkZVTkNUSU9OOgogICAgIGNhc2UgTUFYRlVOQ1RJT046Ci0gICAg
Y2FzZSBWQVJfREVGSU5JVElPTjoKICAgICBjYXNlIFVOSUNPREVSQU5HRToKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKQEAgLTEzMSw3ICsxMzAsNiBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNDU1NUb2tlbkFTdHJpbmcoaW50IHl5dHlwZSkKICNlbmRpZgogJXRva2VuIENIQVJT
RVRfU1lNCiAldG9rZW4gTkFNRVNQQUNFX1NZTQotJXRva2VuIFZBUkZVTkNUSU9OCiAldG9rZW4g
V0VCS0lUX1JVTEVfU1lNCiAldG9rZW4gV0VCS0lUX0RFQ0xTX1NZTQogJXRva2VuIFdFQktJVF9L
RVlGUkFNRV9SVUxFX1NZTQpAQCAtMjE5LDcgKzIxNyw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c0NTU1Rva2VuQVN0cmluZyhpbnQgeXl0eXBlKQogJXRva2VuIDxzdHJpbmc+IENBTENGVU5DVElP
TgogJXRva2VuIDxzdHJpbmc+IE1JTkZVTkNUSU9OCiAldG9rZW4gPHN0cmluZz4gTUFYRlVOQ1RJ
T04KLSV0b2tlbiA8c3RyaW5nPiBWQVJfREVGSU5JVElPTgogCiAldG9rZW4gPHN0cmluZz4gVU5J
Q09ERVJBTkdFCiAKQEAgLTE2MDksMTYgKzE2MDYsNiBAQCBkZWNsX2xpc3Q6CiAgICAgOwogCiBk
ZWNsYXJhdGlvbjoKLSAgICBWQVJfREVGSU5JVElPTiAnOicgbWF5YmVfc3BhY2UgZXhwciBwcmlv
IHsKLSNpZiBFTkFCTEVfQ1NTX1ZBUklBQkxFUwotICAgICAgICBwYXJzZXItPnN0b3JlVmFyaWFi
bGVEZWNsYXJhdGlvbigkMSwgcGFyc2VyLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDQpLCAkNSk7
Ci0gICAgICAgICQkID0gdHJ1ZTsKLSAgICAgICAgcGFyc2VyLT5tYXJrUHJvcGVydHlFbmQoJDUs
IHRydWUpOwotI2Vsc2UKLSAgICAgICAgJCQgPSBmYWxzZTsKLSNlbmRpZgotICAgIH0KLSAgICB8
CiAgICAgcHJvcGVydHkgJzonIG1heWJlX3NwYWNlIGV4cHIgcHJpbyB7CiAgICAgICAgICQkID0g
ZmFsc2U7CiAgICAgICAgIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCA9IGZhbHNlOwpAQCAtMTc1MCwx
MyArMTczNyw2IEBAIHRlcm06CiAgIHwgVU5JQ09ERVJBTkdFIG1heWJlX3NwYWNlIHsgJCQuaWQg
PSAwOyAkJC5zdHJpbmcgPSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5J
Q09ERV9SQU5HRTsgfQogICB8IEhFWCBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5n
ID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUjsg
fQogICB8ICcjJyBtYXliZV9zcGFjZSB7ICQkLmlkID0gMDsgJCQuc3RyaW5nID0gQ1NTUGFyc2Vy
U3RyaW5nKCk7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xP
UjsgfSAvKiBIYW5kbGUgZXJyb3IgY2FzZTogImNvbG9yOiAjOyIgKi8KLSAgfCBWQVJGVU5DVElP
TiBtYXliZV9zcGFjZSBJREVOVCAnKScgbWF5YmVfc3BhY2UgewotI2lmIEVOQUJMRV9DU1NfVkFS
SUFCTEVTCi0gICAgICAkJC5pZCA9IDA7Ci0gICAgICAkJC5zdHJpbmcgPSAkMzsKLSAgICAgICQk
LnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU7Ci0jZW5kaWYKLSAg
fQogICAvKiBGSVhNRTogYWNjb3JkaW5nIHRvIHRoZSBzcGVjcyBhIGZ1bmN0aW9uIGNhbiBoYXZl
IGEgdW5hcnlfb3BlcmF0b3IgaW4gZnJvbnQuIEkga25vdyBubyBjYXNlIHdoZXJlIHRoaXMgbWFr
ZXMgc2Vuc2UgKi8KICAgfCBmdW5jdGlvbiB7CiAgICAgICAkJCA9ICQxOwpAQCAtMTg0OCwxMyAr
MTgyOCw2IEBAIGZ1bmN0aW9uOgogIAogY2FsY19mdW5jX3Rlcm06CiAgIHVuYXJ5X3Rlcm0geyAk
JCA9ICQxOyB9Ci0gIHwgVkFSRlVOQ1RJT04gbWF5YmVfc3BhY2UgSURFTlQgJyknIG1heWJlX3Nw
YWNlIHsKLSNpZiBFTkFCTEVfQ1NTX1ZBUklBQkxFUwotICAgICAgJCQuaWQgPSAwOwotICAgICAg
JCQuc3RyaW5nID0gJDM7Ci0gICAgICAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19W
QVJJQUJMRV9OQU1FOwotI2VuZGlmCi0gIH0KICAgfCB1bmFyeV9vcGVyYXRvciB1bmFyeV90ZXJt
IHsgJCQgPSAkMjsgJCQuZlZhbHVlICo9ICQxOyB9CiAgIDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAppbmRleCA3Mjg5NjcyLi5hYjdiNzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtNTMsOSArNTMsNiBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRl
ICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJsZVZhbHVlLmgiCi0jZW5kaWYKICNp
bmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGbG9h
dENvbnZlcnNpb24uaCIKQEAgLTI2MCw5ICsyNTcsNiBAQCBDU1NQYXJzZXJDb250ZXh0OjpDU1NQ
YXJzZXJDb250ZXh0KENTU1BhcnNlck1vZGUgbW9kZSwgY29uc3QgS1VSTCYgYmFzZVVSTCkKICAg
ICAsIGlzQ1NTUmVnaW9uc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0NvbXBvc2l0aW5nRW5h
YmxlZChmYWxzZSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZmFsc2UpCi0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZmFsc2UpCi0j
ZW5kaWYKICAgICAsIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGZhbHNlKQogICAgICwgZW5mb3Jj
ZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlKHRydWUpCiAgICAgLCB1c2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKGZhbHNlKQpAQCAtMjc5LDkgKzI3Myw2IEBAIENTU1Bh
cnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBL
VVJMJiBiYXNlVVJMLCBjb25zCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGRvY3VtZW50LT5j
c3NSZWdpb25zRW5hYmxlZCgpKQogICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZG9jdW1l
bnQtPmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpKQogICAgICwgaXNDU1NHcmlkTGF5b3V0RW5hYmxl
ZChkb2N1bWVudC0+Y3NzR3JpZExheW91dEVuYWJsZWQoKSkKLSNpZiBFTkFCTEUoQ1NTX1ZBUklB
QkxFUykKLSAgICAsIGlzQ1NTVmFyaWFibGVzRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/
IGRvY3VtZW50LT5zZXR0aW5ncygpLT5jc3NWYXJpYWJsZXNFbmFibGVkKCkgOiBmYWxzZSkKLSNl
bmRpZgogICAgICwgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZG9jdW1lbnQtPnNldHRpbmdzKCkg
PyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+bmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSA6IGZhbHNl
KQogICAgICwgZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlKCFkb2N1bWVudC0+c2V0
dGluZ3MoKSB8fCBkb2N1bWVudC0+c2V0dGluZ3MoKS0+ZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1
aXJrc01vZGUoKSkKICAgICAsIHVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3IoZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+dXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpIDogZmFsc2UpCkBAIC0yOTksOSArMjkw
LDYgQEAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGEsIGNvbnN0IENT
U1BhcnNlckNvbnRleHQmIGIpCiAgICAgICAgICYmIGEuaXNDU1NSZWdpb25zRW5hYmxlZCA9PSBi
LmlzQ1NTUmVnaW9uc0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0NvbXBvc2l0aW5nRW5hYmxl
ZCA9PSBiLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkCiAgICAgICAgICYmIGEuaXNDU1NHcmlkTGF5
b3V0RW5hYmxlZCA9PSBiLmlzQ1NTR3JpZExheW91dEVuYWJsZWQKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICAgICAgJiYgYS5pc0NTU1ZhcmlhYmxlc0VuYWJsZWQgPT0gYi5pc0NTU1Zh
cmlhYmxlc0VuYWJsZWQKLSNlbmRpZgogICAgICAgICAmJiBhLm5lZWRzU2l0ZVNwZWNpZmljUXVp
cmtzID09IGIubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MKICAgICAgICAgJiYgYS5lbmZvcmNlc0NT
U01JTUVUeXBlSW5Ob1F1aXJrc01vZGUgPT0gYi5lbmZvcmNlc0NTU01JTUVUeXBlSW5Ob1F1aXJr
c01vZGUKICAgICAgICAgJiYgYS51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2
aW9yID09IGIudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKQEAgLTEy
ODUsMjUgKzEyNzMsNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJz
ZUZvbnRGYWNlVmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbgogICAgIHJldHVybiBzdGF0
aWNfcG9pbnRlcl9jYXN0PENTU1ZhbHVlTGlzdD4oZHVtbXlTdHlsZS0+Z2V0UHJvcGVydHlDU1NW
YWx1ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkpKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQotYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoU3R5bGVQcm9wZXJ0eVNldCogZGVjbGFy
YXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJv
b2wgaW1wb3J0YW50LCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgQVNTRVJUKCFzdHJpbmcu
aXNFbXB0eSgpKTsKLQotICAgIENTU1BhcnNlckNvbnRleHQgY29udGV4dChkb2N1bWVudCk7Ci0K
LSAgICBpZiAocGFyc2VTaW1wbGVMZW5ndGhWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwg
c3RyaW5nLCBpbXBvcnRhbnQsIGNvbnRleHQubW9kZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwot
ICAgIGlmIChwYXJzZUNvbG9yVmFsdWUoZGVjbGFyYXRpb24sIHByb3BlcnR5SUQsIHN0cmluZywg
aW1wb3J0YW50LCBjb250ZXh0Lm1vZGUpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAo
cGFyc2VLZXl3b3JkVmFsdWUoZGVjbGFyYXRpb24sIHByb3BlcnR5SUQsIHN0cmluZywgaW1wb3J0
YW50LCBjb250ZXh0KSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDU1NQYXJzZXIgcGFy
c2VyKGNvbnRleHQpOwotICAgIHJldHVybiBwYXJzZXIucGFyc2VWYWx1ZShkZWNsYXJhdGlvbiwg
cHJvcGVydHlJRCwgc3RyaW5nLCBpbXBvcnRhbnQsIHN0YXRpY19jYXN0PFN0eWxlU2hlZXRDb250
ZW50cyo+KDApKTsKLX0KLSNlbmRpZgotCiBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShTdHls
ZVByb3BlcnR5U2V0KiBkZWNsYXJhdGlvbiwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25z
dCBTdHJpbmcmIHN0cmluZywgYm9vbCBpbXBvcnRhbnQsIENTU1BhcnNlck1vZGUgY3NzUGFyc2Vy
TW9kZSwgU3R5bGVTaGVldENvbnRlbnRzKiBjb250ZXh0U3R5bGVTaGVldCkKIHsKICAgICBBU1NF
UlQoIXN0cmluZy5pc0VtcHR5KCkpOwpAQCAtMTQ5NSwyNyArMTQ2NCwxMyBAQCBQYXNzT3duUHRy
PE1lZGlhUXVlcnk+IENTU1BhcnNlcjo6cGFyc2VNZWRpYVF1ZXJ5KGNvbnN0IFN0cmluZyYgc3Ry
aW5nKQogICAgIHJldHVybiBtX21lZGlhUXVlcnkucmVsZWFzZSgpOwogfQogCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi1zdGF0aWMgaW5saW5lIHZvaWQgZmlsdGVyUHJvcGVydGllcyhib29s
IGltcG9ydGFudCwgY29uc3QgQ1NTUGFyc2VyOjpQYXJzZWRQcm9wZXJ0eVZlY3RvciYgaW5wdXQs
IFZlY3RvcjxDU1NQcm9wZXJ0eSwgMjU2PiYgb3V0cHV0LCBzaXplX3QmIHVudXNlZEVudHJpZXMs
IEJpdEFycmF5PG51bUNTU1Byb3BlcnRpZXM+JiBzZWVuUHJvcGVydGllcywgSGFzaFNldDxBdG9t
aWNTdHJpbmc+JiBzZWVuVmFyaWFibGVzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWx0
ZXJQcm9wZXJ0aWVzKGJvb2wgaW1wb3J0YW50LCBjb25zdCBDU1NQYXJzZXI6OlBhcnNlZFByb3Bl
cnR5VmVjdG9yJiBpbnB1dCwgVmVjdG9yPENTU1Byb3BlcnR5LCAyNTY+JiBvdXRwdXQsIHNpemVf
dCYgdW51c2VkRW50cmllcywgQml0QXJyYXk8bnVtQ1NTUHJvcGVydGllcz4mIHNlZW5Qcm9wZXJ0
aWVzKQotI2VuZGlmCiB7CiAgICAgLy8gQWRkIHByb3BlcnRpZXMgaW4gcmV2ZXJzZSBvcmRlciBz
byB0aGF0IGhpZ2hlc3QgcHJpb3JpdHkgZGVmaW5pdGlvbnMgYXJlIHJlYWNoZWQgZmlyc3QuIER1
cGxpY2F0ZSBkZWZpbml0aW9ucyBjYW4gdGhlbiBiZSBpZ25vcmVkIHdoZW4gZm91bmQuCiAgICAg
Zm9yIChpbnQgaSA9IGlucHV0LnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgIGNv
bnN0IENTU1Byb3BlcnR5JiBwcm9wZXJ0eSA9IGlucHV0W2ldOwogICAgICAgICBpZiAocHJvcGVy
dHkuaXNJbXBvcnRhbnQoKSAhPSBpbXBvcnRhbnQpCiAgICAgICAgICAgICBjb250aW51ZTsKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgaWYgKHByb3BlcnR5LmlkKCkgPT0gQ1NT
UHJvcGVydHlWYXJpYWJsZSkgewotICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
ID0gc3RhdGljX2Nhc3Q8Q1NTVmFyaWFibGVWYWx1ZSo+KHByb3BlcnR5LnZhbHVlKCkpLT5uYW1l
KCk7Ci0gICAgICAgICAgICBpZiAoc2VlblZhcmlhYmxlcy5jb250YWlucyhuYW1lKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHNlZW5WYXJpYWJsZXMuYWRkKG5hbWUp
OwotICAgICAgICAgICAgb3V0cHV0Wy0tdW51c2VkRW50cmllc10gPSBwcm9wZXJ0eTsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgcHJvcGVydHlJREluZGV4ID0gcHJvcGVydHkuaWQoKSAtIGZpcnN0Q1NTUHJvcGVydHk7CiAg
ICAgICAgIGlmIChzZWVuUHJvcGVydGllcy5nZXQocHJvcGVydHlJREluZGV4KSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTUzMSwxNCArMTQ4Niw4IEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9w
ZXJ0eVNldD4gQ1NTUGFyc2VyOjpjcmVhdGVTdHlsZVByb3BlcnR5U2V0KCkKICAgICBWZWN0b3I8
Q1NTUHJvcGVydHksIDI1Nj4gcmVzdWx0cyh1bnVzZWRFbnRyaWVzKTsKIAogICAgIC8vIEltcG9y
dGFudCBwcm9wZXJ0aWVzIGhhdmUgaGlnaGVyIHByaW9yaXR5LCBzbyBhZGQgdGhlbSBmaXJzdC4g
RHVwbGljYXRlIGRlZmluaXRpb25zIGNhbiB0aGVuIGJlIGlnbm9yZWQgd2hlbiBmb3VuZC4KLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBIYXNoU2V0PEF0b21pY1N0cmluZz4gc2VlblZh
cmlhYmxlczsKLSAgICBmaWx0ZXJQcm9wZXJ0aWVzKHRydWUsIG1fcGFyc2VkUHJvcGVydGllcywg
cmVzdWx0cywgdW51c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMsIHNlZW5WYXJpYWJsZXMpOwot
ICAgIGZpbHRlclByb3BlcnRpZXMoZmFsc2UsIG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywg
dW51c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMsIHNlZW5WYXJpYWJsZXMpOwotI2Vsc2UKICAg
ICBmaWx0ZXJQcm9wZXJ0aWVzKHRydWUsIG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywgdW51
c2VkRW50cmllcywgc2VlblByb3BlcnRpZXMpOwogICAgIGZpbHRlclByb3BlcnRpZXMoZmFsc2Us
IG1fcGFyc2VkUHJvcGVydGllcywgcmVzdWx0cywgdW51c2VkRW50cmllcywgc2VlblByb3BlcnRp
ZXMpOwotI2VuZGlmCiAgICAgaWYgKHVudXNlZEVudHJpZXMpCiAgICAgICAgIHJlc3VsdHMucmVt
b3ZlKDAsIHVudXNlZEVudHJpZXMpOwogCkBAIC0xNjE5LDExICsxNTY4LDYgQEAgYm9vbCBDU1NQ
YXJzZXI6OnZhbGlkQ2FsY3VsYXRpb25Vbml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMg
dW5pdGZsYWdzLCBSZWwKICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgogICAgICAgICBiID0g
KHVuaXRmbGFncyAmIEZQZXJjZW50KSAmJiAodW5pdGZsYWdzICYgRk51bWJlcik7CiAgICAgICAg
IGJyZWFrOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ2FsY1ZhcmlhYmxl
OgotICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICBjYXNlIENh
bGNPdGhlcjoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTY0NSwxMiArMTU4OSw2IEBAIGJv
b2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0
ZmxhZ3MsIENTU1BhcnNlck1vZGUKICAgICAgICAgCiAgICAgYm9vbCBiID0gZmFsc2U7CiAgICAg
c3dpdGNoICh2YWx1ZS0+dW5pdCkgewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FOgotICAgICAgICAvLyBWYXJp
YWJsZXMgYXJlIGNoZWNrZWQgYXQgdGhlIHBvaW50IHRoZXkgYXJlIGRlcmVmZXJlbmNlZCBiZWNh
dXNlIHVuaXQgdHlwZSBpcyBub3QgYXZhaWxhYmxlIGhlcmUuCi0gICAgICAgIGIgPSB0cnVlOwot
ICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVI6CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7CiAgICAgICAgIGlmICgh
YiAmJiBzaG91bGRBY2NlcHRVbml0TGVzc1ZhbHVlcyh2YWx1ZSwgdW5pdGZsYWdzLCBjc3NQYXJz
ZXJNb2RlKSkgewpAQCAtMTcxMywxMSArMTY1MSw2IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVu
aXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIENTU1BhcnNlck1vZGUK
IAogaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRl
UHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKIHsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAodmFsdWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19WQVJJQUJMRV9OQU1FKQotICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFy
aWFibGVOYW1lVmFsdWUodmFsdWUpOwotI2VuZGlmCi0KICAgICBpZiAobV9wYXJzZWRDYWxjdWxh
dGlvbikgewogICAgICAgICBBU1NFUlQoaXNDYWxjdWxhdGlvbih2YWx1ZSkpOwogICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVh
c2UoKSk7CkBAIC0xNzQyLDE1ICsxNjc1LDYgQEAgaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGEKICAg
ICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUodmFsdWUtPnN0cmluZywgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci1pbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQ
cmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCi17Ci0gICAg
QVNTRVJUKHZhbHVlLT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFN
RSk7Ci0gICAgQXRvbWljU3RyaW5nIHZhcmlhYmxlTmFtZSA9IFN0cmluZyh2YWx1ZS0+c3RyaW5n
KS5sb3dlcigpOwotICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhcmlhYmxl
TmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKTsKLX0KLSNlbmRpZgot
CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNDb21tYShDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCiB7IAog
ICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0
b3IgJiYgdmFsdWUtPmlWYWx1ZSA9PSAnLCc7IApAQCAtMTc5NSwxMCArMTcxOSw2IEBAIGlubGlu
ZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsaWRQcmlt
aXRpdmUoaW50IGlkZW50aWZpCiAgICAgaWYgKHZhbHVlLT51bml0ID49IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfRFBQWCAmJiB2YWx1ZS0+dW5pdCA8PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RQ
Q00pCiAgICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUodmFsdWUpOwog
I2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKHZhbHVlLT51bml0ID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRSkKLSAgICAgICAgcmV0dXJuIGNy
ZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKHZhbHVlKTsKLSNlbmRpZgogICAgIGlmICh2
YWx1ZS0+dW5pdCA+PSBDU1NQYXJzZXJWYWx1ZTo6UV9FTVMpCiAgICAgICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2YWx1ZS0+ZlZhbHVlLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CiAgICAgaWYgKGlzQ2FsY3VsYXRpb24odmFsdWUp
KQpAQCAtMTg1NCwxNSArMTc3NCw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1By
b3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKCFpZCAmJiB2YWx1ZS0+
dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUUgJiYgbnVtID09IDEp
IHsKLSAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5h
bWVWYWx1ZSh2YWx1ZSksIGltcG9ydGFudCk7Ci0gICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBBU1NFUlQocHJvcElkICE9IENTU1By
b3BlcnR5VmFyaWFibGUpOwotI2VuZGlmCi0KICAgICBpZiAoaXNLZXl3b3JkUHJvcGVydHlJRChw
cm9wSWQpKSB7CiAgICAgICAgIGlmICghaXNWYWxpZEtleXdvcmRQcm9wZXJ0eUFuZFZhbHVlKHBy
b3BJZCwgaWQsIG1fY29udGV4dCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMDAw
LDkgKzI5MTEsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0VW5kZXJsaW5lU3R5bGU6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVZp
c2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFwcGVhcmFuY2U6CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eToKQEAgLTMyODYsMzYgKzMxOTQs
NiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VGaWxsU2hvcnRoYW5kKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBjb25zdCBDU1NQcm9wZXJ0eUlEKiBwcgogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi1ib29sIENTU1BhcnNlcjo6Y3NzVmFyaWFibGVzRW5hYmxl
ZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7
Ci19Ci0KLXZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24oY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gdmFsdWUs
IGJvb2wgaW1wb3J0YW50KQotewotICAgIC8vIFdoZW4gQ1NTR3JhbW1hci55IGVuY291bnRlcnMg
YW4gaW52YWxpZCBkZWNsYXJhdGlvbiBpdCBwYXNzZXMgbnVsbCBmb3IgdGhlIENTU1BhcnNlclZh
bHVlTGlzdCwganVzdCBiYWlsLgotICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybjsKLSAg
ICAKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcHJlZml4TGVuZ3RoID0gc2l6ZW9mKCItd2Vi
a2l0LXZhci0iKSAtIDE7Ci0gICAgCi0gICAgQVNTRVJUKG5hbWUubGVuZ3RoKCkgPiBwcmVmaXhM
ZW5ndGgpOwotICAgIEF0b21pY1N0cmluZyB2YXJpYWJsZU5hbWUgPSBuYW1lLmxvd2VyU3Vic3Ry
aW5nKHByZWZpeExlbmd0aCwgbmFtZS5sZW5ndGgoKSAtIHByZWZpeExlbmd0aCk7Ci0KLSAgICBT
dHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHZh
bHVlLT5zaXplKCk7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgaWYgKGkpCi0gICAgICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVl
ID0gdmFsdWUtPnZhbHVlQXQoaSktPmNyZWF0ZUNTU1ZhbHVlKCk7Ci0gICAgICAgIGlmICghY3Nz
VmFsdWUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKGNzc1Zh
bHVlLT5jc3NUZXh0KCkpOwotICAgIH0KLSAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVZhcmlh
YmxlLCBDU1NWYXJpYWJsZVZhbHVlOjpjcmVhdGUodmFyaWFibGVOYW1lLCBidWlsZGVyLnRvU3Ry
aW5nKCkubG93ZXIoKSksIGltcG9ydGFudCwgZmFsc2UpOwotfQotI2VuZGlmCi0KIHZvaWQgQ1NT
UGFyc2VyOjphZGRBbmltYXRpb25WYWx1ZShSZWZQdHI8Q1NTVmFsdWU+JiBsdmFsLCBQYXNzUmVm
UHRyPENTU1ZhbHVlPiBydmFsKQogewogICAgIGlmIChsdmFsKSB7CkBAIC02NDIyLDExICs2MzAw
LDYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdChDU1NQcm9wZXJ0eUlEIHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgLy8gRGlyZWN0aW9uIGNvbWVzIGZpcnN0LgogICAgIENTU1Bh
cnNlclZhbHVlKiB2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwogICAgIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gZGlyZWN0aW9uOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IGlmICh2YWwtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKQot
ICAgICAgICBkaXJlY3Rpb24gPSBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZSh2YWwp
OwotICAgIGVsc2UKLSNlbmRpZgogICAgIHN3aXRjaCAodmFsLT5pZCkgewogICAgICAgICBjYXNl
IENTU1ZhbHVlQWJvdmU6CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVCZWxvdzoKQEAgLTEwMzQyLDEw
ICsxMDIxNSw2IEBAIGlubGluZSB2b2lkIENTU1BhcnNlcjo6ZGV0ZWN0RGFzaFRva2VuKGludCBs
ZW5ndGgpCiAgICAgICAgICAgICBtX3Rva2VuID0gTUlORlVOQ1RJT047CiAgICAgICAgIGVsc2Ug
aWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobmFtZVsxMF0sICd4JykgJiYgaXNFcXVhbFRv
Q1NTSWRlbnRpZmllcihuYW1lICsgMSwgIndlYmtpdC1tYSIpKQogICAgICAgICAgICAgbV90b2tl
biA9IE1BWEZVTkNUSU9OOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBlbHNl
IGlmIChjc3NWYXJpYWJsZXNFbmFibGVkKCkgJiYgaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChu
YW1lWzEwXSwgJ3InKSAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0
LXZhIikpCi0gICAgICAgICAgICBtX3Rva2VuID0gVkFSRlVOQ1RJT047Ci0jZW5kaWYKICAgICB9
IGVsc2UgaWYgKGxlbmd0aCA9PSAxMiAmJiBpc0VxdWFsVG9DU1NJZGVudGlmaWVyKG5hbWUgKyAx
LCAid2Via2l0LWNhbGMiKSkKICAgICAgICAgbV90b2tlbiA9IENBTENGVU5DVElPTjsKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKQEAgLTEwNzk3LDExICsxMDY2Niw2IEBAIHJlc3RhcnRBZnRlckNv
bW1lbnQ6CiAgICAgICAgICAgICBwYXJzZUlkZW50aWZpZXIocmVzdWx0LCByZXN1bHRTdHJpbmcs
IGhhc0VzY2FwZSk7CiAgICAgICAgICAgICBtX3Rva2VuID0gSURFTlQ7CiAKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICAgICAgICAgIGlmIChjc3NWYXJpYWJsZXNFbmFibGVkKCkgJiYg
aXNFcXVhbFRvQ1NTSWRlbnRpZmllcih0b2tlblN0YXJ0PFNyY0NoYXJhY3RlclR5cGU+KCkgKyAx
LCAid2Via2l0LXZhciIpICYmIHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKVsxMV0gPT0g
Jy0nICYmIGlzSWRlbnRpZmllclN0YXJ0QWZ0ZXJEYXNoKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVy
VHlwZT4oKSArIDEyKSkKLSAgICAgICAgICAgICAgICBtX3Rva2VuID0gVkFSX0RFRklOSVRJT047
Ci0gICAgICAgICAgICBlbHNlCi0jZW5kaWYKICAgICAgICAgICAgIGlmICgqY3VycmVudENoYXJh
Y3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcoJykgewogICAgICAgICAgICAgICAgIG1fdG9r
ZW4gPSBGVU5DVElPTjsKICAgICAgICAgICAgICAgICBpZiAoIWhhc0VzY2FwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAppbmRleCBiMDRjNWU1Li4zMmI5MzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CkBAIC0xMTIsMTIgKzExMiw2IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQ29udGVudChDU1NQ
cm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZVF1b3RlcyhDU1NQcm9w
ZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICBzdGF0aWMgYm9vbCBwYXJzZVZhbHVlKFN0eWxlUHJvcGVydHlTZXQqLCBDU1NQcm9wZXJ0eUlE
LCBjb25zdCBTdHJpbmcmLCBib29sIGltcG9ydGFudCwgRG9jdW1lbnQqKTsKLSAgICBib29sIGNz
c1ZhcmlhYmxlc0VuYWJsZWQoKSBjb25zdDsKLSAgICB2b2lkIHN0b3JlVmFyaWFibGVEZWNsYXJh
dGlvbihjb25zdCBDU1NQYXJzZXJTdHJpbmcmLCBQYXNzT3duUHRyPENTU1BhcnNlclZhbHVlTGlz
dD4sIGJvb2wgaW1wb3J0YW50KTsKLSNlbmRpZgotCiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
cGFyc2VBdHRyKENTU1BhcnNlclZhbHVlTGlzdCogYXJncyk7CiAKICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlPiBwYXJzZUJhY2tncm91bmRDb2xvcigpOwpAQCAtNDM3LDkgKzQzMSw2IEBAIHB1Ymxp
YzoKIAogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZU51
bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
Y3JlYXRlUHJpbWl0aXZlVmFyaWFibGVOYW1lVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLSNlbmRp
ZgogCiAgICAgc3RhdGljIEtVUkwgY29tcGxldGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlck1vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgKaW5kZXgg
MDU0NzExZS4uM2IzNmUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ck1vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCkBAIC02OSw5
ICs2OSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgYm9v
bCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBib29sIGlzQ1NTR3JpZExheW91dEVuYWJs
ZWQ7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgYm9vbCBpc0NTU1ZhcmlhYmxlc0Vu
YWJsZWQ7Ci0jZW5kaWYKICAgICBib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIGJv
b2wgZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWlya3NNb2RlOwogICAgIGJvb2wgdXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHAKaW5kZXggMGFjNTJiMi4uZGQ1MjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5jcHAKQEAgLTI1LDkgKzI1LDYgQEAKICNpbmNsdWRlICJDU1NGdW5jdGlv
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ckxpc3QuaCIKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJs
ZVZhbHVlLmgiCi0jZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04Nyw5ICs4NCw2
IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSgp
CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGZWYWx1ZSwgaXNJbnQg
PyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSIDogQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkc6
CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSToKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRToK
LSNlbmRpZgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I6
CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0cmluZywgcHJpbWl0
aXZlVW5pdCk7CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCBhY2Q3ODc3Li40OWYy
NGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTEyMSw5
ICsxMjEsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91Ymxl
Q29udmVyc2lvbihDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdAogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19VTklDT0RFX1JBTkdFOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19VTktOT1dOOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkk6Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklB
QkxFX05BTUU6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMTk3
LDEwICsxOTQsNiBAQCB1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZl
VHlwZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENf
UEVSQ0VOVEFHRV9XSVRIX05VTUJFUjsKICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAg
ICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9M
RU5HVEg7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDYWxjVmFyaWFibGU6
Ci0gICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047IC8vIFRoZSB0
eXBlIG9mIGEgY2FsY3VsYXRpb24gY29udGFpbmluZyBhIHZhcmlhYmxlIGNhbm5vdCBiZSBrbm93
biB1bnRpbCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIGRldGVybWluZWQuCi0jZW5kaWYK
ICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfVU5LTk9XTjsKICAgICB9CkBAIC0zODUsOSArMzc4LDYgQEAgdm9pZCBDU1NQcmltaXRpdmVW
YWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NfVVJJOgogICAgIGNhc2UgQ1NTX0FUVFI6CiAg
ICAgY2FzZSBDU1NfQ09VTlRFUl9OQU1FOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IGNhc2UgQ1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYKICAgICBjYXNlIENTU19QQVJTRVJfSEVY
Q09MT1I6CiAgICAgICAgIGlmIChtX3ZhbHVlLnN0cmluZykKICAgICAgICAgICAgIG1fdmFsdWUu
c3RyaW5nLT5kZXJlZigpOwpAQCAtNzY2LDkgKzc1Niw2IEBAIFN0cmluZyBDU1NQcmltaXRpdmVW
YWx1ZTo6Z2V0U3RyaW5nVmFsdWUoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgICAgIGNh
c2UgQ1NTX1NUUklORzoKICAgICAgICAgY2FzZSBDU1NfQVRUUjoKICAgICAgICAgY2FzZSBDU1Nf
VVJJOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJM
RV9OQU1FOgotI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS5zdHJpbmc7CiAgICAg
ICAgIGNhc2UgQ1NTX0lERU5UOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JQcm9wZXJ0eU5h
bWUobV92YWx1ZS5pZGVudCk7CkBAIC03ODYsOSArNzczLDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2
ZVZhbHVlOjpnZXRTdHJpbmdWYWx1ZSgpIGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTX1NUUklORzoK
ICAgICAgICAgY2FzZSBDU1NfQVRUUjoKICAgICAgICAgY2FzZSBDU1NfVVJJOgotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlm
CiAgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS5zdHJpbmc7CiAgICAgICAgIGNhc2UgQ1NTX0lE
RU5UOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlT3JQcm9wZXJ0eU5hbWUobV92YWx1ZS5pZGVu
dCk7CkBAIC0xMTE2LDExICsxMTAwLDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0
b21Dc3NUZXh0KCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NfVk1BWDoKICAgICAgICAgICAgIHRl
eHQgPSBmb3JtYXROdW1iZXIobV92YWx1ZS5udW0sICJ2bWF4Iik7CiAgICAgICAgICAgICBicmVh
azsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBDU1NfVkFSSUFCTEVf
TkFNRToKLSAgICAgICAgICAgIHRleHQgPSAiLXdlYmtpdC12YXIoIiArIFN0cmluZyhtX3ZhbHVl
LnN0cmluZykgKyAiKSI7Ci0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIH0KIAogICAg
IEFTU0VSVCghY3NzVGV4dENhY2hlKCkuY29udGFpbnModGhpcykpOwpAQCAtMTEyOSw0MCArMTEw
OCw2IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAg
ICAgcmV0dXJuIHRleHQ7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAg
aWYgKGlzVmFyaWFibGVOYW1lKCkgJiYgdmFyaWFibGVzLmNvbnRhaW5zKG1fdmFsdWUuc3RyaW5n
KSkKLSAgICAgICAgcmV0dXJuIHZhcmlhYmxlcy5nZXQobV92YWx1ZS5zdHJpbmcpOwotICAgIGlm
IChDU1NDYWxjVmFsdWUqIGNhbGNWYWx1ZSA9IGNzc0NhbGNWYWx1ZSgpKQotICAgICAgICByZXR1
cm4gY2FsY1ZhbHVlLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KTsKLSAgICBpZiAoUGFpciogcGFpclZhbHVlID0gZ2V0UGFpclZhbHVlKCkpCi0gICAgICAgIHJl
dHVybiBwYWlyVmFsdWUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwot
ICAgIGlmIChSZWN0KiByZWN0VmFsID0gZ2V0UmVjdFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBy
ZWN0VmFsLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBpZiAo
UXVhZCogcXVhZFZhbCA9IGdldFF1YWRWYWx1ZSgpKQotICAgICAgICByZXR1cm4gcXVhZFZhbC0+
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgaWYgKENTU0Jhc2lj
U2hhcGUqIHNoYXBlVmFsdWUgPSBnZXRTaGFwZVZhbHVlKCkpCi0gICAgICAgIHJldHVybiBzaGFw
ZVZhbHVlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICByZXR1
cm4gY3VzdG9tQ3NzVGV4dCgpOwotfQotCi1ib29sIENTU1ByaW1pdGl2ZVZhbHVlOjpoYXNWYXJp
YWJsZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgaWYgKENTU0NhbGNWYWx1ZSogY2FsY1ZhbHVl
ID0gY3NzQ2FsY1ZhbHVlKCkpCi0gICAgICAgIHJldHVybiBjYWxjVmFsdWUtPmhhc1ZhcmlhYmxl
UmVmZXJlbmNlKCk7Ci0gICAgaWYgKFBhaXIqIHBhaXJWYWx1ZSA9IGdldFBhaXJWYWx1ZSgpKQot
ICAgICAgICByZXR1cm4gcGFpclZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIGlm
IChRdWFkKiBxdWFkVmFsdWUgPSBnZXRRdWFkVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHF1YWRW
YWx1ZS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICBpZiAoUmVjdCogcmVjdFZhbHVlID0g
Z2V0UmVjdFZhbHVlKCkpCi0gICAgICAgIHJldHVybiByZWN0VmFsdWUtPmhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCk7Ci0gICAgaWYgKENTU0Jhc2ljU2hhcGUqIHNoYXBlVmFsdWUgPSBnZXRTaGFwZVZh
bHVlKCkpCi0gICAgICAgIHJldHVybiBzaGFwZVZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
OwotICAgIHJldHVybiBpc1ZhcmlhYmxlTmFtZSgpOwotfQotI2VuZGlmCi0KIHZvaWQgQ1NTUHJp
bWl0aXZlVmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1
cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAg
aWYgKG1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1VSSSkKQEAgLTEzMjgsOSArMTI3Myw2IEBA
IGJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYg
b3RoZXIpIGNvbnN0CiAgICAgY2FzZSBDU1NfQ09VTlRFUl9OQU1FOgogICAgIGNhc2UgQ1NTX1BB
UlNFUl9JREVOVElGSUVSOgogICAgIGNhc2UgQ1NTX1BBUlNFUl9IRVhDT0xPUjoKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlmCiAg
ICAgICAgIHJldHVybiBlcXVhbChtX3ZhbHVlLnN0cmluZywgb3RoZXIubV92YWx1ZS5zdHJpbmcp
OwogICAgIGNhc2UgQ1NTX0NPVU5URVI6CiAgICAgICAgIHJldHVybiBtX3ZhbHVlLmNvdW50ZXIg
JiYgb3RoZXIubV92YWx1ZS5jb3VudGVyICYmIG1fdmFsdWUuY291bnRlci0+ZXF1YWxzKCpvdGhl
ci5tX3ZhbHVlLmNvdW50ZXIpOwpAQCAtMTM2OSw5ICsxMzExLDYgQEAgdm9pZCBDU1NQcmltaXRp
dmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamUKICAgICBjYXNlIENTU19QQVJTRVJfSEVYQ09MT1I6CiAgICAgY2FzZSBDU1NfU1RS
SU5HOgogICAgIGNhc2UgQ1NTX1VSSToKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBj
YXNlIENTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlmCiAgICAgICAgIC8vIEZJWE1FOiBkZXRlY3Qg
b3RoZXIgY2FzZXMgd2hlbiBtX3ZhbHVlIGlzIFN0cmluZ0ltcGwqCiAgICAgICAgIGluZm8uYWRk
TWVtYmVyKG1fdmFsdWUuc3RyaW5nLCAidmFsdWUuc3RyaW5nIik7CiAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAppbmRleCAxOGQyM2ZhLi41YTU4OWUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApAQCAtMTMwLDEwICsxMzAs
NiBAQCBwdWJsaWM6CiAgICAgICAgIENTU19DQUxDID0gMTEzLAogICAgICAgICBDU1NfQ0FMQ19Q
RVJDRU5UQUdFX1dJVEhfTlVNQkVSID0gMTE0LAogICAgICAgICBDU1NfQ0FMQ19QRVJDRU5UQUdF
X1dJVEhfTEVOR1RIID0gMTE1LAotCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAg
IENTU19WQVJJQUJMRV9OQU1FID0gMTE2LAotI2VuZGlmCiAgICAgfTsKIAogICAgIC8vIFRoaXMg
ZW51bSBmb2xsb3dzIHRoZSBDU1NQYXJzZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5J
VF9GUkVRVUVOQ1kgZm9yIGZyZXF1ZW5jaWVzLgpAQCAtMTkwLDkgKzE4Niw2IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzRG90c1BlclBpeGVsKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0aXZlVHlwZSgp
ID09IENTU19EUFBYOyB9CiAgICAgYm9vbCBpc0RvdHNQZXJDZW50aW1ldGVyKCkgY29uc3QgeyBy
ZXR1cm4gcHJpbWl0aXZlVHlwZSgpID09IENTU19EUENNOyB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBib29sIGlzVmFyaWFibGVOYW1lKCkgY29uc3QgeyByZXR1cm4gcHJpbWl0
aXZlVHlwZSgpID09IENTU19WQVJJQUJMRV9OQU1FOyB9Ci0jZW5kaWYKICAgICBib29sIGlzVmll
d3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9wcmltaXRpdmVVbml0VHlw
ZSA+PSBDU1NfVlcgJiYgbV9wcmltaXRpdmVVbml0VHlwZSA8PSBDU1NfVk1BWDsgfQogCiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZUlkZW50aWZpZXIoaW50
IGlkZW50aWZpZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NQcmltaXRpdmVWYWx1ZShpZGVu
dGlmaWVyKSk7IH0KQEAgLTMwNiwxMCArMjk5LDYgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGlubGluZSBvcGVyYXRvciBUKCkgY29uc3Q7IC8vIERlZmluZWQgaW4gQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCiAKICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBj
b25zdDsKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAog
ICAgIGJvb2wgaXNRdWlya1ZhbHVlKCkgeyByZXR1cm4gbV9pc1F1aXJrVmFsdWU7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNjZj
MDA4Mi4uN2E3NjFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oCkBAIC00MjE0LDkgKzQyMTQsNiBAQCBlbnVtIExlbmd0aENvbnZlcnNpb24g
ewogCiB0ZW1wbGF0ZTxpbnQgc3VwcG9ydGVkPiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNv
bnZlcnRUb0xlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUs
IGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQogewotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIEFTU0VSVCghaGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci0j
ZW5kaWYKICAgICBpZiAoKHN1cHBvcnRlZCAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4
ZWRGbG9hdENvbnZlcnNpb24pKSAmJiBpc0ZvbnRSZWxhdGl2ZUxlbmd0aCgpICYmICghc3R5bGUg
fHwgIXJvb3RTdHlsZSkpCiAgICAgICAgIHJldHVybiBMZW5ndGgoVW5kZWZpbmVkKTsKICAgICBp
ZiAoKHN1cHBvcnRlZCAmIEZpeGVkSW50ZWdlckNvbnZlcnNpb24pICYmIGlzTGVuZ3RoKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCA3NzczNWM0Li4yNTJmZDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50
YXRpb24uaCIKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1Zhcmlh
YmxlVmFsdWUuaCIKLSNlbmRpZgotCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yOTMsOSArMjg5LDYgQEAgYm9vbCBDU1NQcm9w
ZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRSZW5kZXJpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRT
aGFkb3c6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06Ci0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVZpc2liaWxpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFz
cGVjdFJhdGlvOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9udGFsU3Bh
Y2luZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggZmEzYjJiZi4uY2MyMjk0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTU3LDkgKzU3LDYgQEAgcHVibGljOgogICAgICAg
ICA6IG1fbWV0YWRhdGEocHJvcGVydHlJRCwgc2hvcnRoYW5kSUQsIGltcG9ydGFudCwgaW1wbGlj
aXQsIGlzSW5oZXJpdGVkUHJvcGVydHkocHJvcGVydHlJRCkpCiAgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKICAgICB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgQVNTRVJUKChwcm9w
ZXJ0eUlEID09IENTU1Byb3BlcnR5VmFyaWFibGUpID09IChtX3ZhbHVlICYmIG1fdmFsdWUtPmlz
VmFyaWFibGVWYWx1ZSgpKSk7Ci0jZW5kaWYKICAgICB9CiAKICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMuCkBAIC02Nyw5ICs2NCw2IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX21ldGFkYXRhKG1l
dGFkYXRhKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgIEFTU0VSVCgobWV0YWRhdGEubV9wcm9wZXJ0eUlEID09IENTU1Byb3Bl
cnR5VmFyaWFibGUpID09IChtX3ZhbHVlICYmIG1fdmFsdWUtPmlzVmFyaWFibGVWYWx1ZSgpKSk7
Ci0jZW5kaWYKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIGlkKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4obV9tZXRhZGF0YS5tX3Byb3BlcnR5SUQpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCmluZGV4IDVmODExN2YuLjg5ZmY0N2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCkBAIC00MSwxNSArNDEsNiBA
QCBTdHJpbmcgQ1NTUmVmbGVjdFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICByZXR1
cm4gbV9kaXJlY3Rpb24tPmNzc1RleHQoKSArICcgJyArIG1fb2Zmc2V0LT5jc3NUZXh0KCk7CiB9
CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmlu
ZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIGlmIChtX21hc2spCi0gICAgICAg
IHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZh
cmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX21hc2stPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpOwotICAgIHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXplUmVz
b2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NS
ZWZsZWN0VmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1
cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAg
aWYgKG1fbWFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaAppbmRleCAwMDJjMzc4
Li4zMWQ5YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5oCkBAIC00OCw5ICs0
OCw2IEBAIHB1YmxpYzoKICAgICBDU1NWYWx1ZSogbWFzaygpIGNvbnN0IHsgcmV0dXJuIG1fbWFz
ay5nZXQoKTsgfQogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFy
aWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7Ci0jZW5k
aWYKIAogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4m
LCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAKaW5kZXggYzhmOTc5OC4uYjY4NTU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC00
Nyw5ICs0Nyw2IEBACiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCi0j
aWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NTVmFyaWFibGVWYWx1ZS5oIgot
I2VuZGlmCiAjaW5jbHVkZSAiRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAiRm9udEZlYXR1cmVWYWx1
ZS5oIgogI2luY2x1ZGUgIlNoYWRvd1ZhbHVlLmgiCkBAIC0yNDAsMTEgKzIzNyw2IEBAIHZvaWQg
Q1NTVmFsdWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1NoYWRlclZh
bHVlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0g
ICAgY2FzZSBWYXJpYWJsZUNsYXNzOgotICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBDU1NWYXJp
YWJsZVZhbHVlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmpl
Y3RJbmZvKTsKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBj
YXNlIFNWR0NvbG9yQ2xhc3M6CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFNWR0NvbG9yKj4o
dGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKQEAg
LTM1NywxMCArMzQ5LDYgQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBv
dGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPFdlYktpdENT
U1NoYWRlclZhbHVlPigqdGhpcywgb3RoZXIpOwogI2VuZGlmCiAjZW5kaWYKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBWYXJpYWJsZUNsYXNzOgotICAgICAgICAgICAg
cmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTVmFyaWFibGVWYWx1ZT4oKnRoaXMsIG90aGVyKTsK
LSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKICAg
ICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPFNWR0NvbG9yPigqdGhpcywgb3RoZXIp
OwpAQCAtNDU1LDEwICs0NDMsNiBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTU2hhZGVyVmFsdWUqPih0
aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogI2VuZGlmCiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NWYXJpYWJsZVZhbHVlKj4odGhpcyktPnZhbHVlKCk7Ci0jZW5kaWYKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIGNhc2UgU1ZHQ29sb3JDbGFzczoKICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFNWR0NvbG9yKj4odGhpcyktPmN1c3RvbUNzc1RleHQoKTsKQEAgLTQ3
MiwyNCArNDU2LDYgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NW
YWx1ZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3Ry
aW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgc3dpdGNoIChjbGFzc1R5cGUo
KSkgewotICAgIGNhc2UgUHJpbWl0aXZlQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZp
bmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBjYXNlIFJlZmxlY3RDbGFzczoKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1JlZmxlY3RWYWx1ZSo+KHRoaXMpLT5jdXN0b21T
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBjYXNlIFZhbHVlTGlz
dENsYXNzOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTVmFsdWVMaXN0Kj4o
dGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAg
IGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxjb25zdCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gY3NzVGV4dCgpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIENTU1ZhbHVlOjpkZXN0cm95
KCkKIHsKICAgICBpZiAobV9pc1RleHRDbG9uZSkgewpAQCAtNTk2LDExICs1NjIsNiBAQCB2b2lk
IENTU1ZhbHVlOjpkZXN0cm95KCkKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAjZW5kaWYKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAg
IGRlbGV0ZSBzdGF0aWNfY2FzdDxDU1NWYXJpYWJsZVZhbHVlKj4odGhpcyk7Ci0gICAgICAgIHJl
dHVybjsKLSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgog
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U1ZHQ29sb3IqPih0aGlzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmgKaW5kZXggOGQ1NDI1ZC4uZGUzYzYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTU5
LDkgKzU5LDYgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAgICB2
b2lkIHNldENzc1RleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIHsgfSAvLyBGSVhN
RTogTm90IGltcGxlbWVudGVkLgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmlu
ZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcs
IFN0cmluZz4mKSBjb25zdDsKLSNlbmRpZgogCiAgICAgYm9vbCBpc1ByaW1pdGl2ZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gUHJpbWl0aXZlQ2xhc3M7IH0KICAgICBib29s
IGlzVmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPj0gVmFsdWVMaXN0Q2xh
c3M7IH0KQEAgLTk5LDkgKzk2LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNXZWJLaXRDU1NTaGFk
ZXJWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU1NoYWRlckNs
YXNzOyB9CiAjZW5kaWYKICNlbmRpZiAvLyBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgYm9vbCBpc1ZhcmlhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX2NsYXNzVHlwZSA9PSBWYXJpYWJsZUNsYXNzOyB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoU1ZH
KQogICAgIGJvb2wgaXNTVkdDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNW
R0NvbG9yQ2xhc3MgfHwgbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsgfQogICAgIGJvb2wg
aXNTVkdQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFNWR1BhaW50Q2xhc3M7
IH0KQEAgLTE2OCw5ICsxNjIsNiBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKENTU19GSUxURVJT
KSAmJiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgICAgIFdlYktpdENTU1NoYWRlckNsYXNzLAog
I2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIFZhcmlhYmxlQ2xhc3Ms
Ci0jZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogICAgICAgICBTVkdDb2xvckNsYXNzLAogICAgICAg
ICBTVkdQYWludENsYXNzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcAppbmRleCBmNWIx
NzkyLi4zZTM1ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmNwcApAQCAtMTM5LDM2
ICsxMzksNiBAQCBib29sIENTU1ZhbHVlTGlzdDo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlJiBvdGhl
cikgY29uc3QKICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUtPmVxdWFscyhvdGhlcik7CiB9CiAK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NWYWx1ZUxpc3Q6OmN1c3RvbVNl
cmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3Ry
aW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAg
IFN0cmluZyBzZXBhcmF0b3I7Ci0gICAgc3dpdGNoIChtX3ZhbHVlTGlzdFNlcGFyYXRvcikgewot
ICAgIGNhc2UgU3BhY2VTZXBhcmF0b3I6Ci0gICAgICAgIHNlcGFyYXRvciA9ICIgIjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDb21tYVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0g
IiwgIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKLSAgICAgICAg
c2VwYXJhdG9yID0gIiAvICI7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLQotICAgIHVuc2lnbmVkIHNpemUgPSBtX3Zh
bHVlcy5zaXplKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7IGkrKykgewot
ICAgICAgICBpZiAoIXJlc3VsdC5pc0VtcHR5KCkpCi0gICAgICAgICAgICByZXN1bHQuYXBwZW5k
KHNlcGFyYXRvcik7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQobV92YWx1ZXNbaV0tPnNlcmlhbGl6
ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmVz
dWx0LnRvU3RyaW5nKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NWYWx1ZUxpc3Q6OmFkZFN1YnJl
c291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBTdHlsZVNoZWV0
Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAgc2l6ZV90IHNpemUgPSBtX3ZhbHVl
cy5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXggMTM2OWZlMS4uZTQ5MmNk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApAQCAtNjIsOSArNjIsNiBAQCBwdWJsaWM6
CiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKICAgICBib29sIGVxdWFscyhjb25z
dCBDU1NWYWx1ZUxpc3QmKSBjb25zdDsKICAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYWx1ZSYp
IGNvbnN0OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmlu
Zz4mKSBjb25zdDsKLSNlbmRpZgogCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhM
aXN0SGFzaFNldDxLVVJMPiYsIGNvbnN0IFN0eWxlU2hlZXRDb250ZW50cyopIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDhjNTZhZC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVWYWx1ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ1NTVmFy
aWFibGVWYWx1ZV9oCi0jZGVmaW5lIENTU1ZhcmlhYmxlVmFsdWVfaAotCi0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0KLSNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKLSNpbmNsdWRlICJD
U1NQcm9wZXJ0eU5hbWVzLmgiCi0jaW5jbHVkZSAiQ1NTVmFsdWUuaCIKLSNpbmNsdWRlICJXZWJD
b3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgQ1NTVmFyaWFibGVWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFyaWFibGVWYWx1ZT4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTVmFyaWFibGVWYWx1ZShuYW1lLCB2YWx1ZSkpOwotICAgIH0KLQotICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQotICAgIGNv
bnN0IFN0cmluZyYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlOyB9Ci0KLSAgICBib29s
IGVxdWFscyhjb25zdCBDU1NWYXJpYWJsZVZhbHVlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9u
YW1lID09IG90aGVyLm1fbmFtZSAmJiBtX3ZhbHVlID09IG90aGVyLm1fdmFsdWU7IH0KLQotICAg
IHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0Ci0gICAgewotICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAg
IGluZm8uYWRkTWVtYmVyKG1fbmFtZSwgIm5hbWUiKTsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIo
bV92YWx1ZSwgInZhbHVlIik7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIENTU1ZhcmlhYmxlVmFs
dWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgICAg
ICA6IENTU1ZhbHVlKFZhcmlhYmxlQ2xhc3MpCi0gICAgICAgICwgbV9uYW1lKG5hbWUpCi0gICAg
ICAgICwgbV92YWx1ZSh2YWx1ZSkKLSAgICB7Ci0gICAgfQotCi0gICAgY29uc3QgQXRvbWljU3Ry
aW5nIG1fbmFtZTsKLSAgICBjb25zdCBTdHJpbmcgbV92YWx1ZTsKLX07Ci0KLX0KLQotI2VuZGlm
IC8qIEVOQUJMRShDU1NfVkFSSUFCTEVTKSAqLwotI2VuZGlmIC8qIENTU1ZhcmlhYmxlVmFsdWVf
aCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1BhaXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9QYWlyLmgKaW5kZXggZmFhZGIyMC4uNjIxMTg3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1BhaXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUGFpci5oCkBAIC01
OCwxNiArNTgsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGVxdWFscyhjb25zdCBQYWlyJiBvdGhl
cikgY29uc3QgeyByZXR1cm4gY29tcGFyZUNTU1ZhbHVlUHRyKG1fZmlyc3QsIG90aGVyLm1fZmly
c3QpICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX3NlY29uZCwgb3RoZXIubV9zZWNvbmQpOyB9CiAK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5n
VmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMp
IGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJpbmcoZmlyc3QoKS0+
Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmQoKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5n
VmFyaWFibGVzKHZhcmlhYmxlcykpOwotICAgIH0KLSAgICAKLSAgICBib29sIGhhc1ZhcmlhYmxl
UmVmZXJlbmNlKCkgY29uc3QgeyByZXR1cm4gZmlyc3QoKS0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KSB8fCBzZWNvbmQoKS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsgfQotI2VuZGlmCi0KIHByaXZh
dGU6CiAgICAgUGFpcigpIDogbV9maXJzdCgwKSwgbV9zZWNvbmQoMCkgeyB9CiAgICAgUGFpcihQ
YXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBmaXJzdCwgUGFzc1JlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gc2Vjb25kKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1JlY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9SZWN0LmgKaW5kZXggNDBhMmNmZS4uZmZiMjBhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1JlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
UmVjdC5oCkBAIC00NywxNiArNDcsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAmJiBjb21wYXJl
Q1NTVmFsdWVQdHIobV9ib3R0b20sIG90aGVyLm1fYm90dG9tKTsKICAgICB9CiAKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtX3RvcC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAg
ICAgICAgICAgfHwgbV9yaWdodC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICAgICAg
fHwgbV9ib3R0b20tPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAgICAgIHx8IG1fbGVm
dC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICB9Ci0jZW5kaWYKLQogcHJvdGVjdGVkOgog
ICAgIFJlY3RCYXNlKCkgeyB9CiAgICAgUmVjdEJhc2UoY29uc3QgUmVjdEJhc2UmIGNsb25lRnJv
bSkKQEAgLTg3LDE2ICs3Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGdlbmVyYXRlQ1NT
U3RyaW5nKHRvcCgpLT5jc3NUZXh0KCksIHJpZ2h0KCktPmNzc1RleHQoKSwgYm90dG9tKCktPmNz
c1RleHQoKSwgbGVmdCgpLT5jc3NUZXh0KCkpOwogICAgIH0KIAotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFz
aE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBnZW5lcmF0ZUNTU1N0cmluZyh0b3AoKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgICAgICByaWdodCgpLT5jdXN0b21TZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgIGJvdHRvbSgp
LT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAg
ICAgIGxlZnQoKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykp
OwotICAgIH0KLSNlbmRpZgotCiBwcml2YXRlOgogICAgIFJlY3QoKSB7IH0KICAgICBSZWN0KGNv
bnN0IFJlY3QmIGNsb25lRnJvbSkgOiBSZWN0QmFzZShjbG9uZUZyb20pLCBSZWZDb3VudGVkPFJl
Y3Q+KCkgeyB9CkBAIC0xMTcsMTYgKzk3LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZ2Vu
ZXJhdGVDU1NTdHJpbmcodG9wKCktPmNzc1RleHQoKSwgcmlnaHQoKS0+Y3NzVGV4dCgpLCBib3R0
b20oKS0+Y3NzVGV4dCgpLCBsZWZ0KCktPmNzc1RleHQoKSk7CiAgICAgfQogCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhj
b25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAg
IHsKLSAgICAgICAgcmV0dXJuIGdlbmVyYXRlQ1NTU3RyaW5nKHRvcCgpLT5jdXN0b21TZXJpYWxp
emVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgIHJpZ2h0KCktPmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAg
Ym90dG9tKCktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAot
ICAgICAgICAgICAgbGVmdCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKSk7Ci0gICAgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgUXVhZCgpIHsgfQogICAg
IFF1YWQoY29uc3QgUXVhZCYgY2xvbmVGcm9tKSA6IFJlY3RCYXNlKGNsb25lRnJvbSksIFJlZkNv
dW50ZWQ8UXVhZD4oKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVBy
b3BlcnR5U2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcApp
bmRleCBiM2RiYzI3Li45MTA5MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0eVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwCkBAIC0zNCwxMCArMzQsNiBAQAogI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50
YXRpb25WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJsZVZhbHVlLmgiCi0j
ZW5kaWYKLQogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0
Zi9BU0NJSUNUeXBlLmg+CkBAIC03OTcsMTMgKzc5Myw2IEBAIFN0cmluZyBTdHlsZVByb3BlcnR5
U2V0Ojphc1RleHQoKSBjb25zdAogICAgICAgICBTdHJpbmcgdmFsdWU7CiAKICAgICAgICAgc3dp
dGNoIChwcm9wZXJ0eUlEKSB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlWYXJpYWJsZToKLSAgICAgICAgICAgIGlmIChudW1EZWNscysrKQotICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKLSAgICAgICAgICAgIHJlc3VsdC5hcHBl
bmQocHJvcGVydHkuY3NzVGV4dCgpKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotI2VuZGlmCiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YOgogICAgICAgICAgICAg
cG9zaXRpb25YUHJvcGVydHlJbmRleCA9IG47CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTEz
MDIsMTQgKzEyOTEsNiBAQCBQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IFN0eWxlUHJvcGVy
dHlTZXQ6OmNyZWF0ZShjb25zdCBDU1NQcm9wZXJ0eSogcHJvcGVydAogCiBTdHJpbmcgU3R5bGVQ
cm9wZXJ0eVNldDo6UHJvcGVydHlSZWZlcmVuY2U6OmNzc05hbWUoKSBjb25zdAogewotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGlmIChpZCgpID09IENTU1Byb3BlcnR5VmFyaWFibGUp
IHsKLSAgICAgICAgQVNTRVJUKHByb3BlcnR5VmFsdWUoKS0+aXNWYXJpYWJsZVZhbHVlKCkpOwot
ICAgICAgICBpZiAoIXByb3BlcnR5VmFsdWUoKS0+aXNWYXJpYWJsZVZhbHVlKCkpCi0gICAgICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsgLy8gU2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpZiBp
dCBkb2VzLCBhdm9pZCBhIGJhZCBjYXN0LgotICAgICAgICByZXR1cm4gIi13ZWJraXQtdmFyLSIg
KyBzdGF0aWNfY2FzdDxjb25zdCBDU1NWYXJpYWJsZVZhbHVlKj4ocHJvcGVydHlWYWx1ZSgpKS0+
bmFtZSgpOwotICAgIH0KLSNlbmRpZgogICAgIHJldHVybiBnZXRQcm9wZXJ0eU5hbWVTdHJpbmco
aWQoKSk7CiB9CiAKQEAgLTEzMjUsNSArMTMwNiw0IEBAIFN0cmluZyBTdHlsZVByb3BlcnR5U2V0
OjpQcm9wZXJ0eVJlZmVyZW5jZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdC50
b1N0cmluZygpOwogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCAyMDIzMWNkLi5iNzRkNTE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC00OCw5ICs0OCw2IEBACiAjaW5jbHVkZSAiQ1NTU3VwcG9y
dHNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU1ZhbHVlTGlzdC5oIgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNT
U1ZhcmlhYmxlVmFsdWUuaCIKLSNlbmRpZgogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5j
bHVkZSAiQ2FsY3VsYXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCkBAIC0x
MjMwLDkgKzEyMjcsNiBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTdHlsZVJlc29sdmVyOjpz
dHlsZUZvclBhZ2UoaW50IHBhZ2VJbmRleCkKICAgICBib29sIGluaGVyaXRlZE9ubHkgPSBmYWxz
ZTsKIAogICAgIE1hdGNoUmVzdWx0JiByZXN1bHQgPSBjb2xsZWN0b3IubWF0Y2hlZFJlc3VsdCgp
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8
VmFyaWFibGVEZWZpbml0aW9ucz4ocmVzdWx0LCBmYWxzZSwgMCwgcmVzdWx0Lm1hdGNoZWRQcm9w
ZXJ0aWVzLnNpemUoKSAtIDEsIGluaGVyaXRlZE9ubHkpOwotI2VuZGlmCiAgICAgYXBwbHlNYXRj
aGVkUHJvcGVydGllczxIaWdoUHJpb3JpdHlQcm9wZXJ0aWVzPihyZXN1bHQsIGZhbHNlLCAwLCBy
ZXN1bHQubWF0Y2hlZFByb3BlcnRpZXMuc2l6ZSgpIC0gMSwgaW5oZXJpdGVkT25seSk7CiAKICAg
ICAvLyBJZiBvdXIgZm9udCBnb3QgZGlydGllZCwgZ28gYWhlYWQgYW5kIHVwZGF0ZSBpdCBub3cu
CkBAIC0xNzIyLDIxICsxNzE2LDEwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
aWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTZXQqIHByb3BlcnRpZXMsIFN0eWxlUnVsCiAgICAgICAg
ICAgICBjb250aW51ZTsKICNlbmRpZgogICAgICAgICBzd2l0Y2ggKHBhc3MpIHsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBWYXJpYWJsZURlZmluaXRpb25zOgotICAg
ICAgICAgICAgQ09NUElMRV9BU1NFUlQoQ1NTUHJvcGVydHlWYXJpYWJsZSA8IGZpcnN0Q1NTUHJv
cGVydHksIENTU192YXJpYWJsZV9pc19iZWZvcmVfZmlyc3RfcHJvcGVydHkpOwotICAgICAgICAg
ICAgaWYgKHByb3BlcnR5ID09IENTU1Byb3BlcnR5VmFyaWFibGUpCi0gICAgICAgICAgICAgICAg
YXBwbHlQcm9wZXJ0eShjdXJyZW50LmlkKCksIGN1cnJlbnQudmFsdWUoKSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSNlbmRpZgogICAgICAgICBjYXNlIEhpZ2hQcmlvcml0eVByb3BlcnRpZXM6CiAg
ICAgICAgICAgICBDT01QSUxFX0FTU0VSVChmaXJzdENTU1Byb3BlcnR5ID09IENTU1Byb3BlcnR5
Q29sb3IsIENTU19jb2xvcl9pc19maXJzdF9wcm9wZXJ0eSk7CiAgICAgICAgICAgICBDT01QSUxF
X0FTU0VSVChDU1NQcm9wZXJ0eVpvb20gPT0gQ1NTUHJvcGVydHlDb2xvciArIDE3LCBDU1Nfem9v
bV9pc19lbmRfb2ZfZmlyc3RfcHJvcF9yYW5nZSk7CiAgICAgICAgICAgICBDT01QSUxFX0FTU0VS
VChDU1NQcm9wZXJ0eUxpbmVIZWlnaHQgPT0gQ1NTUHJvcGVydHlab29tICsgMSwgQ1NTX2xpbmVf
aGVpZ2h0X2lzX2FmdGVyX3pvb20pOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAg
ICAgICAgaWYgKHByb3BlcnR5ID09IENTU1Byb3BlcnR5VmFyaWFibGUpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0jZW5kaWYKICAgICAgICAgICAgIC8vIGdpdmUgc3BlY2lhbCBwcmlvcml0
eSB0byBmb250LXh4eCwgY29sb3IgcHJvcGVydGllcywgZXRjCiAgICAgICAgICAgICBpZiAocHJv
cGVydHkgPCBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQpCiAgICAgICAgICAgICAgICAgYXBwbHlQcm9w
ZXJ0eShjdXJyZW50LmlkKCksIGN1cnJlbnQudmFsdWUoKSk7CkBAIC0xOTAwLDE0ICsxODgzLDYg
QEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseU1hdGNoZWRQcm9wZXJ0aWVzKGNvbnN0IE1hdGNo
UmVzdWx0JiBtYXRjaFJlc3VsdCwgY29uc3QKICAgICAgICAgYXBwbHlJbmhlcml0ZWRPbmx5ID0g
dHJ1ZTsgCiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgLy8gRmlyc3Qg
YXBwbHkgYWxsIHZhcmlhYmxlIGRlZmluaXRpb25zLCBhcyB0aGV5IG1heSBiZSB1c2VkIGR1cmlu
ZyBhcHBsaWNhdGlvbiBvZiBsYXRlciBwcm9wZXJ0aWVzLgotICAgIGFwcGx5TWF0Y2hlZFByb3Bl
cnRpZXM8VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIGZhbHNlLCAwLCBtYXRjaFJl
c3VsdC5tYXRjaGVkUHJvcGVydGllcy5zaXplKCkgLSAxLCBhcHBseUluaGVyaXRlZE9ubHkpOwot
ICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1
bHQsIHRydWUsIG1hdGNoUmVzdWx0LnJhbmdlcy5maXJzdEF1dGhvclJ1bGUsIG1hdGNoUmVzdWx0
LnJhbmdlcy5sYXN0QXV0aG9yUnVsZSwgYXBwbHlJbmhlcml0ZWRPbmx5KTsKLSAgICBhcHBseU1h
dGNoZWRQcm9wZXJ0aWVzPFZhcmlhYmxlRGVmaW5pdGlvbnM+KG1hdGNoUmVzdWx0LCB0cnVlLCBt
YXRjaFJlc3VsdC5yYW5nZXMuZmlyc3RVc2VyUnVsZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmxhc3RV
c2VyUnVsZSwgYXBwbHlJbmhlcml0ZWRPbmx5KTsKLSAgICBhcHBseU1hdGNoZWRQcm9wZXJ0aWVz
PFZhcmlhYmxlRGVmaW5pdGlvbnM+KG1hdGNoUmVzdWx0LCB0cnVlLCBtYXRjaFJlc3VsdC5yYW5n
ZXMuZmlyc3RVQVJ1bGUsIG1hdGNoUmVzdWx0LnJhbmdlcy5sYXN0VUFSdWxlLCBhcHBseUluaGVy
aXRlZE9ubHkpOwotI2VuZGlmCi0KICAgICAvLyBOb3cgd2UgaGF2ZSBhbGwgb2YgdGhlIG1hdGNo
ZWQgcnVsZXMgaW4gdGhlIGFwcHJvcHJpYXRlIG9yZGVyLiBXYWxrIHRoZSBydWxlcyBhbmQgYXBw
bHkKICAgICAvLyBoaWdoLXByaW9yaXR5IHByb3BlcnRpZXMgZmlyc3QsIGkuZS4sIHRob3NlIHBy
b3BlcnRpZXMgdGhhdCBvdGhlciBwcm9wZXJ0aWVzIGRlcGVuZCBvbi4KICAgICAvLyBUaGUgb3Jk
ZXIgaXMgKDEpIGhpZ2gtcHJpb3JpdHkgbm90IGltcG9ydGFudCwgKDIpIGhpZ2gtcHJpb3JpdHkg
aW1wb3J0YW50LCAoMykgbm9ybWFsIG5vdCBpbXBvcnRhbnQKQEAgLTIxNTcsNjggKzIxMzIsOCBA
QCBzdGF0aWMgYm9vbCBjcmVhdGVHcmlkUG9zaXRpb24oQ1NTVmFsdWUqIHZhbHVlLCBHcmlkUG9z
aXRpb24mIHBvc2l0aW9uKQogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi1zdGF0aWMgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZShDU1NWYWx1ZSogdmFs
dWUpCi17Ci0gICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpIHsKLSAgICAgICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZS0+aGFzVmFyaWFi
bGVSZWZlcmVuY2UoKTsKLSAgICB9Ci0KLSAgICBpZiAodmFsdWUtPmlzQ2FsY3VsYXRpb25WYWx1
ZSgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpLT5o
YXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotCi0gICAgaWYgKHZhbHVlLT5pc1JlZmxlY3RWYWx1ZSgp
KSB7Ci0gICAgICAgIENTU1JlZmxlY3RWYWx1ZSogcmVmbGVjdFZhbHVlID0gc3RhdGljX2Nhc3Q8
Q1NTUmVmbGVjdFZhbHVlKj4odmFsdWUpOwotICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogZGly
ZWN0aW9uID0gcmVmbGVjdFZhbHVlLT5kaXJlY3Rpb24oKTsKLSAgICAgICAgQ1NTUHJpbWl0aXZl
VmFsdWUqIG9mZnNldCA9IHJlZmxlY3RWYWx1ZS0+b2Zmc2V0KCk7Ci0gICAgICAgIENTU1ZhbHVl
KiBtYXNrID0gcmVmbGVjdFZhbHVlLT5tYXNrKCk7Ci0gICAgICAgIHJldHVybiAoZGlyZWN0aW9u
ICYmIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKGRpcmVjdGlvbikpIHx8IChvZmZzZXQgJiYgaGFzVmFy
aWFibGVSZWZlcmVuY2Uob2Zmc2V0KSkgfHwgKG1hc2sgJiYgaGFzVmFyaWFibGVSZWZlcmVuY2Uo
bWFzaykpOwotICAgIH0KLQotICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVl
OyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKLSAgICAgICAgaWYgKGhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKGkudmFsdWUoKSkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgU3R5bGVSZXNvbHZlcjo6cmVzb2x2ZVZhcmlhYmxl
cyhDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUsIFZlY3RvcjxzdGQ6OnBhaXI8Q1NT
UHJvcGVydHlJRCwgU3RyaW5nPiA+JiBrbm93bkV4cHJlc3Npb25zKQotewotICAgIHN0ZDo6cGFp
cjxDU1NQcm9wZXJ0eUlELCBTdHJpbmc+IGV4cHJlc3Npb24oaWQsIHZhbHVlLT5zZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoKm1fc3RhdGUuc3R5bGUoKS0+dmFyaWFibGVzKCkpKTsKLQotICAg
IGlmIChrbm93bkV4cHJlc3Npb25zLmNvbnRhaW5zKGV4cHJlc3Npb24pKQotICAgICAgICByZXR1
cm47IC8vIGN5Y2xlIGRldGVjdGVkLgotCi0gICAga25vd25FeHByZXNzaW9ucy5hcHBlbmQoZXhw
cmVzc2lvbik7Ci0KLSAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgZmFzdGVyIG5vdCB0byByZS1w
YXJzZSBmcm9tIHN0cmluZ3MsIGJ1dCBmb3Igbm93IENTUyBwcm9wZXJ0eSB2YWxpZGF0aW9uIGxp
dmVzIGluc2lkZSB0aGUgcGFyc2VyIHNvIHdlIGRvIGl0IHRoZXJlLgotICAgIFJlZlB0cjxTdHls
ZVByb3BlcnR5U2V0PiByZXN1bHRTZXQgPSBTdHlsZVByb3BlcnR5U2V0OjpjcmVhdGUoKTsKLSAg
ICBpZiAoIUNTU1BhcnNlcjo6cGFyc2VWYWx1ZShyZXN1bHRTZXQuZ2V0KCksIGlkLCBleHByZXNz
aW9uLnNlY29uZCwgZmFsc2UsIGRvY3VtZW50KCkpKQotICAgICAgICByZXR1cm47IC8vIGV4cHJl
c3Npb24gZmFpbGVkIHRvIHBhcnNlLgotCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJl
c3VsdFNldC0+cHJvcGVydHlDb3VudCgpOyBpKyspIHsKLSAgICAgICAgU3R5bGVQcm9wZXJ0eVNl
dDo6UHJvcGVydHlSZWZlcmVuY2UgcHJvcGVydHkgPSByZXN1bHRTZXQtPnByb3BlcnR5QXQoaSk7
Ci0gICAgICAgIGlmIChwcm9wZXJ0eS5pZCgpICE9IENTU1Byb3BlcnR5VmFyaWFibGUgJiYgaGFz
VmFyaWFibGVSZWZlcmVuY2UocHJvcGVydHkudmFsdWUoKSkpCi0gICAgICAgICAgICByZXNvbHZl
VmFyaWFibGVzKHByb3BlcnR5LmlkKCksIHByb3BlcnR5LnZhbHVlKCksIGtub3duRXhwcmVzc2lv
bnMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBhcHBseVByb3BlcnR5KHByb3BlcnR5Lmlk
KCksIHByb3BlcnR5LnZhbHVlKCkpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFN0eWxlUmVz
b2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQog
ewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGlmIChpZCAhPSBDU1NQcm9wZXJ0eVZh
cmlhYmxlICYmIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKHZhbHVlKSkgewotICAgICAgICBWZWN0b3I8
c3RkOjpwYWlyPENTU1Byb3BlcnR5SUQsIFN0cmluZz4gPiBrbm93bkV4cHJlc3Npb25zOwotICAg
ICAgICByZXNvbHZlVmFyaWFibGVzKGlkLCB2YWx1ZSwga25vd25FeHByZXNzaW9ucyk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIC8vIENTUyB2YXJpYWJsZXMgZG9uJ3Qg
cmVzb2x2ZSBzaG9ydGhhbmRzIGF0IHBhcnNpbmcgdGltZSwgc28gdGhpcyBzaG91bGQgYmUgKmFm
dGVyKiBoYW5kbGluZyB2YXJpYWJsZXMuCiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghaXNFeHBh
bmRlZFNob3J0aGFuZChpZCksICJTaG9ydGhhbmQgcHJvcGVydHkgaWQgPSAlZCB3YXNuJ3QgZXhw
YW5kZWQgYXQgcGFyc2luZyB0aW1lIiwgaWQpOwogCiAgICAgU3RhdGUmIHN0YXRlID0gbV9zdGF0
ZTsKQEAgLTIyMzYsMTcgKzIxNTEsNiBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVy
dHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgIGlmIChpc0luaGVyaXQg
JiYgIXN0YXRlLnBhcmVudFN0eWxlKCktPmhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVz
KCkgJiYgIUNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KGlkKSkKICAgICAgICAgc3Rh
dGUucGFyZW50U3R5bGUoKS0+c2V0SGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKTsK
IAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGlmIChpZCA9PSBDU1NQcm9wZXJ0eVZh
cmlhYmxlKSB7Ci0gICAgICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHZhbHVl
LT5pc1ZhcmlhYmxlVmFsdWUoKSk7Ci0gICAgICAgIENTU1ZhcmlhYmxlVmFsdWUqIHZhcmlhYmxl
ID0gc3RhdGljX2Nhc3Q8Q1NTVmFyaWFibGVWYWx1ZSo+KHZhbHVlKTsKLSAgICAgICAgQVNTRVJU
KCF2YXJpYWJsZS0+bmFtZSgpLmlzRW1wdHkoKSk7Ci0gICAgICAgIEFTU0VSVCghdmFyaWFibGUt
PnZhbHVlKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0VmFyaWFibGUo
dmFyaWFibGUtPm5hbWUoKSwgdmFyaWFibGUtPnZhbHVlKCkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotI2VuZGlmCi0KICAgICAvLyBDaGVjayBsb29rdXAgdGFibGUgZm9yIGltcGxlbWVudGF0
aW9ucyBhbmQgdXNlIHdoZW4gYXZhaWxhYmxlLgogICAgIGNvbnN0IFByb3BlcnR5SGFuZGxlciYg
aGFuZGxlciA9IG1fc3R5bGVCdWlsZGVyLnByb3BlcnR5SGFuZGxlcihpZCk7CiAgICAgaWYgKGhh
bmRsZXIuaXNWYWxpZCgpKSB7CkBAIC0zMDAwLDkgKzI5MDQsNiBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAg
IGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUb3A6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpOgotI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQotICAgIGNhc2UgQ1NTUHJvcGVydHlWYXJpYWJsZToKLSNlbmRpZgogICAgIGNhc2UgQ1NT
UHJvcGVydHlWZXJ0aWNhbEFsaWduOgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5Ogog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25EZWxheToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5oCmluZGV4IDEwYTQyMTguLmYwYjNhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuaApAQCAtMzkwLDkgKzM5MCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBseU1h
dGNoZWRQcm9wZXJ0aWVzKGNvbnN0IE1hdGNoUmVzdWx0JiwgY29uc3QgRWxlbWVudCopOwogCiAg
ICAgZW51bSBTdHlsZUFwcGxpY2F0aW9uUGFzcyB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgICAgIFZhcmlhYmxlRGVmaW5pdGlvbnMsCi0jZW5kaWYKICAgICAgICAgSGlnaFByaW9y
aXR5UHJvcGVydGllcywKICAgICAgICAgTG93UHJpb3JpdHlQcm9wZXJ0aWVzCiAgICAgfTsKQEAg
LTQwMCw5ICszOTcsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbHlNYXRjaGVkUHJvcGVydGll
cyhjb25zdCBNYXRjaFJlc3VsdCYsIGJvb2wgaW1wb3J0YW50LCBpbnQgc3RhcnRJbmRleCwgaW50
IGVuZEluZGV4LCBib29sIGluaGVyaXRlZE9ubHkpOwogICAgIHRlbXBsYXRlIDxTdHlsZUFwcGxp
Y2F0aW9uUGFzcyBwYXNzPgogICAgIHZvaWQgYXBwbHlQcm9wZXJ0aWVzKGNvbnN0IFN0eWxlUHJv
cGVydHlTZXQqIHByb3BlcnRpZXMsIFN0eWxlUnVsZSosIGJvb2wgaXNJbXBvcnRhbnQsIGJvb2wg
aW5oZXJpdGVkT25seSwgUHJvcGVydHlXaGl0ZWxpc3RUeXBlID0gUHJvcGVydHlXaGl0ZWxpc3RO
b25lKTsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2b2lkIHJlc29sdmVWYXJpYWJs
ZXMoQ1NTUHJvcGVydHlJRCwgQ1NTVmFsdWUqLCBWZWN0b3I8c3RkOjpwYWlyPENTU1Byb3BlcnR5
SUQsIFN0cmluZz4gPiYga25vd25FeHByZXNzaW9ucyk7Ci0jZW5kaWYKICAgICBzdGF0aWMgYm9v
bCBpc1ZhbGlkUmVnaW9uU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEKTsKICNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCiAgICAgc3RhdGljIGJvb2wgaXNWYWxpZEN1ZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmNwcAppbmRleCBjNTFlOTU4Li4wODE0YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKQEAgLTc5LDEzICs3OSw2IEBAIFN0cmluZyBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiAgICAgcmV0dXJu
IHRyYW5zZm9ybVZhbHVlVG9Dc3NTdHJpbmcobV90eXBlLCBDU1NWYWx1ZUxpc3Q6OmN1c3RvbUNz
c1RleHQoKSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHRyYW5zZm9ybVZhbHVlVG9Dc3NTdHJpbmcobV90eXBlLCBDU1NWYWx1ZUxpc3Q6OmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpKTsKLX0KLSNlbmRpZgot
CiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoY29uc3Qg
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUmIGNsb25lRnJvbSkKICAgICA6IENTU1ZhbHVlTGlzdChj
bG9uZUZyb20pCiAgICAgLCBtX3R5cGUoY2xvbmVGcm9tLm1fdHlwZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgKaW5kZXggZTBjMTQ2NC4uMzZhZWRhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgKQEAgLTY3
LDkgKzY3LDYgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsK
ICAgICBib29sIGVxdWFscyhjb25zdCBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSYgb3RoZXIpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBvdGhlci5tX3R5cGUgJiYgQ1NTVmFsdWVMaXN0OjplcXVh
bHMob3RoZXIpOyB9Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgU3RyaW5nIGN1c3Rv
bVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywg
U3RyaW5nPiYpIGNvbnN0OwotI2VuZGlmCiAKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25UeXBlIG9w
ZXJhdGlvblR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtl
cHJvcC5wbAppbmRleCA3NzM0MzU2Li4xYWYxZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBA
IC0xOTgsOSArMTk4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIENTU1Byb3BlcnR5
SUQgewogICAgIENTU1Byb3BlcnR5SW52YWxpZCA9IDAsCi0jaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCi0gICAgQ1NTUHJvcGVydHlWYXJpYWJsZSA9IDEsCi0jZW5kaWYKIEVPRgogCiBteSAkZmly
c3QgPSAxMDAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCAxODc2ZWIzLi5lYzNjYTgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTcwLDkgKzE3MCw2IEBAIFNldHRpbmdz
OjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIEVOQUJMRShDU1NfU1RJQ0tZX1BPU0lUSU9OKQog
ICAgICwgbV9jc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQodHJ1ZSkKICNlbmRpZgotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgICwgbV9jc3NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQotI2Vu
ZGlmCiAgICAgLCBtX3Nob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcihmYWxzZSkKICAgICAsIG1f
dGlsZWRCYWNraW5nU3RvcmVFbmFibGVkKGZhbHNlKQogICAgICwgbV9kbnNQcmVmZXRjaGluZ0Vu
YWJsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNWM1OTBhYS4uOWQ5Nzg4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjAyLDE0ICsyMDIsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIGJvb2wgY3NzU3RpY2t5UG9zaXRpb25FbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
ICAgIHZvaWQgc2V0Q1NTVmFyaWFibGVzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9jc3NWYXJp
YWJsZXNFbmFibGVkID0gZW5hYmxlZDsgfQotICAgICAgICBib29sIGNzc1ZhcmlhYmxlc0VuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQ7IH0KLSNlbHNlCi0gICAg
ICAgIHZvaWQgc2V0Q1NTVmFyaWFibGVzRW5hYmxlZChib29sKSB7IH0KLSAgICAgICAgYm9vbCBj
c3NWYXJpYWJsZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSNlbmRpZgotCiAg
ICAgICAgIHZvaWQgc2V0U2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGJvb2wpOwogICAgICAg
ICBib29sIHNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hv
d1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yOyB9CiAKQEAgLTMxMCw5ICszMDIsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJT04pCiAgICAgICAgIGJv
b2wgbV9jc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQgOiAxOwogI2VuZGlmCi0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0gICAgICAgIGJvb2wgbV9jc3NWYXJpYWJsZXNFbmFibGVkIDogMTsKLSNl
bmRpZgogICAgICAgICBib29sIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yIDogMTsKICAg
ICAgICAgYm9vbCBtX3RpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wg
bV9kbnNQcmVmZXRjaGluZ0VuYWJsZWQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBhOGRmN2YwLi5kMzcxNGNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMzY2LDExICszNjYsNiBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBQc2V1ZG9TdHlsZUNhY2hlKiBjYWNoZWRQc2V1ZG9TdHls
ZXMoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFBzZXVkb1N0eWxlcy5nZXQoKTsgfQogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdm9pZCBzZXRWYXJpYWJsZShjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpIHsgcmFyZUluaGVyaXRlZERhdGEuYWNj
ZXNzKCktPm1fdmFyaWFibGVzLmFjY2VzcygpLT5zZXRWYXJpYWJsZShuYW1lLCB2YWx1ZSk7IH0K
LSAgICBjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiogdmFyaWFibGVzKCkgeyBy
ZXR1cm4gJihyYXJlSW5oZXJpdGVkRGF0YS0+bV92YXJpYWJsZXMtPm1fZGF0YSk7IH0KLSNlbmRp
ZgotCiAgICAgYm9vbCBhZmZlY3RlZEJ5SG92ZXIoKSBjb25zdCB7IHJldHVybiBub25pbmhlcml0
ZWRfZmxhZ3MuYWZmZWN0ZWRCeUhvdmVyKCk7IH0KICAgICBib29sIGFmZmVjdGVkQnlBY3RpdmUo
KSBjb25zdCB7IHJldHVybiBub25pbmhlcml0ZWRfZmxhZ3MuYWZmZWN0ZWRCeUFjdGl2ZSgpOyB9
CiAgICAgYm9vbCBhZmZlY3RlZEJ5RHJhZygpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9m
bGFncy5hZmZlY3RlZEJ5RHJhZygpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggODMxMDg0NC4u
MjM1NDI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtNTUsMTAgKzU1LDYgQEAgc3RydWN0IFNh
bWVTaXplQXNTdHlsZVJhcmVJbmhlcml0ZWREYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U2FtZVNp
emVBc1N0eWxlUmFyZUkKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIENvbG9yIHRvdWNo
Q29sb3JzOwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2b2lkKiB2
YXJpYWJsZURhdGFSZWZzWzFdOwotI2VuZGlmCiB9OwogCiBDT01QSUxFX0FTU0VSVChzaXplb2Yo
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTdHlsZVJhcmVJbmhl
cml0ZWREYXRhKSwgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YV9zaG91bGRfYml0X3BhY2spOwpAQCAt
MTIxLDkgKzExNyw2IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRl
ZERhdGEoKQogICAgICwgdGFwSGlnaGxpZ2h0Q29sb3IoUmVuZGVyU3R5bGU6OmluaXRpYWxUYXBI
aWdobGlnaHRDb2xvcigpKQogI2VuZGlmICAgIAogewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVT
KQotICAgIG1fdmFyaWFibGVzLmluaXQoKTsKLSNlbmRpZgogfQogCiBTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERh
dGEmIG8pCkBAIC0xOTYsOSArMTg5LDYgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVS
YXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKQogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLCB0YXBIaWdobGlnaHRDb2xvcihvLnRhcEhpZ2hsaWdo
dENvbG9yKQogI2VuZGlmCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgLCBtX3Zhcmlh
YmxlcyhvLm1fdmFyaWFibGVzKQotI2VuZGlmCiB7CiB9CiAKQEAgLTI4Miw5ICsyNzIsNiBAQCBi
b29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YSYgbykgY29uc3QKICNlbmRpZiAvLyBDU1MzX1RFWFQKICAgICAgICAgJiYgbV9y
dWJ5UG9zaXRpb24gPT0gby5tX3J1YnlQb3NpdGlvbgogICAgICAgICAmJiBtX2xpbmVTbmFwID09
IG8ubV9saW5lU25hcAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAmJiBtX3Zh
cmlhYmxlcyA9PSBvLm1fdmFyaWFibGVzCi0jZW5kaWYKICAgICAgICAgJiYgbV9saW5lQWxpZ24g
PT0gby5tX2xpbmVBbGlnbgogICAgICAgICAmJiBTdHlsZUltYWdlOjppbWFnZXNFcXVpdmFsZW50
KGxpc3RTdHlsZUltYWdlLmdldCgpLCBvLmxpc3RTdHlsZUltYWdlLmdldCgpKTsKIH0KQEAgLTMx
MSw5ICsyOTgsNiBAQCB2b2lkIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZgogICAgIGluZm8uYWRkTWVtYmVy
KHRleHRFbXBoYXNpc0N1c3RvbU1hcmssICJ0ZXh0RW1waGFzaXNDdXN0b21NYXJrIik7CiAgICAg
aW5mby5hZGRNZW1iZXIocXVvdGVzLCAicXVvdGVzIik7CiAgICAgaW5mby5hZGRNZW1iZXIobV9s
aW5lR3JpZCwgImxpbmVHcmlkIik7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaW5m
by5hZGRNZW1iZXIobV92YXJpYWJsZXMsICJ2YXJpYWJsZXMiKTsKLSNlbmRpZgogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCAyNTY2ZGU5Li45MzRlOGJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmgKQEAgLTMxLDExICszMSw2IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkRhdGFSZWYuaCIKLSNpbmNsdWRlICJTdHlsZVZhcmlh
YmxlRGF0YS5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29y
TGlzdDsKQEAgLTE0NSwxMCArMTQwLDYgQEAgcHVibGljOgogICAgIENvbG9yIHRhcEhpZ2hsaWdo
dENvbG9yOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBEYXRhUmVm
PFN0eWxlVmFyaWFibGVEYXRhPiBtX3ZhcmlhYmxlczsKLSNlbmRpZgotCiBwcml2YXRlOgogICAg
IFN0eWxlUmFyZUluaGVyaXRlZERhdGEoKTsKICAgICBTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNv
bnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJiNDU5ODkuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlVmFyaWFibGVEYXRhLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0g
KiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLQot
I2lmbmRlZiBTdHlsZVZhcmlhYmxlRGF0YV9oCi0jZGVmaW5lIFN0eWxlVmFyaWFibGVEYXRhX2gK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLQotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBDdXJzb3JMaXN0OwotY2xhc3MgUXVvdGVzRGF0YTsKLWNsYXNzIFNoYWRvd0Rh
dGE7Ci0KLWNsYXNzIFN0eWxlVmFyaWFibGVEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U3R5bGVW
YXJpYWJsZURhdGE+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZVZhcmlh
YmxlRGF0YT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlVmFyaWFibGVEYXRh
KCkpOyB9Ci0gICAgUGFzc1JlZlB0cjxTdHlsZVZhcmlhYmxlRGF0YT4gY29weSgpIGNvbnN0IHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZVZhcmlhYmxlRGF0YSgqdGhpcykpOyB9Ci0KLSAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVWYXJpYWJsZURhdGEmIG90aGVyKSBjb25zdCB7IHJl
dHVybiBvdGhlci5tX2RhdGEgPT0gbV9kYXRhOyB9Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0
IFN0eWxlVmFyaWFibGVEYXRhJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhl
cik7IH0KLQotICAgIHZvaWQgc2V0VmFyaWFibGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHZhbHVlKSB7IG1fZGF0YS5zZXQobmFtZSwgdmFsdWUpOyB9Ci0KLSAgICBI
YXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiBtX2RhdGE7Ci1wcml2YXRlOgotICAgIGV4cGxp
Y2l0IFN0eWxlVmFyaWFibGVEYXRhKCkgOiBSZWZDb3VudGVkPFN0eWxlVmFyaWFibGVEYXRhPigp
IHsgfQotICAgIFN0eWxlVmFyaWFibGVEYXRhKGNvbnN0IFN0eWxlVmFyaWFibGVEYXRhJiBvdGhl
cikgOiBSZWZDb3VudGVkPFN0eWxlVmFyaWFibGVEYXRhPigpLCBtX2RhdGEoSGFzaE1hcDxBdG9t
aWNTdHJpbmcsIFN0cmluZz4ob3RoZXIubV9kYXRhKSkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvKiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykgKi8KLSNlbmRpZiAv
KiBTdHlsZVZhcmlhYmxlRGF0YV9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2NlNThjMC4uZmJh
MTRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA0LTA3ICBBbmRy
ZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZmVhdHVyZTog
Q1NTIHZhcmlhYmxlcworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQxMTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMy0wNC0wNSAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgYnVpbGRpbmcgT2JqZWN0
aXZlLUMgYmluZGluZ3MgZm9yIHRoZSBTVkcgRE9NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDQ1M2U0
MjQuLmVmZGUxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01NCw3ICs1NCw2IEBAIEVOQUJMRV9D
U1NfUkVHSU9OUyA9IEVOQUJMRV9DU1NfUkVHSU9OUzsKIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVO
QUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKLUVO
QUJMRV9DU1NfVkFSSUFCTEVTID0gOwogRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7
CiBFTkFCTEVfQ1NTM19URVhUID0gOwogRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLID0gOwpA
QCAtMTg2LDQgKzE4NSw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFC
TEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQo
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
RlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVT
U19FTEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BF
RUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlM
RV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RIUkVB
REVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RF
RklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJ
TFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAk
KEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElB
TE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9T
WVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
TElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5U
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVO
QUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQp
ICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxf
UEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQ
TEFURk9STV9OQU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzc2MmNjOS4uNWNiODJkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA0LTA3ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZmVhdHVyZTogQ1NTIHZhcmlhYmxlcworICAgICAg
ICA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQxMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKwogMjAxMy0wNC0wNiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFRyeSB0byBmaXggdGhlIFdlYktpdDIgYnVpbGQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IGU4NTY0YmEuLjRkYzY5ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01NCw3ICs1NCw2IEBAIEVOQUJMRV9D
U1NfUkVHSU9OUyA9IEVOQUJMRV9DU1NfUkVHSU9OUzsKIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVO
QUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT047CiBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVEID0gRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKLUVO
QUJMRV9DU1NfVkFSSUFCTEVTID0gOwogRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7
CiBFTkFCTEVfQ1NTM19URVhUID0gOwogRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLID0gOwpA
QCAtMTg4LDQgKzE4Nyw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFC
TEVfWEhSX1RJTUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJB
TlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQo
RU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9J
RlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJ
TktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFC
TEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAk
KEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05T
X09OTFkpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVT
SU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VO
UFJFRklYRUQpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExP
QUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVf
UkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9K
QVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JF
U1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQ
RUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZ
TEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9O
T1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQgYi9T
b3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQKaW5kZXggOWQ4MGU2OS4uNzk4
ZjEyMSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00
CisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNApAQCAtMzEsNyAr
MzEsNiBAQCByZWFkIC1kICcnIERFRkFVTFRfRkVBVFVSRV9ERUZJTkVTIDw8IkVPRiIKIAlFTkFC
TEVfQ1NTX1JFR0lPTlM9MAogCUVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OPTAKIAlFTkFCTEVf
Q1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEPTAKLQlFTkFCTEVfQ1NTX1ZBUklB
QkxFUz0wCiAJRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVM9MAogCUVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVI9MAogCUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZs
LmNtYWtlCmluZGV4IGRkZjE3MDQuLjU2M2JhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC02
MCw3ICs2MCw2IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04gT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX0lNQUdFX1NFVCBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9DU1NfUkVHSU9OUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0NTU19WQVJJQUJMRVMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIE9OKQogV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFIE9OKQpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDVhYzc2YjYuLjA4YTFkZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM4LDcgKzM4LDYgQEAgbWFjcm8oV0VCS0lUX09QVElP
Tl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX1NIQURFUlMgIlRv
Z2dsZSBDU1MgU2hhZGVycyAod2l0aGluIENTUyBGaWx0ZXJzKSBzdXBwb3J0IiBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gIlRvZ2dsZSBD
U1Mgc3RpY2t5IHBvc2l0aW9uIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEICJUb2dnbGUgc3Vw
cG9ydCBmb3IgdW5wcmVmaXhlZCBDU1MgYW5pbWF0aW9ucyBhbmQgdHJhbnNmb3JtcyIgT04pCi0g
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19WQVJJQUJMRVMgIlRvZ2dsZSBDU1Mg
VmFyaWFibGVzIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBv
cnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCAiVG9nZ2xlIEhUTUw1IGRhdGFsaXN0IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAiVG9nZ2xlIEhUTUw1IGRhdGEgdHJh
bnNmZXIgaXRlbXMgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI4Mjk5NWUuLjZjNDQ0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0w
NC0wNyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IGZlYXR1cmU6IENTUyB2YXJpYWJsZXMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0
MTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIHFtYWtlL21rc3Bl
Y3MvZmVhdHVyZXMvZmVhdHVyZXMucHJpOgorCiAyMDEzLTA0LTA2ICBMYXN6bG8gR29tYm9zICA8
bC5nb21ib3NAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQnVpbGQgZml4IGFmdGVyIHIxNDc4NTcs
IHJlbW92ZSByZW1haW5pbmcgVVNFKEpTQykgZ3VhcmRzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDU4ZWQzNWMuLjdkYmI4NjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTIyNCw5ICsyMjQsNiBAQCBteSBAZmVhdHVyZXMg
PSAoCiAgICAgeyBvcHRpb24gPT4gImNzcy10cmFuc2Zvcm1zLWFuaW1hdGlvbnMtdW5wcmVmaXhl
ZCIsIGRlc2MgPT4gIlRvZ2dsZSBzdXBwb3J0IGZvciB1bnByZWZpeGVkIENTUyBhbmltYXRpb25z
IGFuZCB0cmFuc2Zvcm1zIiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19UUkFOU0ZPUk1T
X0FOSU1BVElPTlNfVU5QUkVGSVhFRCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRjc3NBbmlt
YXRpb25zVHJhbnNmb3Jtc1VucHJlZml4ZWRTdXBwb3J0IH0sCiAKLSAgICB7IG9wdGlvbiA9PiAi
Y3NzLXZhcmlhYmxlcyIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MgVmFyaWFibGUgc3VwcG9ydCIsCi0g
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1NfVkFSSUFCTEVTIiwgZGVmYXVsdCA9PiAoaXNCbGFj
a0JlcnJ5KCkgfHwgaXNFZmwoKSB8fCBpc0d0aygpKSwgdmFsdWUgPT4gXCRjc3NWYXJpYWJsZXNT
dXBwb3J0IH0sCi0KICAgICB7IG9wdGlvbiA9PiAiY3VzdG9tLXNjaGVtZS1oYW5kbGVyIiwgZGVz
YyA9PiAiVG9nZ2xlIEN1c3RvbSBTY2hlbWUgSGFuZGxlciBzdXBwb3J0IiwKICAgICAgIGRlZmlu
ZSA9PiAiRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiIsIGRlZmF1bHQgPT4gKGlzQmxhY2tC
ZXJyeSgpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJGN1c3RvbVNjaGVtZUhhbmRsZXJTdXBwb3J0
IH0sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3FtYWtlL21rc3BlY3MvZmVhdHVyZXMvZmVhdHVyZXMu
cHJpIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5wcmkKaW5kZXggNmFi
ZjA2NC4uZjlmZjA5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9m
ZWF0dXJlcy5wcmkKKysrIGIvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5w
cmkKQEAgLTM0LDcgKzM0LDYgQEAgRkVBVFVSRV9ERUZBVUxUUyA9IFwKICAgICBFTkFCTEVfQ1NT
X1NIQURFUlM9MCBcCiAgICAgRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT049MSBcCiAgICAgRU5B
QkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRD0xIFwKLSAgICBFTkFCTEVf
Q1NTX1ZBUklBQkxFUz0wIFwKICAgICBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0wIFwK
ICAgICBFTkFCTEVfQ1NTM19URVhUPTAgXAogICAgIEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
Sz0wIFwK
</data>
<flag name="commit-queue"
          id="218936"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196801</attachid>
            <date>2013-04-07 12:36:36 -0700</date>
            <delta_ts>2013-11-28 07:24:05 -0800</delta_ts>
            <desc>I can&apos;t brain on Sundays</desc>
            <filename>bug-114119-v3.diff</filename>
            <type>text/plain</type>
            <size>121985</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNGZmMDFlLi5kNjgzNTAx
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNDoKKyAgICAgICAg
KiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2U6CisKIDIwMTMtMDQtMDUgIEVkIEJhcnRvc2ggIDxiYXJ0b3No
QGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSAtLW5vLXRpbGVkLWJhY2tpbmctc3RvcmUgYnVp
bGQgZmFpbHMgYmVjYXVzZSBvZiBub3QgdXNlZCAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOWM4YmJkYi4uNzUwYjcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMg
S2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJlOiBDU1Mg
dmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTA0LTA2ICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5pZnkgdGhlIG1hbnkgYW5kIHZhcmllZCBzdGFj
ayB0cmFjZSBtZWNoYW5pc21zLCBhbmQgbWFrZSB0aGUgcmVzdWx0IHNhbmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggOWUzNGZkOC4uMGI1ZjA0MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNTQsNyArNTQsNiBAQCBFTkFCTEVfQ1NTX1JFR0lPTlMgPSBFTkFCTEVfQ1NTX1JF
R0lPTlM7CiBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFCTEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVf
Q1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxF
X0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSyA9IDsKQEAgLTE4OCw0ICsxODcsNCBAQCBFTkFCTEVf
V09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hIUl9USU1FT1VUID0gRU5BQkxFX1hI
Ul9USU1FT1VUOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
ICQoRU5BQkxFX0NTU19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NIQURFUlMpICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX1NU
SUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJ
WEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JV
TEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJQUxPR19FTEVNRU5UKSAkKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0xJTktfUFJFUkVOREVSKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01JQ1JPREFUQSkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9W
SVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExVR0lOX1BS
T1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1RZTEVfU0NPUEVEKSAkKEVOQUJMRV9TVUJQSVhF
TF9MQVlPVVQpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxF
X1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFU
VVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVf
Q1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hB
REVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lU
SU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElBTE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJB
TUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19F
TEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNI
KSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9T
Q09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElG
SUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggODIwNTk2My4uODcxMTZjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJl
OiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0
dXJlRGVmaW5lcy5oOgorCiAyMDEzLTA0LTA2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlZCB2OCBiaW5kaW5ncyBob29rcyBmcm9tIElETCBmaWxl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNmQwZWRjNi4uYTE3MzFiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oCkBAIC00MDcsMTAgKzQwNyw2IEBACiAjZGVmaW5lIEVOQUJMRV9DU1Nf
VFJBTlNGT1JNU19BTklNQVRJT05TX1RSQU5TSVRJT05TX1VOUFJFRklYRUQgMAogI2VuZGlmCiAK
LSNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX1ZBUklBQkxFUykKLSNkZWZpbmUgRU5BQkxFX0NTU19W
QVJJQUJMRVMgMAotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKQogI2RlZmluZSBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIDAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDFjMTM4YzAuLjc5Njc3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTQg
QEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQdXJnZSBhbGwgRU5BQkxFKENTU19WQVJJQUJMRVMpIGJsb2NrcyBhbmQgcmVtb3Zl
IHJlbGF0ZWQgZmlsZXMuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRh
cmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBjc3MvQ1NTQmFzaWNTaGFwZXMuY3BwOgorICAgICAgICAqIGNzcy9DU1NCYXNpY1NoYXBlcy5o
OgorICAgICAgICAoQ1NTQmFzaWNTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChDU1NCYXNpY1No
YXBlQ2lyY2xlKToKKyAgICAgICAgKENTU0Jhc2ljU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKENT
U0Jhc2ljU2hhcGVQb2x5Z29uKToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjp0b0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjUHJpbWl0aXZlVmFsdWU6OmRvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aFB4KToKKyAgICAgICAgKFdlYkNvcmU6
OmRldGVybWluZUNhdGVnb3J5KToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5o
OgorICAgICAgICAoQ1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU0dyYW1tYXIu
eS5pbjoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6b3Bl
cmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpmaWx0ZXJQcm9wZXJ0aWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlU3R5bGVQcm9wZXJ0eVNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnZhbGlkQ2FsY3VsYXRpb25Vbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VWYWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpkZXRlY3REYXNoVG9rZW4pOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpyZWFsTGV4KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6
CisgICAgICAgIChDU1NQYXJzZXIpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJNb2RlLmg6Cisg
ICAgICAgIChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJsZUNvbnZlcnNpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZh
bHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
Lmg6CisgICAgICAgIChDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
Ojpjb252ZXJ0VG9MZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6Q1NT
UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9DU1NSZWZsZWN0VmFsdWUuY3BwOgorICAgICAgICAq
IGNzcy9DU1NSZWZsZWN0VmFsdWUuaDoKKyAgICAgICAgKENTU1JlZmxlY3RWYWx1ZSk6CisgICAg
ICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZXF1YWxzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKENT
U1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0LmNwcDoKKyAgICAgICAgKiBjc3Mv
Q1NTVmFsdWVMaXN0Lmg6CisgICAgICAgIChDU1NWYWx1ZUxpc3QpOgorICAgICAgICAqIGNzcy9D
U1NWYXJpYWJsZVZhbHVlLmg6IFJlbW92ZWQuCisgICAgICAgICogY3NzL1BhaXIuaDoKKyAgICAg
ICAgKiBjc3MvUmVjdC5oOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydHlTZXQ6OmFzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVByb3BlcnR5U2V0OjpQcm9wZXJ0eVJlZmVyZW5jZTo6Y3NzTmFtZSk6CisgICAg
ICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNv
bHZlcjo6c3R5bGVGb3JQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFw
cGx5UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseU1h
dGNoZWRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5
UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgICogY3Nz
L1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFNldHRpbmdzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChTYW1lU2l6ZUFzU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFy
ZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJl
SW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0
ZWREYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVWYXJpYWJsZURhdGEuaDog
UmVtb3ZlZC4KKwogMjAxMy0wNC0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgR2V0IHJpZCBvZiBza2lhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDQ1M2U0MjQu
LmVmZGUxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01NCw3ICs1NCw2IEBAIEVOQUJMRV9DU1NfUkVHSU9O
UyA9IEVOQUJMRV9DU1NfUkVHSU9OUzsKIEVOQUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1Nf
U0hBREVSUzsKIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OID0gRU5BQkxFX0NTU19TVElDS1lf
UE9TSVRJT047CiBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEID0g
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRDsKLUVOQUJMRV9DU1Nf
VkFSSUFCTEVTID0gOwogRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMgPSA7CiBFTkFCTEVf
Q1NTM19URVhUID0gOwogRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLID0gOwpAQCAtMTg2LDQg
KzE4NSw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWEhSX1RJ
TUVPVVQgPSBFTkFCTEVfWEhSX1RJTUVPVVQ7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNGT1JNU19B
TklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5BQkxFX0NT
UzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElB
TE9HX0VMRU1FTlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9T
WVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJ
R0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VB
TUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
TElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5U
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVO
QUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQp
ICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxf
UEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQ
TEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9D
U1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTUzNfQ09ORElU
SU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElBTE9HX0VMRU1F
TlQpICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElOS19QUkVS
RU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9Q
TFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFE
T1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQoRU5BQkxF
X1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VEVYVF9OT1RJRklDQVRJT05TX09OTFkpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9O
QU1FKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA0ZDNhZDZhLi5jMDUwOTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI2NzMsNyArMjY3Myw2IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQb29sLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlUG9vbC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvRE9NV2luZG93Q1NTLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0RPTVdpbmRvd0NTUy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvRGFzaGJvYXJk
UmVnaW9uLmggXApAQCAtNDcwMyw3ICs0NzAyLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuaCBcCiAJU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuaCBcCi0JU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggXAogCVNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkVHJhY2tTaXplLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZjM2
NjYyYS4uMWJjOTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xNTU2LDcgKzE1NTYsNiBAQCBIRUFERVJT
ICs9IFwKICAgICBjc3MvQ1NTVmFsdWUuaCBcCiAgICAgY3NzL0NTU1ZhbHVlTGlzdC5oIFwKICAg
ICBjc3MvQ1NTVmFsdWVQb29sLmggXAotICAgIGNzcy9DU1NWYXJpYWJsZVZhbHVlLmggXAogICAg
IGNzcy9ET01XaW5kb3dDU1MuaCBcCiAgICAgY3NzL0ZvbnRGZWF0dXJlVmFsdWUuaCBcCiAgICAg
Y3NzL0ZvbnRMb2FkZXIuaCBcCkBAIC0yNTk1LDcgKzI1OTQsNiBAQCBIRUFERVJTICs9IFwKICAg
ICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTaGFkZXIuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0
eWxlU3Vycm91bmREYXRhLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURh
dGEuaCBcCi0gICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmggXAogICAgIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL0dy
aWRUcmFja1NpemUuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjZDc0NzcwLi5mYWJhOWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0xNjQ2LDcgKzE2NDYsNiBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NWYWx1ZUxpc3QuY3Bw
JywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVQb29sLmNwcCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU1ZhbHVlUG9vbC5oJywKLSAgICAgICAgICAgICdjc3MvQ1NTVmFyaWFibGVWYWx1ZS5oJywK
ICAgICAgICAgICAgICdjc3MvQ291bnRlci5oJywKICAgICAgICAgICAgICdjc3MvRE9NV2luZG93
Q1NTLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0RPTVdpbmRvd0NTUy5oJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggM2QwMzk3NS4uZGM0NTgx
YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTM4MjU5LDEwICszODI1OSw2IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NWYXJpYWJsZVZhbHVlLmgiCi0JCQkJPgotCQkJPC9GaWxl
PgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xEYXNoYm9hcmRSZWdpb24uaCIK
IAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC00NzcxMiwxMCArNDc3MDgsNiBAQAogCQkJCQk+CiAJCQkJ
PC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxl
XFN0eWxlVmFyaWFibGVEYXRhLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcU3R5bGVWaXN1YWxEYXRhLmNwcCIK
IAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGJkOTM0ODMuLjZhMWE0MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTIx
MzgsNyArMTIxMzgsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXENTU1ZhbHVl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTVmFsdWVMaXN0LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTVmFsdWVQb29sLmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxjc3NcQ1NTVmFyaWFibGVWYWx1ZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cY3NzXERhc2hib2FyZFJlZ2lvbi5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cY3NzXEZvbnRGZWF0dXJlVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGNzc1xGb250TG9hZGVyLmgiIC8+CkBAIC0xMjM4MSw3ICsxMjM4MCw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcU3R5bGVTaGFk
ZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xzdHlsZVxTdHls
ZVN1cnJvdW5kRGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5n
XHN0eWxlXFN0eWxlVHJhbnNmb3JtRGF0YS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccmVuZGVyaW5nXHN0eWxlXFN0eWxlVmFyaWFibGVEYXRhLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcU3R5bGVWaXN1YWxEYXRhLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5bGVcU1ZHUmVuZGVyU3R5bGUuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJlbmRlcmluZ1xzdHlsZVxTVkdSZW5kZXJT
dHlsZURlZnMuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxODY2YWEyLi41OTBlMmJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC0xMDQ3Niw5ICsxMDQ3Niw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxjc3NcQ1NTVmFsdWVQb29sLmgiPgogICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KICAgICA8
L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xDU1NWYXJpYWJsZVZh
bHVlLmgiPgotICAgICAgPEZpbHRlcj5jc3M8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNzc1xEYXNoYm9hcmRSZWdpb24uaCI+CiAgICAgICA8
RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTExOTMsOSArMTExOTAs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVuZGVyaW5nXHN0eWxlXFN0eWxlVHJh
bnNmb3JtRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5nXHN0eWxlPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxyZW5kZXJpbmdcc3R5
bGVcU3R5bGVWYXJpYWJsZURhdGEuaCI+Ci0gICAgICA8RmlsdGVyPnJlbmRlcmluZ1xzdHlsZTwv
RmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccmVu
ZGVyaW5nXHN0eWxlXFN0eWxlVmlzdWFsRGF0YS5oIj4KICAgICAgIDxGaWx0ZXI+cmVuZGVyaW5n
XHN0eWxlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODUyMDJjMi4uZmUzMGMxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNDc4MSw3ICs0NzgxLDYgQEAKIAkJQkM1RUI2N0YwRTgxRDRBNzAwQjI1OTY1IC8qIFN0
eWxlRGFzaGJvYXJkUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzVFQjY3RTBFODFENEE3MDBCMjU5NjUgLyogU3R5bGVEYXNoYm9hcmRSZWdp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlC
QzVFQjY5OTBFODFEQTYzMDBCMjU5NjUgLyogU3R5bGVWaXN1YWxEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCNjk3MEU4MURBNjMwMEIy
NTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuY3BwICovOyB9OwogCQlCQzVFQjY5QTBFODFEQTYzMDBC
MjU5NjUgLyogU3R5bGVWaXN1YWxEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjY5ODBFODFEQTYzMDBCMjU5NjUgLyogU3R5bGVWaXN1YWxE
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
QkM1RUI2OUEwRTgxREE2MzAwQjI1OTY2IC8qIFN0eWxlVmFyaWFibGVEYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjY5ODBFODFEQTYzMDBC
MjU5NjYgLyogU3R5bGVWYXJpYWJsZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzVFQjY5RTBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExh
eWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NUVCNjlDMEU4MURBRUIwMEIyNTk2NSAvKiBGaWxsTGF5ZXIuY3BwICovOyB9OwogCQlCQzVFQjY5
RjBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjY5RDBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExh
eWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QkM1RUI2QTIwRTgxREM0RjAwQjI1OTY1IC8qIFN0eWxlQmFja2dyb3VuZERhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI2QTAwRTgxREM0
RjAwQjI1OTY1IC8qIFN0eWxlQmFja2dyb3VuZERhdGEuY3BwICovOyB9OwpAQCAtNTE5Miw3ICs1
MTkxLDYgQEAKIAkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEw
RDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDQUU5RjkwRjE0NjQ0MUYwMDBDMjQ1QjAgLyog
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDQUU5RjkwRDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgKi87IH07CiAJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovOyB9
OwotCQlDQUU5RjkxMDE0NjQ0MUYwMDBDMjQ1QjEgLyogQ1NTVmFyaWFibGVWYWx1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0FFOUY5MEUxNDY0NDFG
MDAwQzI0NUIxIC8qIENTU1ZhcmlhYmxlVmFsdWUuaCAqLzsgfTsKIAkJQ0NDMkI1MTQxNUY2MTMw
NjAwNDhDREQ2IC8qIERldmljZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0NDMkI1MTAxNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUND
QzJCNTE1MTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENDQzJCNTExMTVGNjEzMDYwMDQ4
Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJQ0NDMkI1MTYxNUY2MTMwNjAw
NDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENDQzJCNTEyMTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDb250
cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTExNDcyLDcgKzExNDcwLDYgQEAKIAkJQkM1RUI2N0UwRTgxRDRBNzAwQjI1OTY1IC8qIFN0
eWxlRGFzaGJvYXJkUmVnaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFN0
eWxlRGFzaGJvYXJkUmVnaW9uLmg7IHBhdGggPSBzdHlsZS9TdHlsZURhc2hib2FyZFJlZ2lvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjY5NzBFODFEQTYzMDBCMjU5NjUg
LyogU3R5bGVWaXN1YWxEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IFN0eWxlVmlzdWFsRGF0YS5jcHA7IHBhdGggPSBzdHlsZS9TdHlsZVZpc3VhbERhdGEuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjY5ODBFODFEQTYzMDBCMjU5NjUg
LyogU3R5bGVWaXN1YWxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFN0
eWxlVmlzdWFsRGF0YS5oOyBwYXRoID0gc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNUVCNjk4MEU4MURBNjMwMEIyNTk2NiAvKiBTdHlsZVZh
cmlhYmxlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVZhcmlh
YmxlRGF0YS5oOyBwYXRoID0gc3R5bGUvU3R5bGVWYXJpYWJsZURhdGEuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM1RUI2OUMwRTgxREFFQjAwQjI1OTY1IC8qIEZpbGxMYXllci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxsTGF5ZXIuY3BwOyBw
YXRoID0gc3R5bGUvRmlsbExheWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM1RUI2OUQwRTgxREFFQjAwQjI1OTY1IC8qIEZpbGxMYXllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBGaWxsTGF5ZXIuaDsgcGF0aCA9IHN0eWxlL0ZpbGxMYXllci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjZBMDBFODFEQzRGMDBCMjU5NjUgLyog
U3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBTdHlsZUJhY2tncm91bmREYXRhLmNwcDsgcGF0aCA9IHN0eWxlL1N0eWxlQmFja2dyb3Vu
ZERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE5MTksNyArMTE5MTYs
NiBAQAogCQlDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEQxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVj
dFJhdGlvVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBRTlG
OTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIxIC8qIENTU1ZhcmlhYmxl
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVmFyaWFibGVWYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQ0MyQjUxMDE1RjYxMzA2MDA0OENE
RDYgLyogRGV2aWNlQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERl
dmljZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQ0MyQjUxMTE1RjYx
MzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBEZXZpY2VDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0NDMkI1MTIxNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlQ29udHJvbGxlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwMDcsNyArMTkwMDMsNiBAQAogCQkJCUJD
NUVCNUU0MEU4MUJGNkQwMEIyNTk2NSAvKiBTdHlsZVN1cnJvdW5kRGF0YS5oICovLAogCQkJCUJD
NUVCODBEMEU4MUYyQ0UwMEIyNTk2NSAvKiBTdHlsZVRyYW5zZm9ybURhdGEuY3BwICovLAogCQkJ
CUJDNUVCODBFMEU4MUYyQ0UwMEIyNTk2NSAvKiBTdHlsZVRyYW5zZm9ybURhdGEuaCAqLywKLQkJ
CQlCQzVFQjY5ODBFODFEQTYzMDBCMjU5NjYgLyogU3R5bGVWYXJpYWJsZURhdGEuaCAqLywKIAkJ
CQlCQzVFQjY5NzBFODFEQTYzMDBCMjU5NjUgLyogU3R5bGVWaXN1YWxEYXRhLmNwcCAqLywKIAkJ
CQlCQzVFQjY5ODBFODFEQTYzMDBCMjU5NjUgLyogU3R5bGVWaXN1YWxEYXRhLmggKi8sCiAJCQkJ
QkMyMjc0NzQwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlLmNwcCAqLywKQEAgLTE5
NzU5LDcgKzE5NzU0LDYgQEAKIAkJCQlBOEQwNjUxQzBBMjNDMUZFMDA1RTcyMDMgLyogQ1NTVmFs
dWVMaXN0LmlkbCAqLywKIAkJCQlFNDlCREEwQTEzMUZEM0U1MDAzQzU2RjAgLyogQ1NTVmFsdWVQ
b29sLmNwcCAqLywKIAkJCQlFNDlCRDlGOTEzMUZEMkVEMDAzQzU2RjAgLyogQ1NTVmFsdWVQb29s
LmggKi8sCi0JCQkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIxIC8qIENTU1ZhcmlhYmxlVmFsdWUu
aCAqLywKIAkJCQlBODBFNkNFMTBBMTk4OUNBMDA3RkI4QzUgLyogRGFzaGJvYXJkUmVnaW9uLmgg
Ki8sCiAJCQkJNEE0RjQ4QTcxNkIwREZDMDAwRURCQjI5IC8qIERvY3VtZW50UnVsZVNldHMuY3Bw
ICovLAogCQkJCTRBNEY0OEE4MTZCMERGQzAwMEVEQkIyOSAvKiBEb2N1bWVudFJ1bGVTZXRzLmgg
Ki8sCkBAIC0yMTI0Nyw3ICsyMTI0MSw2IEBACiAJCQkJNjU2NTgxNTEwOUQxMzA0MzAwMEU2MUQ3
IC8qIENTU1ZhbHVlS2V5d29yZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0U5MEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OUJEOUZB
MTMxRkQyRUQwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuaCBpbiBIZWFkZXJzICovLAotCQkJCUNB
RTlGOTEwMTQ2NDQxRjAwMEMyNDVCMSAvKiBDU1NWYXJpYWJsZVZhbHVlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5M0YxOTkyRjA4MjQ1RTU5MDAxRTlBQkMgLyogQ3Vyc29yLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzIyNzJBMjBFODJFODdDMDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjM1MTIsNyArMjM1MDUsNiBAQAogCQkJCUE4RUE4MDBBMEExOTUxNkUw
MEE4RUY1RiAvKiBTdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTUw
RTgxQkY2RDAwQjI1OTY1IC8qIFN0eWxlU3Vycm91bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzVFQjgxMDBFODFGMkNFMDBCMjU5NjUgLyogU3R5bGVUcmFuc2Zvcm1EYXRhLmggaW4gSGVh
ZGVycyAqLywKLQkJCQlCQzVFQjY5QTBFODFEQTYzMDBCMjU5NjYgLyogU3R5bGVWYXJpYWJsZURh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCNjlBMEU4MURBNjMwMEIyNTk2NSAvKiBTdHls
ZVZpc3VhbERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwMDBFRDI4MTFDMUI5Q0QwMEM0Nzcy
NiAvKiBTdWJmcmFtZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjU1QjNERDQxMjUxRjEy
RDAwM0VGMjY5IC8qIFN1Ym1pdElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0Jhc2ljU2hhcGVzLmNwcAppbmRleCAxOTc0ZTYwLi4wMDFlMTEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5jcHAKQEAgLTg5LDI4ICs4OSw2IEBAIGJvb2wgQ1NTQmFz
aWNTaGFwZVJlY3RhbmdsZTo6ZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmIHNoYXBlKSBjb25z
dAogICAgICAgICAmJiBjb21wYXJlQ1NTVmFsdWVQdHIobV9yYWRpdXNZLCBvdGhlci5tX3JhZGl1
c1kpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQmFzaWNTaGFw
ZVJlY3RhbmdsZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRv
bWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGJ1aWxk
UmVjdGFuZ2xlU3RyaW5nKG1feC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxl
cyksCi0gICAgICAgIG1feS0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyks
Ci0gICAgICAgIG1fd2lkdGgtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMp
LAotICAgICAgICBtX2hlaWdodC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxl
cyksCi0gICAgICAgIG1fcmFkaXVzWC5nZXQoKSA/IG1fcmFkaXVzWC0+c2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgOiBTdHJpbmcoKSwKLSAgICAgICAgbV9yYWRpdXNZLmdl
dCgpID8gbV9yYWRpdXNZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6
IFN0cmluZygpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjpoYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1feC0+aGFzVmFyaWFibGVSZWZlcmVu
Y2UoKQotICAgICAgICB8fCBtX3ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAgfHwg
bV93aWR0aC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICB8fCBtX2hlaWdodC0+aGFz
VmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICB8fCAobV9yYWRpdXNYLmdldCgpICYmIG1fcmFk
aXVzWC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSkKLSAgICAgICAgfHwgKG1fcmFkaXVzWS5nZXQo
KSAmJiBtX3JhZGl1c1ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpOwotfQotI2VuZGlmCi0KIHN0
YXRpYyBTdHJpbmcgYnVpbGRDaXJjbGVTdHJpbmcoY29uc3QgU3RyaW5nJiB4LCBjb25zdCBTdHJp
bmcmIHksIGNvbnN0IFN0cmluZyYgcmFkaXVzKQogewogICAgIHJldHVybiAiY2lyY2xlKCIgKyB4
ICsgIiwgIiArIHkgKyAiLCAiICsgcmFkaXVzICsgJyknOwpAQCAtMTMyLDIyICsxMTAsNiBAQCBi
b29sIENTU0Jhc2ljU2hhcGVDaXJjbGU6OmVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJiBzaGFw
ZSkgY29uc3QKICAgICAgICAgJiYgY29tcGFyZUNTU1ZhbHVlUHRyKG1fcmFkaXVzLCBvdGhlci5t
X3JhZGl1cyk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NCYXNp
Y1NoYXBlQ2lyY2xlOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxB
dG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICByZXR1cm4gYnVp
bGRDaXJjbGVTdHJpbmcobV9jZW50ZXJYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKSwKLSAgICAgICAgbV9jZW50ZXJZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
dmFyaWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXMtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlQ2lyY2xlOjpoYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY2VudGVyWC0+aGFzVmFyaWFibGVS
ZWZlcmVuY2UoKQotICAgICAgICB8fCBtX2NlbnRlclktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkK
LSAgICAgICAgfHwgbV9yYWRpdXMtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci19Ci0jZW5kaWYK
LQogc3RhdGljIFN0cmluZyBidWlsZEVsbGlwc2VTdHJpbmcoY29uc3QgU3RyaW5nJiB4LCBjb25z
dCBTdHJpbmcmIHksIGNvbnN0IFN0cmluZyYgcmFkaXVzWCwgY29uc3QgU3RyaW5nJiByYWRpdXNZ
KQogewogICAgIHJldHVybiAiZWxsaXBzZSgiICsgeCArICIsICIgKyB5ICsgIiwgIiArIHJhZGl1
c1ggKyAiLCAiICsgcmFkaXVzWSArICcpJzsKQEAgLTE3MCwyNCArMTMyLDYgQEAgYm9vbCBDU1NC
YXNpY1NoYXBlRWxsaXBzZTo6ZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmIHNoYXBlKSBjb25z
dAogICAgICAgICAmJiBjb21wYXJlQ1NTVmFsdWVQdHIobV9yYWRpdXNZLCBvdGhlci5tX3JhZGl1
c1kpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQmFzaWNTaGFw
ZUVsbGlwc2U6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIHJldHVybiBidWlsZEVs
bGlwc2VTdHJpbmcobV9jZW50ZXJYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFi
bGVzKSwKLSAgICAgICAgbV9jZW50ZXJZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXNYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
dmFyaWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXNZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXModmFyaWFibGVzKSk7Ci19Ci0KLWJvb2wgQ1NTQmFzaWNTaGFwZUVsbGlwc2U6Omhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jZW50ZXJYLT5oYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fY2VudGVyWS0+aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KQotICAgICAgICB8fCBtX3JhZGl1c1gtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAg
fHwgbV9yYWRpdXNZLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotfQotI2VuZGlmCi0KIHN0YXRp
YyBTdHJpbmcgYnVpbGRQb2x5Z29uU3RyaW5nKGNvbnN0IFdpbmRSdWxlJiB3aW5kUnVsZSwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIHBvaW50cykKIHsKICAgICBBU1NFUlQoIShwb2ludHMuc2l6ZSgp
ICUgMikpOwpAQCAtMjQ2LDI3ICsxOTAsNSBAQCBib29sIENTU0Jhc2ljU2hhcGVQb2x5Z29uOjpl
cXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYgc2hhcGUpIGNvbnN0CiAgICAgcmV0dXJuIGNvbXBh
cmVDU1NWYWx1ZVZlY3RvcjxDU1NQcmltaXRpdmVWYWx1ZT4obV92YWx1ZXMsIHJocy5tX3ZhbHVl
cyk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NCYXNpY1NoYXBl
UG9seWdvbjo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWlj
U3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgVmVjdG9yPFN0cmluZz4g
cG9pbnRzOwotICAgIHBvaW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fdmFsdWVzLnNpemUo
KSk7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdmFsdWVzLnNpemUoKTsgKytpKQot
ICAgICAgICBwb2ludHMuYXBwZW5kKG1fdmFsdWVzLmF0KGkpLT5zZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXModmFyaWFibGVzKSk7Ci0KLSAgICByZXR1cm4gYnVpbGRQb2x5Z29uU3RyaW5nKG1f
d2luZFJ1bGUsIHBvaW50cyk7Ci19Ci0KLWJvb2wgQ1NTQmFzaWNTaGFwZVBvbHlnb246Omhhc1Zh
cmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1f
dmFsdWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX3ZhbHVlcy5hdChpKS0+aGFzVmFy
aWFibGVSZWZlcmVuY2UoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5oCmluZGV4IDhkYjBkMmYuLjMxZGU2MTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5oCkBAIC01MSwxMSArNTEsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgZXF1
YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmKSBjb25zdCA9IDA7CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
Y29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdCA9IDA7Ci0gICAgdmly
dHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QgPSAwOwotI2VuZGlmCi0KIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5DU1NCYXNpY1NoYXBlKCkgeyB9CiAKQEAgLTg1LDExICs4MCw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJikgY29uc3Q7CiAKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdDsKLSNlbmRpZgotCiBw
cml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVSZWN0YW5nbGUoKSB7IH0KIApAQCAtMTE3LDExICsx
MDcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYpIGNvbnN0OwogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7
Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYK
LQogcHJpdmF0ZToKICAgICBDU1NCYXNpY1NoYXBlQ2lyY2xlKCkgeyB9CiAKQEAgLTE0OCwxMSAr
MTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmKSBjb25zdDsKIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0
OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlm
Ci0KIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZUVsbGlwc2UoKSB7IH0KIApAQCAtMTgyLDEw
ICsxNjIsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVy
biBDU1NfQkFTSUNfU0hBUEVfUE9MWUdPTjsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQo
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUmKSBj
b25zdDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmlu
Zz4mKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25z
dDsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVQb2x5Z29uKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAppbmRleCAyMzljOTlkLi41NmI2
MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC02
OSwxMCArNjksNiBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSB1bml0Q2F0ZWdvcnkoQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyB0eXBlKQogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19SRU1TOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DSFM6CiAgICAg
ICAgIHJldHVybiBDYWxjTGVuZ3RoOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FOgotICAgICAgICByZXR1cm4g
Q2FsY1ZhcmlhYmxlOwotI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIENhbGNP
dGhlcjsKICAgICB9CkBAIC0xMDEsMTggKzk3LDYgQEAgYm9vbCBDU1NDYWxjVmFsdWU6OmVxdWFs
cyhjb25zdCBDU1NDYWxjVmFsdWUmIG90aGVyKSBjb25zdAogICAgIHJldHVybiBjb21wYXJlQ1NT
VmFsdWVQdHIobV9leHByZXNzaW9uLCBvdGhlci5tX2V4cHJlc3Npb24pOwogfQogCi0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQ2FsY1ZhbHVlOjpjdXN0b21TZXJpYWxpemVS
ZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZh
cmlhYmxlcykgY29uc3QKLXsKLSAgICByZXR1cm4gYnVpbGRDc3NUZXh0KG1fZXhwcmVzc2lvbi0+
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotfQotCi1ib29sIENTU0Nh
bGNWYWx1ZTo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotewotICAgIHJldHVybiBtX2V4
cHJlc3Npb24tPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1ND
YWxjVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKQEAgLTE1NiwxOCAr
MTQwLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3NzVGV4dCgpOwogICAg
IH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5n
PiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUtPmN1c3Rv
bVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIH0KLSAgICAKLSAg
ICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fdmFsdWUtPmlzVmFyaWFibGVOYW1lKCk7Ci0gICAgfQotI2VuZGlmCi0KICAg
ICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB0b0NhbGNWYWx1ZShSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25z
dAogICAgIHsKICAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CkBAIC0xODEsOSArMTUzLDYg
QEAgcHVibGljOgogICAgICAgICAvLyBPbmx5IHR5cGVzIHRoYXQgY291bGQgYmUgcGFydCBvZiBh
IExlbmd0aCBleHByZXNzaW9uIGNhbiBiZSBjb252ZXJ0ZWQKICAgICAgICAgLy8gdG8gYSBDYWxj
RXhwcmVzc2lvbk5vZGUuIENhbGNQZXJjZW50TnVtYmVyIG1ha2VzIG5vIHNlbnNlIGFzIGEgTGVu
Z3RoLgogICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgICAgICBjYXNlIENhbGNWYXJpYWJsZToKLSNlbmRpZgogICAgICAgICBjYXNl
IENhbGNPdGhlcjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9
CkBAIC0xOTksOSArMTY4LDYgQEAgcHVibGljOgogICAgICAgICBjYXNlIENhbGNMZW5ndGg6CiAg
ICAgICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CiAgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnRO
dW1iZXI6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ2FsY1Zhcmlh
YmxlOgotI2VuZGlmCiAgICAgICAgIGNhc2UgQ2FsY090aGVyOgogICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTIxOSw5ICsxODUsNiBAQCBw
dWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKICAg
ICAgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKICAgICAgICAgY2FzZSBDYWxjUGVyY2VudE51
bWJlcjoKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBDYWxjVmFyaWFi
bGU6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBDYWxjT3RoZXI6CiAgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjcxLDExICsyMzQsNiBAQCBz
dGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXRlcm1pbmVDYXRlZ29yeShjb25zdCBDU1NDYWxj
RXhwcmVzc2lvbk5vZGUmIGxlZnRTaQogICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY090aGVy
IHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyKQogICAgICAgICByZXR1cm4gQ2FsY090aGVy
OwogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGxlZnRDYXRlZ29yeSA9PSBD
YWxjVmFyaWFibGUgfHwgcmlnaHRDYXRlZ29yeSA9PSBDYWxjVmFyaWFibGUpCi0gICAgICAgIHJl
dHVybiBDYWxjVmFyaWFibGU7Ci0jZW5kaWYKLQogICAgIHN3aXRjaCAob3ApIHsKICAgICBjYXNl
IENhbGNBZGQ6CiAgICAgY2FzZSBDYWxjU3VidHJhY3Q6ICAgICAgICAgICAgIApAQCAtMzYzLDE4
ICszMjEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBidWlsZENzc1RleHQobV9sZWZ0U2lk
ZS0+Y3VzdG9tQ3NzVGV4dCgpLCBtX3JpZ2h0U2lkZS0+Y3VzdG9tQ3NzVGV4dCgpLCBtX29wZXJh
dG9yKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0
cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBidWls
ZENzc1RleHQobV9sZWZ0U2lkZS0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxl
cyksIG1fcmlnaHRTaWRlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwg
bV9vcGVyYXRvcik7Ci0gICAgfQotCi0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJl
bmNlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2xlZnRTaWRlLT5oYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpIHx8IG1fcmlnaHRTaWRlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAg
IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NDYWxjRXhwcmVz
c2lvbk5vZGUmIGV4cCkgY29uc3QKICAgICB7CiAgICAgICAgIGlmICh0eXBlKCkgIT0gZXhwLnR5
cGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oCmluZGV4IDU2OWRi
ZGUuLjFiMDVlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlv
blZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaApA
QCAtNTIsOSArNTIsNiBAQCBlbnVtIENhbGN1bGF0aW9uQ2F0ZWdvcnkgewogICAgIENhbGNQZXJj
ZW50LAogICAgIENhbGNQZXJjZW50TnVtYmVyLAogICAgIENhbGNQZXJjZW50TGVuZ3RoLAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIENhbGNWYXJpYWJsZSwKLSNlbmRpZgogICAgIENh
bGNPdGhlcgogfTsKICAgICAKQEAgLTcxLDEwICs2OCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSBjb21w
dXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLjAsIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBm
YWxzZSkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25z
dCA9IDA7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgdmlydHVhbCBTdHJpbmcgc2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJp
bmc+JikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgp
IGNvbnN0ID0gMDsKLSNlbmRpZgogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9jYXRlZ29yeSA9PSBvdGhl
ci5tX2NhdGVnb3J5ICYmIG1faXNJbnRlZ2VyID09IG90aGVyLm1faXNJbnRlZ2VyOyB9CiAgICAg
dmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCA9
IDA7CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC0xMTAsMTAgKzEwMyw2
IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsK
ICAgICBib29sIGVxdWFscyhjb25zdCBDU1NDYWxjVmFsdWUmKSBjb25zdDsKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7Ci0gICAgYm9v
bCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCiAKICAgICB2b2lkIHJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CmluZGV4IDNmMTAxZTQuLjRiODI2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xNTgwLDkgKzE1ODAsNiBAQCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUoQ1NTUHJvcGVydAogCiAgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlJbnZhbGlkOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5VmFyaWFibGU6Ci0jZW5kaWYKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3I6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueS5pbgppbmRleCA1MzllYTY4Li5kMzA1YjUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFtbWFyLnkuaW4KQEAgLTc3LDcgKzc3LDYgQEAgc3RhdGljIGlubGluZSBib29sIGlzQ1NT
VG9rZW5BU3RyaW5nKGludCB5eXR5cGUpCiAgICAgY2FzZSBDQUxDRlVOQ1RJT046CiAgICAgY2Fz
ZSBNSU5GVU5DVElPTjoKICAgICBjYXNlIE1BWEZVTkNUSU9OOgotICAgIGNhc2UgVkFSX0RFRklO
SVRJT046CiAgICAgY2FzZSBVTklDT0RFUkFOR0U6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IGRlZmF1bHQ6CkBAIC04OCw5ICs4Nyw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU1Rva2Vu
QVN0cmluZyhpbnQgeXl0eXBlKQogJX0KIAogI2lmIEVOQUJMRV9TSEFET1dfRE9NCi0lZXhwZWN0
IDY4CislZXhwZWN0IDY1CiAjZWxzZQotJWV4cGVjdCA2NworJWV4cGVjdCA2NAogI2VuZGlmCiAK
ICVub25hc3NvYyBMT1dFU1RfUFJFQwpAQCAtMTMxLDcgKzEzMCw2IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc0NTU1Rva2VuQVN0cmluZyhpbnQgeXl0eXBlKQogI2VuZGlmCiAldG9rZW4gQ0hBUlNF
VF9TWU0KICV0b2tlbiBOQU1FU1BBQ0VfU1lNCi0ldG9rZW4gVkFSRlVOQ1RJT04KICV0b2tlbiBX
RUJLSVRfUlVMRV9TWU0KICV0b2tlbiBXRUJLSVRfREVDTFNfU1lNCiAldG9rZW4gV0VCS0lUX0tF
WUZSQU1FX1JVTEVfU1lNCkBAIC0yMTksNyArMjE3LDYgQEAgc3RhdGljIGlubGluZSBib29sIGlz
Q1NTVG9rZW5BU3RyaW5nKGludCB5eXR5cGUpCiAldG9rZW4gPHN0cmluZz4gQ0FMQ0ZVTkNUSU9O
CiAldG9rZW4gPHN0cmluZz4gTUlORlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBNQVhGVU5DVElP
TgotJXRva2VuIDxzdHJpbmc+IFZBUl9ERUZJTklUSU9OCiAKICV0b2tlbiA8c3RyaW5nPiBVTklD
T0RFUkFOR0UKIApAQCAtMTYwOSwxNiArMTYwNiw2IEBAIGRlY2xfbGlzdDoKICAgICA7CiAKIGRl
Y2xhcmF0aW9uOgotICAgIFZBUl9ERUZJTklUSU9OICc6JyBtYXliZV9zcGFjZSBleHByIHByaW8g
ewotI2lmIEVOQUJMRV9DU1NfVkFSSUFCTEVTCi0gICAgICAgIHBhcnNlci0+c3RvcmVWYXJpYWJs
ZURlY2xhcmF0aW9uKCQxLCBwYXJzZXItPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkNCksICQ1KTsK
LSAgICAgICAgJCQgPSB0cnVlOwotICAgICAgICBwYXJzZXItPm1hcmtQcm9wZXJ0eUVuZCgkNSwg
dHJ1ZSk7Ci0jZWxzZQotICAgICAgICAkJCA9IGZhbHNlOwotI2VuZGlmCi0gICAgfQotICAgIHwK
ICAgICBwcm9wZXJ0eSAnOicgbWF5YmVfc3BhY2UgZXhwciBwcmlvIHsKICAgICAgICAgJCQgPSBm
YWxzZTsKICAgICAgICAgYm9vbCBpc1Byb3BlcnR5UGFyc2VkID0gZmFsc2U7CkBAIC0xNzUwLDEz
ICsxNzM3LDYgQEAgdGVybToKICAgfCBVTklDT0RFUkFOR0UgbWF5YmVfc3BhY2UgeyAkJC5pZCA9
IDA7ICQkLnN0cmluZyA9ICQxOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VTklD
T0RFX1JBTkdFOyB9CiAgIHwgSEVYIG1heWJlX3NwYWNlIHsgJCQuaWQgPSAwOyAkJC5zdHJpbmcg
PSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0hFWENPTE9SOyB9
CiAgIHwgJyMnIG1heWJlX3NwYWNlIHsgJCQuaWQgPSAwOyAkJC5zdHJpbmcgPSBDU1NQYXJzZXJT
dHJpbmcoKTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0hFWENPTE9S
OyB9IC8qIEhhbmRsZSBlcnJvciBjYXNlOiAiY29sb3I6ICM7IiAqLwotICB8IFZBUkZVTkNUSU9O
IG1heWJlX3NwYWNlIElERU5UICcpJyBtYXliZV9zcGFjZSB7Ci0jaWYgRU5BQkxFX0NTU19WQVJJ
QUJMRVMKLSAgICAgICQkLmlkID0gMDsKLSAgICAgICQkLnN0cmluZyA9ICQzOwotICAgICAgJCQu
dW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRTsKLSNlbmRpZgotICB9
CiAgIC8qIEZJWE1FOiBhY2NvcmRpbmcgdG8gdGhlIHNwZWNzIGEgZnVuY3Rpb24gY2FuIGhhdmUg
YSB1bmFyeV9vcGVyYXRvciBpbiBmcm9udC4gSSBrbm93IG5vIGNhc2Ugd2hlcmUgdGhpcyBtYWtl
cyBzZW5zZSAqLwogICB8IGZ1bmN0aW9uIHsKICAgICAgICQkID0gJDE7CkBAIC0xODQ4LDEzICsx
ODI4LDYgQEAgZnVuY3Rpb246CiAgCiBjYWxjX2Z1bmNfdGVybToKICAgdW5hcnlfdGVybSB7ICQk
ID0gJDE7IH0KLSAgfCBWQVJGVU5DVElPTiBtYXliZV9zcGFjZSBJREVOVCAnKScgbWF5YmVfc3Bh
Y2UgewotI2lmIEVOQUJMRV9DU1NfVkFSSUFCTEVTCi0gICAgICAkJC5pZCA9IDA7Ci0gICAgICAk
JC5zdHJpbmcgPSAkMzsKLSAgICAgICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZB
UklBQkxFX05BTUU7Ci0jZW5kaWYKLSAgfQogICB8IHVuYXJ5X29wZXJhdG9yIHVuYXJ5X3Rlcm0g
eyAkJCA9ICQyOyAkJC5mVmFsdWUgKj0gJDE7IH0KICAgOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IDcyODk2NzIuLmFiN2I3MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBA
IC01Myw5ICs1Myw2IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUg
IkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNlbmRpZgogI2lu
Y2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZsb2F0
Q29udmVyc2lvbi5oIgpAQCAtMjYwLDkgKzI1Nyw2IEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1Bh
cnNlckNvbnRleHQoQ1NTUGFyc2VyTW9kZSBtb2RlLCBjb25zdCBLVVJMJiBiYXNlVVJMKQogICAg
ICwgaXNDU1NSZWdpb25zRW5hYmxlZChmYWxzZSkKICAgICAsIGlzQ1NTQ29tcG9zaXRpbmdFbmFi
bGVkKGZhbHNlKQogICAgICwgaXNDU1NHcmlkTGF5b3V0RW5hYmxlZChmYWxzZSkKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICAsIGlzQ1NTVmFyaWFibGVzRW5hYmxlZChmYWxzZSkKLSNl
bmRpZgogICAgICwgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoZmFsc2UpCiAgICAgLCBlbmZvcmNl
c0NTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUodHJ1ZSkKICAgICAsIHVzZUxlZ2FjeUJhY2tncm91
bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoZmFsc2UpCkBAIC0yNzksOSArMjczLDYgQEAgQ1NTUGFy
c2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEtV
UkwmIGJhc2VVUkwsIGNvbnMKICAgICAsIGlzQ1NTUmVnaW9uc0VuYWJsZWQoZG9jdW1lbnQtPmNz
c1JlZ2lvbnNFbmFibGVkKCkpCiAgICAgLCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZChkb2N1bWVu
dC0+Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkpCiAgICAgLCBpc0NTU0dyaWRMYXlvdXRFbmFibGVk
KGRvY3VtZW50LT5jc3NHcmlkTGF5b3V0RW5hYmxlZCgpKQotI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQotICAgICwgaXNDU1NWYXJpYWJsZXNFbmFibGVkKGRvY3VtZW50LT5zZXR0aW5ncygpID8g
ZG9jdW1lbnQtPnNldHRpbmdzKCktPmNzc1ZhcmlhYmxlc0VuYWJsZWQoKSA6IGZhbHNlKQotI2Vu
ZGlmCiAgICAgLCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhkb2N1bWVudC0+c2V0dGluZ3MoKSA/
IGRvY3VtZW50LT5zZXR0aW5ncygpLT5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIDogZmFsc2Up
CiAgICAgLCBlbmZvcmNlc0NTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoIWRvY3VtZW50LT5zZXR0
aW5ncygpIHx8IGRvY3VtZW50LT5zZXR0aW5ncygpLT5lbmZvcmNlQ1NTTUlNRVR5cGVJbk5vUXVp
cmtzTW9kZSgpKQogICAgICwgdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlv
cihkb2N1bWVudC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT51c2VMZWdhY3lC
YWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKCkgOiBmYWxzZSkKQEAgLTI5OSw5ICsyOTAs
NiBAQCBib29sIG9wZXJhdG9yPT0oY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgYSwgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYgYikKICAgICAgICAgJiYgYS5pc0NTU1JlZ2lvbnNFbmFibGVkID09IGIu
aXNDU1NSZWdpb25zRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVk
ID09IGIuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0dyaWRMYXlv
dXRFbmFibGVkID09IGIuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZAotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgICAgICAmJiBhLmlzQ1NTVmFyaWFibGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFy
aWFibGVzRW5hYmxlZAotI2VuZGlmCiAgICAgICAgICYmIGEubmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MgPT0gYi5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcwogICAgICAgICAmJiBhLmVuZm9yY2VzQ1NT
TUlNRVR5cGVJbk5vUXVpcmtzTW9kZSA9PSBiLmVuZm9yY2VzQ1NTTUlNRVR5cGVJbk5vUXVpcmtz
TW9kZQogICAgICAgICAmJiBhLnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3IgPT0gYi51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwpAQCAtMTI4
NSwyNSArMTI3Myw2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NQYXJzZXI6OnBhcnNl
Rm9udEZhY2VWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluCiAgICAgcmV0dXJuIHN0YXRp
Y19wb2ludGVyX2Nhc3Q8Q1NTVmFsdWVMaXN0PihkdW1teVN0eWxlLT5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKENTU1Byb3BlcnR5Rm9udEZhbWlseSkpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCi1ib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShTdHlsZVByb3BlcnR5U2V0KiBkZWNsYXJh
dGlvbiwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHN0cmluZywgYm9v
bCBpbXBvcnRhbnQsIERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICBBU1NFUlQoIXN0cmluZy5p
c0VtcHR5KCkpOwotCi0gICAgQ1NTUGFyc2VyQ29udGV4dCBjb250ZXh0KGRvY3VtZW50KTsKLQot
ICAgIGlmIChwYXJzZVNpbXBsZUxlbmd0aFZhbHVlKGRlY2xhcmF0aW9uLCBwcm9wZXJ0eUlELCBz
dHJpbmcsIGltcG9ydGFudCwgY29udGV4dC5tb2RlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgaWYgKHBhcnNlQ29sb3JWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgc3RyaW5nLCBp
bXBvcnRhbnQsIGNvbnRleHQubW9kZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChw
YXJzZUtleXdvcmRWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgc3RyaW5nLCBpbXBvcnRh
bnQsIGNvbnRleHQpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENTU1BhcnNlciBwYXJz
ZXIoY29udGV4dCk7Ci0gICAgcmV0dXJuIHBhcnNlci5wYXJzZVZhbHVlKGRlY2xhcmF0aW9uLCBw
cm9wZXJ0eUlELCBzdHJpbmcsIGltcG9ydGFudCwgc3RhdGljX2Nhc3Q8U3R5bGVTaGVldENvbnRl
bnRzKj4oMCkpOwotfQotI2VuZGlmCi0KIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKFN0eWxl
UHJvcGVydHlTZXQqIGRlY2xhcmF0aW9uLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBib29sIGltcG9ydGFudCwgQ1NTUGFyc2VyTW9kZSBjc3NQYXJzZXJN
b2RlLCBTdHlsZVNoZWV0Q29udGVudHMqIGNvbnRleHRTdHlsZVNoZWV0KQogewogICAgIEFTU0VS
VCghc3RyaW5nLmlzRW1wdHkoKSk7CkBAIC0xNDk1LDI3ICsxNDY0LDEzIEBAIFBhc3NPd25QdHI8
TWVkaWFRdWVyeT4gQ1NTUGFyc2VyOjpwYXJzZU1lZGlhUXVlcnkoY29uc3QgU3RyaW5nJiBzdHJp
bmcpCiAgICAgcmV0dXJuIG1fbWVkaWFRdWVyeS5yZWxlYXNlKCk7CiB9CiAKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLXN0YXRpYyBpbmxpbmUgdm9pZCBmaWx0ZXJQcm9wZXJ0aWVzKGJvb2wg
aW1wb3J0YW50LCBjb25zdCBDU1NQYXJzZXI6OlBhcnNlZFByb3BlcnR5VmVjdG9yJiBpbnB1dCwg
VmVjdG9yPENTU1Byb3BlcnR5LCAyNTY+JiBvdXRwdXQsIHNpemVfdCYgdW51c2VkRW50cmllcywg
Qml0QXJyYXk8bnVtQ1NTUHJvcGVydGllcz4mIHNlZW5Qcm9wZXJ0aWVzLCBIYXNoU2V0PEF0b21p
Y1N0cmluZz4mIHNlZW5WYXJpYWJsZXMpCi0jZWxzZQogc3RhdGljIGlubGluZSB2b2lkIGZpbHRl
clByb3BlcnRpZXMoYm9vbCBpbXBvcnRhbnQsIGNvbnN0IENTU1BhcnNlcjo6UGFyc2VkUHJvcGVy
dHlWZWN0b3ImIGlucHV0LCBWZWN0b3I8Q1NTUHJvcGVydHksIDI1Nj4mIG91dHB1dCwgc2l6ZV90
JiB1bnVzZWRFbnRyaWVzLCBCaXRBcnJheTxudW1DU1NQcm9wZXJ0aWVzPiYgc2VlblByb3BlcnRp
ZXMpCi0jZW5kaWYKIHsKICAgICAvLyBBZGQgcHJvcGVydGllcyBpbiByZXZlcnNlIG9yZGVyIHNv
IHRoYXQgaGlnaGVzdCBwcmlvcml0eSBkZWZpbml0aW9ucyBhcmUgcmVhY2hlZCBmaXJzdC4gRHVw
bGljYXRlIGRlZmluaXRpb25zIGNhbiB0aGVuIGJlIGlnbm9yZWQgd2hlbiBmb3VuZC4KICAgICBm
b3IgKGludCBpID0gaW5wdXQuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgY29u
c3QgQ1NTUHJvcGVydHkmIHByb3BlcnR5ID0gaW5wdXRbaV07CiAgICAgICAgIGlmIChwcm9wZXJ0
eS5pc0ltcG9ydGFudCgpICE9IGltcG9ydGFudCkKICAgICAgICAgICAgIGNvbnRpbnVlOwotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBpZiAocHJvcGVydHkuaWQoKSA9PSBDU1NQ
cm9wZXJ0eVZhcmlhYmxlKSB7Ci0gICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUg
PSBzdGF0aWNfY2FzdDxDU1NWYXJpYWJsZVZhbHVlKj4ocHJvcGVydHkudmFsdWUoKSktPm5hbWUo
KTsKLSAgICAgICAgICAgIGlmIChzZWVuVmFyaWFibGVzLmNvbnRhaW5zKG5hbWUpKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgc2VlblZhcmlhYmxlcy5hZGQobmFtZSk7
Ci0gICAgICAgICAgICBvdXRwdXRbLS11bnVzZWRFbnRyaWVzXSA9IHByb3BlcnR5OwotICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBwcm9wZXJ0eUlESW5kZXggPSBwcm9wZXJ0eS5pZCgpIC0gZmlyc3RDU1NQcm9wZXJ0eTsKICAg
ICAgICAgaWYgKHNlZW5Qcm9wZXJ0aWVzLmdldChwcm9wZXJ0eUlESW5kZXgpKQogICAgICAgICAg
ICAgY29udGludWU7CkBAIC0xNTMxLDE0ICsxNDg2LDggQEAgUGFzc1JlZlB0cjxTdHlsZVByb3Bl
cnR5U2V0PiBDU1NQYXJzZXI6OmNyZWF0ZVN0eWxlUHJvcGVydHlTZXQoKQogICAgIFZlY3RvcjxD
U1NQcm9wZXJ0eSwgMjU2PiByZXN1bHRzKHVudXNlZEVudHJpZXMpOwogCiAgICAgLy8gSW1wb3J0
YW50IHByb3BlcnRpZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHksIHNvIGFkZCB0aGVtIGZpcnN0LiBE
dXBsaWNhdGUgZGVmaW5pdGlvbnMgY2FuIHRoZW4gYmUgaWdub3JlZCB3aGVuIGZvdW5kLgotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzZWVuVmFy
aWFibGVzOwotICAgIGZpbHRlclByb3BlcnRpZXModHJ1ZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCBy
ZXN1bHRzLCB1bnVzZWRFbnRyaWVzLCBzZWVuUHJvcGVydGllcywgc2VlblZhcmlhYmxlcyk7Ci0g
ICAgZmlsdGVyUHJvcGVydGllcyhmYWxzZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1
bnVzZWRFbnRyaWVzLCBzZWVuUHJvcGVydGllcywgc2VlblZhcmlhYmxlcyk7Ci0jZWxzZQogICAg
IGZpbHRlclByb3BlcnRpZXModHJ1ZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1bnVz
ZWRFbnRyaWVzLCBzZWVuUHJvcGVydGllcyk7CiAgICAgZmlsdGVyUHJvcGVydGllcyhmYWxzZSwg
bV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1bnVzZWRFbnRyaWVzLCBzZWVuUHJvcGVydGll
cyk7Ci0jZW5kaWYKICAgICBpZiAodW51c2VkRW50cmllcykKICAgICAgICAgcmVzdWx0cy5yZW1v
dmUoMCwgdW51c2VkRW50cmllcyk7CiAKQEAgLTE2MTksMTEgKzE1NjgsNiBAQCBib29sIENTU1Bh
cnNlcjo6dmFsaWRDYWxjdWxhdGlvblVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1
bml0ZmxhZ3MsIFJlbAogICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6CiAgICAgICAgIGIgPSAo
dW5pdGZsYWdzICYgRlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKICAgICAgICAg
YnJlYWs7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDYWxjVmFyaWFibGU6
Ci0gICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKLSNlbmRpZgogICAgIGNhc2UgQ2Fs
Y090aGVyOgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNjQ1LDEyICsxNTg5LDYgQEAgYm9v
bCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFVuaXRzIHVuaXRm
bGFncywgQ1NTUGFyc2VyTW9kZQogICAgICAgICAKICAgICBib29sIGIgPSBmYWxzZTsKICAgICBz
d2l0Y2ggKHZhbHVlLT51bml0KSB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU6Ci0gICAgICAgIC8vIFZhcmlh
YmxlcyBhcmUgY2hlY2tlZCBhdCB0aGUgcG9pbnQgdGhleSBhcmUgZGVyZWZlcmVuY2VkIGJlY2F1
c2UgdW5pdCB0eXBlIGlzIG5vdCBhdmFpbGFibGUgaGVyZS4KLSAgICAgICAgYiA9IHRydWU7Ci0g
ICAgICAgIGJyZWFrOwotI2VuZGlmCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05V
TUJFUjoKICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKICAgICAgICAgaWYgKCFi
ICYmIHNob3VsZEFjY2VwdFVuaXRMZXNzVmFsdWVzKHZhbHVlLCB1bml0ZmxhZ3MsIGNzc1BhcnNl
ck1vZGUpKSB7CkBAIC0xNzEzLDExICsxNjUxLDYgQEAgYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5p
dChDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFVuaXRzIHVuaXRmbGFncywgQ1NTUGFyc2VyTW9kZQog
CiBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQ
cmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQogewotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1ZBUklBQkxFX05BTUUpCi0gICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYXJp
YWJsZU5hbWVWYWx1ZSh2YWx1ZSk7Ci0jZW5kaWYKLQogICAgIGlmIChtX3BhcnNlZENhbGN1bGF0
aW9uKSB7CiAgICAgICAgIEFTU0VSVChpc0NhbGN1bGF0aW9uKHZhbHVlKSk7CiAgICAgICAgIHJl
dHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsY3VsYXRpb24ucmVsZWFz
ZSgpKTsKQEAgLTE3NDIsMTUgKzE2NzUsNiBAQCBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gQ1NTUGFyc2VyOjpjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYQogICAg
IHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZSh2YWx1ZS0+c3RyaW5nLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1NUUklORyk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykK
LWlubGluZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OmNyZWF0ZVBy
aW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKLXsKLSAgICBB
U1NFUlQodmFsdWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1F
KTsKLSAgICBBdG9taWNTdHJpbmcgdmFyaWFibGVOYW1lID0gU3RyaW5nKHZhbHVlLT5zdHJpbmcp
Lmxvd2VyKCk7Ci0gICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFyaWFibGVO
YW1lLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUUpOwotfQotI2VuZGlmCi0K
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbW1hKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKIHsgCiAg
ICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRv
ciAmJiB2YWx1ZS0+aVZhbHVlID09ICcsJzsgCkBAIC0xNzk1LDEwICsxNzE5LDYgQEAgaW5saW5l
IFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1p
dGl2ZShpbnQgaWRlbnRpZmkKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19EUFBYICYmIHZhbHVlLT51bml0IDw9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRFBD
TSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2YWx1ZSk7CiAj
ZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAodmFsdWUtPnVuaXQgPT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKQotICAgICAgICByZXR1cm4gY3Jl
YXRlUHJpbWl0aXZlVmFyaWFibGVOYW1lVmFsdWUodmFsdWUpOwotI2VuZGlmCiAgICAgaWYgKHZh
bHVlLT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAgICAgICAgcmV0dXJuIENTU1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGVBbGxvd2luZ01hcmdpblF1aXJrKHZhbHVlLT5mVmFsdWUsIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKTsKICAgICBpZiAoaXNDYWxjdWxhdGlvbih2YWx1ZSkp
CkBAIC0xODU0LDE1ICsxNzc0LDYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJv
cGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAoIWlkICYmIHZhbHVlLT51
bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRSAmJiBudW0gPT0gMSkg
ewotICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIGNyZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFt
ZVZhbHVlKHZhbHVlKSwgaW1wb3J0YW50KTsKLSAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIEFTU0VSVChwcm9wSWQgIT0gQ1NTUHJv
cGVydHlWYXJpYWJsZSk7Ci0jZW5kaWYKLQogICAgIGlmIChpc0tleXdvcmRQcm9wZXJ0eUlEKHBy
b3BJZCkpIHsKICAgICAgICAgaWYgKCFpc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUocHJv
cElkLCBpZCwgbV9jb250ZXh0KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMDAs
OSArMjkxMSw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToK
ICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZU1vZGU6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVRleHRVbmRlcmxpbmVTdHlsZToKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBj
YXNlIENTU1Byb3BlcnR5VmFyaWFibGU6Ci0jZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5Vmlz
aWJpbGl0eToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXBwZWFyYW5jZToKICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5OgpAQCAtMzI4NiwzNiArMzE5NCw2
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZpbGxTaG9ydGhhbmQoQ1NTUHJvcGVydHlJRCBwcm9w
SWQsIGNvbnN0IENTU1Byb3BlcnR5SUQqIHByCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKLWJvb2wgQ1NTUGFyc2VyOjpjc3NWYXJpYWJsZXNFbmFibGVk
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250ZXh0LmlzQ1NTVmFyaWFibGVzRW5hYmxlZDsK
LX0KLQotdm9pZCBDU1NQYXJzZXI6OnN0b3JlVmFyaWFibGVEZWNsYXJhdGlvbihjb25zdCBDU1NQ
YXJzZXJTdHJpbmcmIG5hbWUsIFBhc3NPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0PiB2YWx1ZSwg
Ym9vbCBpbXBvcnRhbnQpCi17Ci0gICAgLy8gV2hlbiBDU1NHcmFtbWFyLnkgZW5jb3VudGVycyBh
biBpbnZhbGlkIGRlY2xhcmF0aW9uIGl0IHBhc3NlcyBudWxsIGZvciB0aGUgQ1NTUGFyc2VyVmFs
dWVMaXN0LCBqdXN0IGJhaWwuCi0gICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgcmV0dXJuOwotICAg
IAotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVmaXhMZW5ndGggPSBzaXplb2YoIi13ZWJr
aXQtdmFyLSIpIC0gMTsKLSAgICAKLSAgICBBU1NFUlQobmFtZS5sZW5ndGgoKSA+IHByZWZpeExl
bmd0aCk7Ci0gICAgQXRvbWljU3RyaW5nIHZhcmlhYmxlTmFtZSA9IG5hbWUubG93ZXJTdWJzdHJp
bmcocHJlZml4TGVuZ3RoLCBuYW1lLmxlbmd0aCgpIC0gcHJlZml4TGVuZ3RoKTsKLQotICAgIFN0
cmluZ0J1aWxkZXIgYnVpbGRlcjsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBzaXplID0gdmFs
dWUtPnNpemUoKTsgaSA8IHNpemU7IGkrKykgewotICAgICAgICBpZiAoaSkKLSAgICAgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gY3NzVmFsdWUg
PSB2YWx1ZS0+dmFsdWVBdChpKS0+Y3JlYXRlQ1NTVmFsdWUoKTsKLSAgICAgICAgaWYgKCFjc3NW
YWx1ZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYnVpbGRlci5hcHBlbmQoY3NzVmFs
dWUtPmNzc1RleHQoKSk7Ci0gICAgfQotICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5VmFyaWFi
bGUsIENTU1ZhcmlhYmxlVmFsdWU6OmNyZWF0ZSh2YXJpYWJsZU5hbWUsIGJ1aWxkZXIudG9TdHJp
bmcoKS5sb3dlcigpKSwgaW1wb3J0YW50LCBmYWxzZSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NQ
YXJzZXI6OmFkZEFuaW1hdGlvblZhbHVlKFJlZlB0cjxDU1NWYWx1ZT4mIGx2YWwsIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHJ2YWwpCiB7CiAgICAgaWYgKGx2YWwpIHsKQEAgLTY0MjIsMTEgKzYzMDAs
NiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VSZWZsZWN0KENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICAvLyBEaXJlY3Rpb24gY29tZXMgZmlyc3QuCiAgICAgQ1NTUGFy
c2VyVmFsdWUqIHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CiAgICAgUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBkaXJlY3Rpb247Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
aWYgKHZhbC0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUUpCi0g
ICAgICAgIGRpcmVjdGlvbiA9IGNyZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKHZhbCk7
Ci0gICAgZWxzZQotI2VuZGlmCiAgICAgc3dpdGNoICh2YWwtPmlkKSB7CiAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVBYm92ZToKICAgICAgICAgY2FzZSBDU1NWYWx1ZUJlbG93OgpAQCAtMTAzNDIsMTAg
KzEwMjE1LDYgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2VyOjpkZXRlY3REYXNoVG9rZW4oaW50IGxl
bmd0aCkKICAgICAgICAgICAgIG1fdG9rZW4gPSBNSU5GVU5DVElPTjsKICAgICAgICAgZWxzZSBp
ZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVhbChuYW1lWzEwXSwgJ3gnKSAmJiBpc0VxdWFsVG9D
U1NJZGVudGlmaWVyKG5hbWUgKyAxLCAid2Via2l0LW1hIikpCiAgICAgICAgICAgICBtX3Rva2Vu
ID0gTUFYRlVOQ1RJT047Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGVsc2Ug
aWYgKGNzc1ZhcmlhYmxlc0VuYWJsZWQoKSAmJiBpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5h
bWVbMTBdLCAncicpICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDEsICJ3ZWJraXQt
dmEiKSkKLSAgICAgICAgICAgIG1fdG9rZW4gPSBWQVJGVU5DVElPTjsKLSNlbmRpZgogICAgIH0g
ZWxzZSBpZiAobGVuZ3RoID09IDEyICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDEs
ICJ3ZWJraXQtY2FsYyIpKQogICAgICAgICBtX3Rva2VuID0gQ0FMQ0ZVTkNUSU9OOwogI2lmIEVO
QUJMRShTSEFET1dfRE9NKQpAQCAtMTA3OTcsMTEgKzEwNjY2LDYgQEAgcmVzdGFydEFmdGVyQ29t
bWVudDoKICAgICAgICAgICAgIHBhcnNlSWRlbnRpZmllcihyZXN1bHQsIHJlc3VsdFN0cmluZywg
aGFzRXNjYXBlKTsKICAgICAgICAgICAgIG1fdG9rZW4gPSBJREVOVDsKIAotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotICAgICAgICAgICAgaWYgKGNzc1ZhcmlhYmxlc0VuYWJsZWQoKSAmJiBp
c0VxdWFsVG9DU1NJZGVudGlmaWVyKHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDEs
ICJ3ZWJraXQtdmFyIikgJiYgdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpWzExXSA9PSAn
LScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRhc2godG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJU
eXBlPigpICsgMTIpKQotICAgICAgICAgICAgICAgIG1fdG9rZW4gPSBWQVJfREVGSU5JVElPTjsK
LSAgICAgICAgICAgIGVsc2UKLSNlbmRpZgogICAgICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFj
dGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygnKSB7CiAgICAgICAgICAgICAgICAgbV90b2tl
biA9IEZVTkNUSU9OOwogICAgICAgICAgICAgICAgIGlmICghaGFzRXNjYXBlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCmluZGV4IGIwNGM1ZTUuLjMyYjkzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
QEAgLTExMiwxMiArMTEyLDYgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VDb250ZW50KENTU1By
b3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlUXVvdGVzKENTU1Byb3Bl
cnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IHN0YXRpYyBib29sIHBhcnNlVmFsdWUoU3R5bGVQcm9wZXJ0eVNldCosIENTU1Byb3BlcnR5SUQs
IGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0YW50LCBEb2N1bWVudCopOwotICAgIGJvb2wgY3Nz
VmFyaWFibGVzRW5hYmxlZCgpIGNvbnN0OwotICAgIHZvaWQgc3RvcmVWYXJpYWJsZURlY2xhcmF0
aW9uKGNvbnN0IENTU1BhcnNlclN0cmluZyYsIFBhc3NPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0
PiwgYm9vbCBpbXBvcnRhbnQpOwotI2VuZGlmCi0KICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBw
YXJzZUF0dHIoQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzKTsKIAogICAgIFBhc3NSZWZQdHI8Q1NT
VmFsdWU+IHBhcnNlQmFja2dyb3VuZENvbG9yKCk7CkBAIC00MzcsOSArNDMxLDYgQEAgcHVibGlj
OgogCiAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVt
ZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKLSNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBj
cmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotI2VuZGlm
CiAKICAgICBzdGF0aWMgS1VSTCBjb21wbGV0ZVVSTChjb25zdCBDU1NQYXJzZXJDb250ZXh0Jiwg
Y29uc3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlck1vZGUuaAppbmRleCAw
NTQ3MTFlLi4zYjM2ZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
TW9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgKQEAgLTY5LDkg
KzY5LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZDsKICAgICBib29s
IGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkOwogICAgIGJvb2wgaXNDU1NHcmlkTGF5b3V0RW5hYmxl
ZDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBib29sIGlzQ1NTVmFyaWFibGVzRW5h
YmxlZDsKLSNlbmRpZgogICAgIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgYm9v
bCBlbmZvcmNlc0NTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGU7CiAgICAgYm9vbCB1c2VMZWdhY3lC
YWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
VmFsdWVzLmNwcAppbmRleCAwYWM1MmIyLi5kZDUyMzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyVmFsdWVzLmNwcApAQCAtMjUsOSArMjUsNiBAQAogI2luY2x1ZGUgIkNTU0Z1bmN0aW9u
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9y
TGlzdC5oIgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxl
VmFsdWUuaCIKLSNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTg3LDkgKzg0LDYg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyVmFsdWU6OmNyZWF0ZUNTU1ZhbHVlKCkK
ICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoZlZhbHVlLCBpc0ludCA/
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVIgOiBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX05VTUJFUik7CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORzoK
ICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVVJJOgotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FOgot
I2VuZGlmCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xPUjoK
ICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3RyaW5nLCBwcmltaXRp
dmVVbml0KTsKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IGFjZDc4NzcuLjQ5ZjI0
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMTIxLDkg
KzEyMSw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkQ1NTVW5pdFR5cGVGb3JEb3VibGVD
b252ZXJzaW9uKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0CiAgICAgY2FzZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1VOSUNPREVfUkFOR0U6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1VOS05PV046CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSToKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFC
TEVfTkFNRToKLSNlbmRpZgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0xOTcs
MTAgKzE5NCw2IEBAIHVuc2lnbmVkIHNob3J0IENTU1ByaW1pdGl2ZVZhbHVlOjpwcmltaXRpdmVU
eXBlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19Q
RVJDRU5UQUdFX1dJVEhfTlVNQkVSOwogICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CiAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9XSVRIX0xF
TkdUSDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBjYXNlIENhbGNWYXJpYWJsZToK
LSAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsgLy8gVGhlIHR5
cGUgb2YgYSBjYWxjdWxhdGlvbiBjb250YWluaW5nIGEgdmFyaWFibGUgY2Fubm90IGJlIGtub3du
IHVudGlsIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgaXMgZGV0ZXJtaW5lZC4KLSNlbmRpZgog
ICAgIGNhc2UgQ2FsY090aGVyOgogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19VTktOT1dOOwogICAgIH0KQEAgLTM4NSw5ICszNzgsNiBAQCB2b2lkIENTU1ByaW1pdGl2ZVZh
bHVlOjpjbGVhbnVwKCkKICAgICBjYXNlIENTU19VUkk6CiAgICAgY2FzZSBDU1NfQVRUUjoKICAg
ICBjYXNlIENTU19DT1VOVEVSX05BTUU6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAg
Y2FzZSBDU1NfVkFSSUFCTEVfTkFNRToKLSNlbmRpZgogICAgIGNhc2UgQ1NTX1BBUlNFUl9IRVhD
T0xPUjoKICAgICAgICAgaWYgKG1fdmFsdWUuc3RyaW5nKQogICAgICAgICAgICAgbV92YWx1ZS5z
dHJpbmctPmRlcmVmKCk7CkBAIC03NjYsOSArNzU2LDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZh
bHVlOjpnZXRTdHJpbmdWYWx1ZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKICAgICAgICAgY2Fz
ZSBDU1NfU1RSSU5HOgogICAgICAgICBjYXNlIENTU19BVFRSOgogICAgICAgICBjYXNlIENTU19V
Ukk6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ1NTX1ZBUklBQkxF
X05BTUU6Ci0jZW5kaWYKICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLnN0cmluZzsKICAgICAg
ICAgY2FzZSBDU1NfSURFTlQ6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVPclByb3BlcnR5TmFt
ZShtX3ZhbHVlLmlkZW50KTsKQEAgLTc4Niw5ICs3NzMsNiBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZl
VmFsdWU6OmdldFN0cmluZ1ZhbHVlKCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NfU1RSSU5HOgog
ICAgICAgICBjYXNlIENTU19BVFRSOgogICAgICAgICBjYXNlIENTU19VUkk6Ci0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYK
ICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLnN0cmluZzsKICAgICAgICAgY2FzZSBDU1NfSURF
TlQ6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVPclByb3BlcnR5TmFtZShtX3ZhbHVlLmlkZW50
KTsKQEAgLTExMTYsMTEgKzExMDAsNiBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmN1c3Rv
bUNzc1RleHQoKSBjb25zdAogICAgICAgICBjYXNlIENTU19WTUFYOgogICAgICAgICAgICAgdGV4
dCA9IGZvcm1hdE51bWJlcihtX3ZhbHVlLm51bSwgInZtYXgiKTsKICAgICAgICAgICAgIGJyZWFr
OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJMRV9O
QU1FOgotICAgICAgICAgICAgdGV4dCA9ICItd2Via2l0LXZhcigiICsgU3RyaW5nKG1fdmFsdWUu
c3RyaW5nKSArICIpIjsKLSAgICAgICAgICAgIGJyZWFrOwotI2VuZGlmCiAgICAgfQogCiAgICAg
QVNTRVJUKCFjc3NUZXh0Q2FjaGUoKS5jb250YWlucyh0aGlzKSk7CkBAIC0xMTI5LDQwICsxMTA4
LDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAg
ICByZXR1cm4gdGV4dDsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENT
U1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3Qg
SGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBp
ZiAoaXNWYXJpYWJsZU5hbWUoKSAmJiB2YXJpYWJsZXMuY29udGFpbnMobV92YWx1ZS5zdHJpbmcp
KQotICAgICAgICByZXR1cm4gdmFyaWFibGVzLmdldChtX3ZhbHVlLnN0cmluZyk7Ci0gICAgaWYg
KENTU0NhbGNWYWx1ZSogY2FsY1ZhbHVlID0gY3NzQ2FsY1ZhbHVlKCkpCi0gICAgICAgIHJldHVy
biBjYWxjVmFsdWUtPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMp
OwotICAgIGlmIChQYWlyKiBwYWlyVmFsdWUgPSBnZXRQYWlyVmFsdWUoKSkKLSAgICAgICAgcmV0
dXJuIHBhaXJWYWx1ZS0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0g
ICAgaWYgKFJlY3QqIHJlY3RWYWwgPSBnZXRSZWN0VmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHJl
Y3RWYWwtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIGlmIChR
dWFkKiBxdWFkVmFsID0gZ2V0UXVhZFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBxdWFkVmFsLT5z
ZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBpZiAoQ1NTQmFzaWNT
aGFwZSogc2hhcGVWYWx1ZSA9IGdldFNoYXBlVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHNoYXBl
VmFsdWUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIHJldHVy
biBjdXN0b21Dc3NUZXh0KCk7Ci19Ci0KLWJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6Omhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICBpZiAoQ1NTQ2FsY1ZhbHVlKiBjYWxjVmFsdWUg
PSBjc3NDYWxjVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIGNhbGNWYWx1ZS0+aGFzVmFyaWFibGVS
ZWZlcmVuY2UoKTsKLSAgICBpZiAoUGFpciogcGFpclZhbHVlID0gZ2V0UGFpclZhbHVlKCkpCi0g
ICAgICAgIHJldHVybiBwYWlyVmFsdWUtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0gICAgaWYg
KFF1YWQqIHF1YWRWYWx1ZSA9IGdldFF1YWRWYWx1ZSgpKQotICAgICAgICByZXR1cm4gcXVhZFZh
bHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIGlmIChSZWN0KiByZWN0VmFsdWUgPSBn
ZXRSZWN0VmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHJlY3RWYWx1ZS0+aGFzVmFyaWFibGVSZWZl
cmVuY2UoKTsKLSAgICBpZiAoQ1NTQmFzaWNTaGFwZSogc2hhcGVWYWx1ZSA9IGdldFNoYXBlVmFs
dWUoKSkKLSAgICAgICAgcmV0dXJuIHNoYXBlVmFsdWUtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCk7
Ci0gICAgcmV0dXJuIGlzVmFyaWFibGVOYW1lKCk7Ci19Ci0jZW5kaWYKLQogdm9pZCBDU1NQcmlt
aXRpdmVWYWx1ZTo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVy
bHMsIGNvbnN0IFN0eWxlU2hlZXRDb250ZW50cyogc3R5bGVTaGVldCkgY29uc3QKIHsKICAgICBp
ZiAobV9wcmltaXRpdmVVbml0VHlwZSA9PSBDU1NfVVJJKQpAQCAtMTMyOCw5ICsxMjczLDYgQEAg
Ym9vbCBDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBv
dGhlcikgY29uc3QKICAgICBjYXNlIENTU19DT1VOVEVSX05BTUU6CiAgICAgY2FzZSBDU1NfUEFS
U0VSX0lERU5USUZJRVI6CiAgICAgY2FzZSBDU1NfUEFSU0VSX0hFWENPTE9SOgotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYKICAg
ICAgICAgcmV0dXJuIGVxdWFsKG1fdmFsdWUuc3RyaW5nLCBvdGhlci5tX3ZhbHVlLnN0cmluZyk7
CiAgICAgY2FzZSBDU1NfQ09VTlRFUjoKICAgICAgICAgcmV0dXJuIG1fdmFsdWUuY291bnRlciAm
JiBvdGhlci5tX3ZhbHVlLmNvdW50ZXIgJiYgbV92YWx1ZS5jb3VudGVyLT5lcXVhbHMoKm90aGVy
Lm1fdmFsdWUuY291bnRlcik7CkBAIC0xMzY5LDkgKzEzMTEsNiBAQCB2b2lkIENTU1ByaW1pdGl2
ZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZQogICAgIGNhc2UgQ1NTX1BBUlNFUl9IRVhDT0xPUjoKICAgICBjYXNlIENTU19TVFJJ
Tkc6CiAgICAgY2FzZSBDU1NfVVJJOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNh
c2UgQ1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYKICAgICAgICAgLy8gRklYTUU6IGRldGVjdCBv
dGhlciBjYXNlcyB3aGVuIG1fdmFsdWUgaXMgU3RyaW5nSW1wbCoKICAgICAgICAgaW5mby5hZGRN
ZW1iZXIobV92YWx1ZS5zdHJpbmcsICJ2YWx1ZS5zdHJpbmciKTsKICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCmluZGV4IDE4ZDIzZmEuLjVhNTg5ZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0xMzAsMTAgKzEzMCw2
IEBAIHB1YmxpYzoKICAgICAgICAgQ1NTX0NBTEMgPSAxMTMsCiAgICAgICAgIENTU19DQUxDX1BF
UkNFTlRBR0VfV0lUSF9OVU1CRVIgPSAxMTQsCiAgICAgICAgIENTU19DQUxDX1BFUkNFTlRBR0Vf
V0lUSF9MRU5HVEggPSAxMTUsCi0KLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAg
Q1NTX1ZBUklBQkxFX05BTUUgPSAxMTYsCi0jZW5kaWYKICAgICB9OwogCiAgICAgLy8gVGhpcyBl
bnVtIGZvbGxvd3MgdGhlIENTU1BhcnNlcjo6VW5pdHMgZW51bSBhdWdtZW50ZWQgd2l0aCBVTklU
X0ZSRVFVRU5DWSBmb3IgZnJlcXVlbmNpZXMuCkBAIC0xOTAsOSArMTg2LDYgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNEb3RzUGVyUGl4ZWwoKSBjb25zdCB7IHJldHVybiBwcmltaXRpdmVUeXBlKCkg
PT0gQ1NTX0RQUFg7IH0KICAgICBib29sIGlzRG90c1BlckNlbnRpbWV0ZXIoKSBjb25zdCB7IHJl
dHVybiBwcmltaXRpdmVUeXBlKCkgPT0gQ1NTX0RQQ007IH0KIAotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIGJvb2wgaXNWYXJpYWJsZU5hbWUoKSBjb25zdCB7IHJldHVybiBwcmltaXRp
dmVUeXBlKCkgPT0gQ1NTX1ZBUklBQkxFX05BTUU7IH0KLSNlbmRpZgogICAgIGJvb2wgaXNWaWV3
cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3ByaW1pdGl2ZVVuaXRUeXBl
ID49IENTU19WVyAmJiBtX3ByaW1pdGl2ZVVuaXRUeXBlIDw9IENTU19WTUFYOyB9CiAKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlSWRlbnRpZmllcihpbnQg
aWRlbnRpZmllcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU1ByaW1pdGl2ZVZhbHVlKGlkZW50
aWZpZXIpKTsgfQpAQCAtMzA2LDEwICsyOTksNiBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIG9wZXJhdG9yIFQoKSBjb25zdDsgLy8gRGVmaW5lZCBpbiBDU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKIAogICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7
Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNv
bnN0OwotICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdDsKLSNlbmRpZgogCiAg
ICAgYm9vbCBpc1F1aXJrVmFsdWUoKSB7IHJldHVybiBtX2lzUXVpcmtWYWx1ZTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA2NmMw
MDgyLi43YTc2MWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZU1hcHBpbmdzLmgKQEAgLTQyMTQsOSArNDIxNCw2IEBAIGVudW0gTGVuZ3RoQ29udmVyc2lvbiB7
CiAKIHRlbXBsYXRlPGludCBzdXBwb3J0ZWQ+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydFRvTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7Ci0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgQVNTRVJUKCFoYXNWYXJpYWJsZVJlZmVyZW5jZSgpKTsKLSNl
bmRpZgogICAgIGlmICgoc3VwcG9ydGVkICYgKEZpeGVkSW50ZWdlckNvbnZlcnNpb24gfCBGaXhl
ZEZsb2F0Q29udmVyc2lvbikpICYmIGlzRm9udFJlbGF0aXZlTGVuZ3RoKCkgJiYgKCFzdHlsZSB8
fCAhcm9vdFN0eWxlKSkKICAgICAgICAgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOwogICAgIGlm
ICgoc3VwcG9ydGVkICYgRml4ZWRJbnRlZ2VyQ29udmVyc2lvbikgJiYgaXNMZW5ndGgoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDc3NzM1YzQuLjI1MmZkNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtMjYsMTAgKzI2LDYgQEAKICNpbmNsdWRlICJTdHls
ZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRh
dGlvbi5oIgogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NTVmFyaWFi
bGVWYWx1ZS5oIgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI5Myw5ICsyODksNiBAQCBib29sIENTU1Byb3Bl
cnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKICAgICBj
YXNlIENTU1Byb3BlcnR5VGV4dFJlbmRlcmluZzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNo
YWRvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToKLSNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKLSAgICBjYXNlIENTU1Byb3BlcnR5VmFyaWFibGU6Ci0jZW5kaWYKICAgICBj
YXNlIENTU1Byb3BlcnR5VmlzaWJpbGl0eToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNw
ZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFj
aW5nOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCBmYTNiMmJmLi5jYzIyOTQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuaApAQCAtNTcsOSArNTcsNiBAQCBwdWJsaWM6CiAgICAgICAg
IDogbV9tZXRhZGF0YShwcm9wZXJ0eUlELCBzaG9ydGhhbmRJRCwgaW1wb3J0YW50LCBpbXBsaWNp
dCwgaXNJbmhlcml0ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSkKICAgICAgICAgLCBtX3ZhbHVlKHZh
bHVlKQogICAgIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBBU1NFUlQoKHByb3Bl
cnR5SUQgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkgPT0gKG1fdmFsdWUgJiYgbV92YWx1ZS0+aXNW
YXJpYWJsZVZhbHVlKCkpKTsKLSNlbmRpZgogICAgIH0KIAogICAgIC8vIEZJWE1FOiBSZW1vdmUg
dGhpcy4KQEAgLTY3LDkgKzY0LDYgQEAgcHVibGljOgogICAgICAgICA6IG1fbWV0YWRhdGEobWV0
YWRhdGEpCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAgICB7Ci0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgQVNTRVJUKChtZXRhZGF0YS5tX3Byb3BlcnR5SUQgPT0gQ1NTUHJvcGVy
dHlWYXJpYWJsZSkgPT0gKG1fdmFsdWUgJiYgbV92YWx1ZS0+aXNWYXJpYWJsZVZhbHVlKCkpKTsK
LSNlbmRpZgogICAgIH0KIAogICAgIENTU1Byb3BlcnR5SUQgaWQoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihtX21ldGFkYXRhLm1fcHJvcGVydHlJRCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKaW5kZXggNWY4MTE3Zi4uODlmZjQ3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKQEAgLTQxLDE1ICs0MSw2IEBA
IFN0cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogICAgIHJldHVy
biBtX2RpcmVjdGlvbi0+Y3NzVGV4dCgpICsgJyAnICsgbV9vZmZzZXQtPmNzc1RleHQoKTsKIH0K
IAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENTU1JlZmxlY3RWYWx1ZTo6Y3Vz
dG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgaWYgKG1fbWFzaykKLSAgICAgICAg
cmV0dXJuIG1fZGlyZWN0aW9uLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKSArICcgJyArIG1fb2Zmc2V0LT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXModmFyaWFibGVzKSArICcgJyArIG1fbWFzay0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVz
KHZhcmlhYmxlcyk7Ci0gICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5jdXN0b21TZXJpYWxpemVSZXNv
bHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSArICcgJyArIG1fb2Zmc2V0LT5jdXN0b21TZXJpYWxp
emVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLX0KLSNlbmRpZgotCiB2b2lkIENTU1Jl
ZmxlY3RWYWx1ZTo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVy
bHMsIGNvbnN0IFN0eWxlU2hlZXRDb250ZW50cyogc3R5bGVTaGVldCkgY29uc3QKIHsKICAgICBp
ZiAobV9tYXNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5oCmluZGV4IDAwMmMzNzgu
LjMxZDliOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmgKQEAgLTQ4LDkgKzQ4
LDYgQEAgcHVibGljOgogICAgIENTU1ZhbHVlKiBtYXNrKCkgY29uc3QgeyByZXR1cm4gbV9tYXNr
LmdldCgpOyB9CiAKICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdDsKLSNlbmRp
ZgogCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYs
IGNvbnN0IFN0eWxlU2hlZXRDb250ZW50cyopIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNw
cAppbmRleCBjOGY5Nzk4Li5iNjg1NTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTQ3
LDkgKzQ3LDYgQEAKICNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTVW5pY29kZVJhbmdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NWYXJpYWJsZVZhbHVlLmgiCi0j
ZW5kaWYKICNpbmNsdWRlICJGb250VmFsdWUuaCIKICNpbmNsdWRlICJGb250RmVhdHVyZVZhbHVl
LmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKQEAgLTI0MCwxMSArMjM3LDYgQEAgdm9pZCBD
U1NWYWx1ZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTU2hhZGVyVmFs
dWUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgICAgICByZXR1cm47CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IENTU1Zhcmlh
YmxlVmFsdWUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVj
dEluZm8pOwotICAgICAgICByZXR1cm47Ci0jZW5kaWYKICNpZiBFTkFCTEUoU1ZHKQogICAgIGNh
c2UgU1ZHQ29sb3JDbGFzczoKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHQ29sb3IqPih0
aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwpAQCAt
MzU3LDEwICszNDksNiBAQCBib29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90
aGVyKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8V2ViS2l0Q1NT
U2hhZGVyVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAjZW5kaWYKICNlbmRpZgotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAgICAgICBy
ZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NWYXJpYWJsZVZhbHVlPigqdGhpcywgb3RoZXIpOwot
I2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgogICAg
ICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8U1ZHQ29sb3I+KCp0aGlzLCBvdGhlcik7
CkBAIC00NTUsMTAgKzQ0Myw2IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NTaGFkZXJWYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAjZW5kaWYKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIGNhc2UgVmFyaWFibGVDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IENTU1ZhcmlhYmxlVmFsdWUqPih0aGlzKS0+dmFsdWUoKTsKLSNlbmRpZgogI2lm
IEVOQUJMRShTVkcpCiAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y29uc3QgU1ZHQ29sb3IqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwpAQCAtNDcy
LDI0ICs0NTYsNiBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgIHJldHVy
biBTdHJpbmcoKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENTU1Zh
bHVlOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBzd2l0Y2ggKGNsYXNzVHlwZSgp
KSB7Ci0gICAgY2FzZSBQcmltaXRpdmVDbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlKj4odGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIGNhc2UgUmVmbGVjdENsYXNzOgotICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTUmVmbGVjdFZhbHVlKj4odGhpcyktPmN1c3RvbVNl
cmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIGNhc2UgVmFsdWVMaXN0
Q2xhc3M6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NWYWx1ZUxpc3QqPih0
aGlzKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAg
Y2FzZSBXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzczoKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlKj4odGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVy
biBjc3NUZXh0KCk7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3ko
KQogewogICAgIGlmIChtX2lzVGV4dENsb25lKSB7CkBAIC01OTYsMTEgKzU2Miw2IEBAIHZvaWQg
Q1NTVmFsdWU6OmRlc3Ryb3koKQogICAgICAgICByZXR1cm47CiAjZW5kaWYKICNlbmRpZgotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgVmFyaWFibGVDbGFzczoKLSAgICAgICAg
ZGVsZXRlIHN0YXRpY19jYXN0PENTU1ZhcmlhYmxlVmFsdWUqPih0aGlzKTsKLSAgICAgICAgcmV0
dXJuOwotI2VuZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICBjYXNlIFNWR0NvbG9yQ2xhc3M6CiAg
ICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTVkdDb2xvcio+KHRoaXMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAppbmRleCA4ZDU0MjVkLi5kZTNjNjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNTks
OSArNTksNiBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAgIHZv
aWQgc2V0Q3NzVGV4dChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJikgeyB9IC8vIEZJWE1F
OiBOb3QgaW1wbGVtZW50ZWQuCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgU3RyaW5n
IHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywg
U3RyaW5nPiYpIGNvbnN0OwotI2VuZGlmCiAKICAgICBib29sIGlzUHJpbWl0aXZlVmFsdWUoKSBj
b25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBQcmltaXRpdmVDbGFzczsgfQogICAgIGJvb2wg
aXNWYWx1ZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBWYWx1ZUxpc3RDbGFz
czsgfQpAQCAtOTksOSArOTYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1dlYktpdENTU1NoYWRl
clZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTU2hhZGVyQ2xh
c3M7IH0KICNlbmRpZgogI2VuZGlmIC8vIEVOQUJMRShDU1NfRklMVEVSUykKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICBib29sIGlzVmFyaWFibGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IFZhcmlhYmxlQ2xhc3M7IH0KLSNlbmRpZgogI2lmIEVOQUJMRShTVkcp
CiAgICAgYm9vbCBpc1NWR0NvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZH
Q29sb3JDbGFzcyB8fCBtX2NsYXNzVHlwZSA9PSBTVkdQYWludENsYXNzOyB9CiAgICAgYm9vbCBp
c1NWR1BhaW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gU1ZHUGFpbnRDbGFzczsg
fQpAQCAtMTY4LDkgKzE2Miw2IEBAIHByb3RlY3RlZDoKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMp
ICYmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICAgICAgV2ViS2l0Q1NTU2hhZGVyQ2xhc3MsCiAj
ZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgVmFyaWFibGVDbGFzcywK
LSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIFNWR0NvbG9yQ2xhc3MsCiAgICAgICAg
IFNWR1BhaW50Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCmluZGV4IGY1YjE3
OTIuLjNlMzVlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwCkBAIC0xMzksMzYg
KzEzOSw2IEBAIGJvb2wgQ1NTVmFsdWVMaXN0OjplcXVhbHMoY29uc3QgQ1NTVmFsdWUmIG90aGVy
KSBjb25zdAogICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS0+ZXF1YWxzKG90aGVyKTsKIH0KIAot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJp
bmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAg
U3RyaW5nIHNlcGFyYXRvcjsKLSAgICBzd2l0Y2ggKG1fdmFsdWVMaXN0U2VwYXJhdG9yKSB7Ci0g
ICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0gIiAiOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIENvbW1hU2VwYXJhdG9yOgotICAgICAgICBzZXBhcmF0b3IgPSAi
LCAiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNsYXNoU2VwYXJhdG9yOgotICAgICAgICBz
ZXBhcmF0b3IgPSAiIC8gIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdW5zaWduZWQgc2l6ZSA9IG1fdmFs
dWVzLnNpemUoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0g
ICAgICAgIGlmICghcmVzdWx0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQo
c2VwYXJhdG9yKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChtX3ZhbHVlc1tpXS0+c2VyaWFsaXpl
UmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotICAgIH0KLQotICAgIHJldHVybiByZXN1
bHQudG9TdHJpbmcoKTsKLX0KLSNlbmRpZgotCiB2b2lkIENTU1ZhbHVlTGlzdDo6YWRkU3VicmVz
b3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMsIGNvbnN0IFN0eWxlU2hlZXRD
b250ZW50cyogc3R5bGVTaGVldCkgY29uc3QKIHsKICAgICBzaXplX3Qgc2l6ZSA9IG1fdmFsdWVz
LnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaAppbmRleCAxMzY5ZmUxLi5lNDkyY2Qz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCkBAIC02Miw5ICs2Miw2IEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0
IENTU1ZhbHVlTGlzdCYpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU1ZhbHVlJikg
Y29uc3Q7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgU3RyaW5nIGN1c3RvbVNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5n
PiYpIGNvbnN0OwotI2VuZGlmCiAKICAgICB2b2lkIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExp
c3RIYXNoU2V0PEtVUkw+JiwgY29uc3QgU3R5bGVTaGVldENvbnRlbnRzKikgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0OGM1NmFkLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJs
ZVZhbHVlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDU1NWYXJp
YWJsZVZhbHVlX2gKLSNkZWZpbmUgQ1NTVmFyaWFibGVWYWx1ZV9oCi0KLSNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKLQotI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgotI2luY2x1ZGUgIkNT
U1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NWYWx1ZS5oIgotI2luY2x1ZGUgIldlYkNv
cmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBDU1NWYXJpYWJsZVZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDU1NWYXJpYWJsZVZhbHVlPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NWYXJpYWJsZVZhbHVlKG5hbWUsIHZhbHVlKSk7Ci0gICAgfQotCi0gICAgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9Ci0gICAgY29u
c3QgU3RyaW5nJiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KLQotICAgIGJvb2wg
ZXF1YWxzKGNvbnN0IENTU1ZhcmlhYmxlVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX25h
bWUgPT0gb3RoZXIubV9uYW1lICYmIG1fdmFsdWUgPT0gb3RoZXIubV92YWx1ZTsgfQotCi0gICAg
dm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKLSAgICB7Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICAgICAg
aW5mby5hZGRNZW1iZXIobV9uYW1lLCAibmFtZSIpOwotICAgICAgICBpbmZvLmFkZE1lbWJlciht
X3ZhbHVlLCAidmFsdWUiKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgQ1NTVmFyaWFibGVWYWx1
ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgICAg
IDogQ1NTVmFsdWUoVmFyaWFibGVDbGFzcykKLSAgICAgICAgLCBtX25hbWUobmFtZSkKLSAgICAg
ICAgLCBtX3ZhbHVlKHZhbHVlKQotICAgIHsKLSAgICB9Ci0KLSAgICBjb25zdCBBdG9taWNTdHJp
bmcgbV9uYW1lOwotICAgIGNvbnN0IFN0cmluZyBtX3ZhbHVlOwotfTsKLQotfQotCi0jZW5kaWYg
LyogRU5BQkxFKENTU19WQVJJQUJMRVMpICovCi0jZW5kaWYgLyogQ1NTVmFyaWFibGVWYWx1ZV9o
ICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUGFpci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL1BhaXIuaAppbmRleCBmYWFkYjIwLi42MjExODczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvUGFpci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9QYWlyLmgKQEAgLTU4
LDE2ICs1OCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgZXF1YWxzKGNvbnN0IFBhaXImIG90aGVy
KSBjb25zdCB7IHJldHVybiBjb21wYXJlQ1NTVmFsdWVQdHIobV9maXJzdCwgb3RoZXIubV9maXJz
dCkgJiYgY29tcGFyZUNTU1ZhbHVlUHRyKG1fc2Vjb25kLCBvdGhlci5tX3NlY29uZCk7IH0KIAot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykg
Y29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZUNTU1N0cmluZyhmaXJzdCgpLT5j
dXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlY29uZCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXModmFyaWFibGVzKSk7Ci0gICAgfQotICAgIAotICAgIGJvb2wgaGFzVmFyaWFibGVS
ZWZlcmVuY2UoKSBjb25zdCB7IHJldHVybiBmaXJzdCgpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
IHx8IHNlY29uZCgpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOyB9Ci0jZW5kaWYKLQogcHJpdmF0
ZToKICAgICBQYWlyKCkgOiBtX2ZpcnN0KDApLCBtX3NlY29uZCgwKSB7IH0KICAgICBQYWlyKFBh
c3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGZpcnN0LCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiBzZWNvbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUmVjdC5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1JlY3QuaAppbmRleCA0MGEyY2ZlLi5mZmIyMGEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9S
ZWN0LmgKQEAgLTQ3LDE2ICs0Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICYmIGNvbXBhcmVD
U1NWYWx1ZVB0cihtX2JvdHRvbSwgb3RoZXIubV9ib3R0b20pOwogICAgIH0KIAotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdG9wLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAg
ICAgICAgICB8fCBtX3JpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgICAgICB8
fCBtX2JvdHRvbS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICAgICAgfHwgbV9sZWZ0
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIH0KLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAg
ICAgUmVjdEJhc2UoKSB7IH0KICAgICBSZWN0QmFzZShjb25zdCBSZWN0QmFzZSYgY2xvbmVGcm9t
KQpAQCAtODcsMTYgKzc3LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NT
dHJpbmcodG9wKCktPmNzc1RleHQoKSwgcmlnaHQoKS0+Y3NzVGV4dCgpLCBib3R0b20oKS0+Y3Nz
VGV4dCgpLCBsZWZ0KCktPmNzc1RleHQoKSk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJ
QUJMRVMpCi0gICAgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNo
TWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGdlbmVyYXRlQ1NTU3RyaW5nKHRvcCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZp
bmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgIHJpZ2h0KCktPmN1c3RvbVNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgYm90dG9tKCkt
PmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAg
ICAgbGVmdCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7
Ci0gICAgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgUmVjdCgpIHsgfQogICAgIFJlY3QoY29u
c3QgUmVjdCYgY2xvbmVGcm9tKSA6IFJlY3RCYXNlKGNsb25lRnJvbSksIFJlZkNvdW50ZWQ8UmVj
dD4oKSB7IH0KQEAgLTExNywxNiArOTcsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBnZW5l
cmF0ZUNTU1N0cmluZyh0b3AoKS0+Y3NzVGV4dCgpLCByaWdodCgpLT5jc3NUZXh0KCksIGJvdHRv
bSgpLT5jc3NUZXh0KCksIGxlZnQoKS0+Y3NzVGV4dCgpKTsKICAgICB9CiAKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNv
bnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0gICAg
ewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJpbmcodG9wKCktPmN1c3RvbVNlcmlhbGl6
ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgcmlnaHQoKS0+Y3Vz
dG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgICAgICBi
b3R0b20oKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0g
ICAgICAgICAgICBsZWZ0KCktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJp
YWJsZXMpKTsKLSAgICB9Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBRdWFkKCkgeyB9CiAgICAg
UXVhZChjb25zdCBRdWFkJiBjbG9uZUZyb20pIDogUmVjdEJhc2UoY2xvbmVGcm9tKSwgUmVmQ291
bnRlZDxRdWFkPigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJv
cGVydHlTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCmlu
ZGV4IGIzZGJjMjcuLjkxMDkyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnR5U2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNl
dC5jcHAKQEAgLTM0LDEwICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRh
dGlvblZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNl
bmRpZgotCiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3Rm
L0FTQ0lJQ1R5cGUuaD4KQEAgLTc5NywxMyArNzkzLDYgQEAgU3RyaW5nIFN0eWxlUHJvcGVydHlT
ZXQ6OmFzVGV4dCgpIGNvbnN0CiAgICAgICAgIFN0cmluZyB2YWx1ZTsKIAogICAgICAgICBzd2l0
Y2ggKHByb3BlcnR5SUQpIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotICAgICAgICAgICAgaWYgKG51bURlY2xzKyspCi0gICAg
ICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcpOwotICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZChwcm9wZXJ0eS5jc3NUZXh0KCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0jZW5kaWYKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblg6CiAgICAgICAgICAgICBw
b3NpdGlvblhQcm9wZXJ0eUluZGV4ID0gbjsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTMw
MiwxNCArMTI5MSw2IEBAIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gU3R5bGVQcm9wZXJ0
eVNldDo6Y3JlYXRlKGNvbnN0IENTU1Byb3BlcnR5KiBwcm9wZXJ0CiAKIFN0cmluZyBTdHlsZVBy
b3BlcnR5U2V0OjpQcm9wZXJ0eVJlZmVyZW5jZTo6Y3NzTmFtZSgpIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGlkKCkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkg
ewotICAgICAgICBBU1NFUlQocHJvcGVydHlWYWx1ZSgpLT5pc1ZhcmlhYmxlVmFsdWUoKSk7Ci0g
ICAgICAgIGlmICghcHJvcGVydHlWYWx1ZSgpLT5pc1ZhcmlhYmxlVmFsdWUoKSkKLSAgICAgICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOyAvLyBTaG91bGQgbm90IGhhcHBlbiwgYnV0IGlmIGl0
IGRvZXMsIGF2b2lkIGEgYmFkIGNhc3QuCi0gICAgICAgIHJldHVybiAiLXdlYmtpdC12YXItIiAr
IHN0YXRpY19jYXN0PGNvbnN0IENTU1ZhcmlhYmxlVmFsdWUqPihwcm9wZXJ0eVZhbHVlKCkpLT5u
YW1lKCk7Ci0gICAgfQotI2VuZGlmCiAgICAgcmV0dXJuIGdldFByb3BlcnR5TmFtZVN0cmluZyhp
ZCgpKTsKIH0KIApAQCAtMTMyNSw1ICsxMzA2LDQgQEAgU3RyaW5nIFN0eWxlUHJvcGVydHlTZXQ6
OlByb3BlcnR5UmVmZXJlbmNlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0LnRv
U3RyaW5nKCk7CiB9CiAKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDIwMjMxY2QuLmI3NGQ1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTQ4LDkgKzQ4LDYgQEAKICNpbmNsdWRlICJDU1NTdXBwb3J0
c1J1bGUuaCIKICNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTVmFsdWVMaXN0LmgiCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NT
VmFyaWFibGVWYWx1ZS5oIgotI2VuZGlmCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNs
dWRlICJDYWxjdWxhdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKQEAgLTEy
MzAsOSArMTIyNyw2IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFN0eWxlUmVzb2x2ZXI6OnN0
eWxlRm9yUGFnZShpbnQgcGFnZUluZGV4KQogICAgIGJvb2wgaW5oZXJpdGVkT25seSA9IGZhbHNl
OwogCiAgICAgTWF0Y2hSZXN1bHQmIHJlc3VsdCA9IGNvbGxlY3Rvci5tYXRjaGVkUmVzdWx0KCk7
Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgYXBwbHlNYXRjaGVkUHJvcGVydGllczxW
YXJpYWJsZURlZmluaXRpb25zPihyZXN1bHQsIGZhbHNlLCAwLCByZXN1bHQubWF0Y2hlZFByb3Bl
cnRpZXMuc2l6ZSgpIC0gMSwgaW5oZXJpdGVkT25seSk7Ci0jZW5kaWYKICAgICBhcHBseU1hdGNo
ZWRQcm9wZXJ0aWVzPEhpZ2hQcmlvcml0eVByb3BlcnRpZXM+KHJlc3VsdCwgZmFsc2UsIDAsIHJl
c3VsdC5tYXRjaGVkUHJvcGVydGllcy5zaXplKCkgLSAxLCBpbmhlcml0ZWRPbmx5KTsKIAogICAg
IC8vIElmIG91ciBmb250IGdvdCBkaXJ0aWVkLCBnbyBhaGVhZCBhbmQgdXBkYXRlIGl0IG5vdy4K
QEAgLTE3MjIsMjEgKzE3MTYsMTAgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnRp
ZXMoY29uc3QgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcywgU3R5bGVSdWwKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogI2VuZGlmCiAgICAgICAgIHN3aXRjaCAocGFzcykgewotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIFZhcmlhYmxlRGVmaW5pdGlvbnM6Ci0gICAg
ICAgICAgICBDT01QSUxFX0FTU0VSVChDU1NQcm9wZXJ0eVZhcmlhYmxlIDwgZmlyc3RDU1NQcm9w
ZXJ0eSwgQ1NTX3ZhcmlhYmxlX2lzX2JlZm9yZV9maXJzdF9wcm9wZXJ0eSk7Ci0gICAgICAgICAg
ICBpZiAocHJvcGVydHkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkKLSAgICAgICAgICAgICAgICBh
cHBseVByb3BlcnR5KGN1cnJlbnQuaWQoKSwgY3VycmVudC52YWx1ZSgpKTsKLSAgICAgICAgICAg
IGJyZWFrOwotI2VuZGlmCiAgICAgICAgIGNhc2UgSGlnaFByaW9yaXR5UHJvcGVydGllczoKICAg
ICAgICAgICAgIENPTVBJTEVfQVNTRVJUKGZpcnN0Q1NTUHJvcGVydHkgPT0gQ1NTUHJvcGVydHlD
b2xvciwgQ1NTX2NvbG9yX2lzX2ZpcnN0X3Byb3BlcnR5KTsKICAgICAgICAgICAgIENPTVBJTEVf
QVNTRVJUKENTU1Byb3BlcnR5Wm9vbSA9PSBDU1NQcm9wZXJ0eUNvbG9yICsgMTcsIENTU196b29t
X2lzX2VuZF9vZl9maXJzdF9wcm9wX3JhbmdlKTsKICAgICAgICAgICAgIENPTVBJTEVfQVNTRVJU
KENTU1Byb3BlcnR5TGluZUhlaWdodCA9PSBDU1NQcm9wZXJ0eVpvb20gKyAxLCBDU1NfbGluZV9o
ZWlnaHRfaXNfYWZ0ZXJfem9vbSk7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAg
ICAgICBpZiAocHJvcGVydHkgPT0gQ1NTUHJvcGVydHlWYXJpYWJsZSkKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSNlbmRpZgogICAgICAgICAgICAgLy8gZ2l2ZSBzcGVjaWFsIHByaW9yaXR5
IHRvIGZvbnQteHh4LCBjb2xvciBwcm9wZXJ0aWVzLCBldGMKICAgICAgICAgICAgIGlmIChwcm9w
ZXJ0eSA8IENTU1Byb3BlcnR5TGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBhcHBseVByb3Bl
cnR5KGN1cnJlbnQuaWQoKSwgY3VycmVudC52YWx1ZSgpKTsKQEAgLTE5MDAsMTQgKzE4ODMsNiBA
QCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5TWF0Y2hlZFByb3BlcnRpZXMoY29uc3QgTWF0Y2hS
ZXN1bHQmIG1hdGNoUmVzdWx0LCBjb25zdAogICAgICAgICBhcHBseUluaGVyaXRlZE9ubHkgPSB0
cnVlOyAKICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAvLyBGaXJzdCBh
cHBseSBhbGwgdmFyaWFibGUgZGVmaW5pdGlvbnMsIGFzIHRoZXkgbWF5IGJlIHVzZWQgZHVyaW5n
IGFwcGxpY2F0aW9uIG9mIGxhdGVyIHByb3BlcnRpZXMuCi0gICAgYXBwbHlNYXRjaGVkUHJvcGVy
dGllczxWYXJpYWJsZURlZmluaXRpb25zPihtYXRjaFJlc3VsdCwgZmFsc2UsIDAsIG1hdGNoUmVz
dWx0Lm1hdGNoZWRQcm9wZXJ0aWVzLnNpemUoKSAtIDEsIGFwcGx5SW5oZXJpdGVkT25seSk7Ci0g
ICAgYXBwbHlNYXRjaGVkUHJvcGVydGllczxWYXJpYWJsZURlZmluaXRpb25zPihtYXRjaFJlc3Vs
dCwgdHJ1ZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmZpcnN0QXV0aG9yUnVsZSwgbWF0Y2hSZXN1bHQu
cmFuZ2VzLmxhc3RBdXRob3JSdWxlLCBhcHBseUluaGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0
Y2hlZFByb3BlcnRpZXM8VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1h
dGNoUmVzdWx0LnJhbmdlcy5maXJzdFVzZXJSdWxlLCBtYXRjaFJlc3VsdC5yYW5nZXMubGFzdFVz
ZXJSdWxlLCBhcHBseUluaGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8
VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1hdGNoUmVzdWx0LnJhbmdl
cy5maXJzdFVBUnVsZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmxhc3RVQVJ1bGUsIGFwcGx5SW5oZXJp
dGVkT25seSk7Ci0jZW5kaWYKLQogICAgIC8vIE5vdyB3ZSBoYXZlIGFsbCBvZiB0aGUgbWF0Y2hl
ZCBydWxlcyBpbiB0aGUgYXBwcm9wcmlhdGUgb3JkZXIuIFdhbGsgdGhlIHJ1bGVzIGFuZCBhcHBs
eQogICAgIC8vIGhpZ2gtcHJpb3JpdHkgcHJvcGVydGllcyBmaXJzdCwgaS5lLiwgdGhvc2UgcHJv
cGVydGllcyB0aGF0IG90aGVyIHByb3BlcnRpZXMgZGVwZW5kIG9uLgogICAgIC8vIFRoZSBvcmRl
ciBpcyAoMSkgaGlnaC1wcmlvcml0eSBub3QgaW1wb3J0YW50LCAoMikgaGlnaC1wcmlvcml0eSBp
bXBvcnRhbnQsICgzKSBub3JtYWwgbm90IGltcG9ydGFudApAQCAtMjE1Nyw2OCArMjEzMiw4IEBA
IHN0YXRpYyBib29sIGNyZWF0ZUdyaWRQb3NpdGlvbihDU1NWYWx1ZSogdmFsdWUsIEdyaWRQb3Np
dGlvbiYgcG9zaXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLXN0YXRpYyBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKENTU1ZhbHVlKiB2YWx1
ZSkKLXsKLSAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkgewotICAgICAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZSo+KHZhbHVlKTsKLSAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLT5oYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpOwotICAgIH0KLQotICAgIGlmICh2YWx1ZS0+aXNDYWxjdWxhdGlvblZhbHVl
KCkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NDYWxjVmFsdWUqPih2YWx1ZSktPmhh
c1ZhcmlhYmxlUmVmZXJlbmNlKCk7Ci0KLSAgICBpZiAodmFsdWUtPmlzUmVmbGVjdFZhbHVlKCkp
IHsKLSAgICAgICAgQ1NTUmVmbGVjdFZhbHVlKiByZWZsZWN0VmFsdWUgPSBzdGF0aWNfY2FzdDxD
U1NSZWZsZWN0VmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBkaXJl
Y3Rpb24gPSByZWZsZWN0VmFsdWUtPmRpcmVjdGlvbigpOwotICAgICAgICBDU1NQcmltaXRpdmVW
YWx1ZSogb2Zmc2V0ID0gcmVmbGVjdFZhbHVlLT5vZmZzZXQoKTsKLSAgICAgICAgQ1NTVmFsdWUq
IG1hc2sgPSByZWZsZWN0VmFsdWUtPm1hc2soKTsKLSAgICAgICAgcmV0dXJuIChkaXJlY3Rpb24g
JiYgaGFzVmFyaWFibGVSZWZlcmVuY2UoZGlyZWN0aW9uKSkgfHwgKG9mZnNldCAmJiBoYXNWYXJp
YWJsZVJlZmVyZW5jZShvZmZzZXQpKSB8fCAobWFzayAmJiBoYXNWYXJpYWJsZVJlZmVyZW5jZSht
YXNrKSk7Ci0gICAgfQotCi0gICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBpID0gdmFsdWU7
IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkgewotICAgICAgICBpZiAoaGFzVmFyaWFibGVSZWZl
cmVuY2UoaS52YWx1ZSgpKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBTdHlsZVJlc29sdmVyOjpyZXNvbHZlVmFyaWFibGVz
KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSwgVmVjdG9yPHN0ZDo6cGFpcjxDU1NQ
cm9wZXJ0eUlELCBTdHJpbmc+ID4mIGtub3duRXhwcmVzc2lvbnMpCi17Ci0gICAgc3RkOjpwYWly
PENTU1Byb3BlcnR5SUQsIFN0cmluZz4gZXhwcmVzc2lvbihpZCwgdmFsdWUtPnNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcygqbV9zdGF0ZS5zdHlsZSgpLT52YXJpYWJsZXMoKSkpOwotCi0gICAg
aWYgKGtub3duRXhwcmVzc2lvbnMuY29udGFpbnMoZXhwcmVzc2lvbikpCi0gICAgICAgIHJldHVy
bjsgLy8gY3ljbGUgZGV0ZWN0ZWQuCi0KLSAgICBrbm93bkV4cHJlc3Npb25zLmFwcGVuZChleHBy
ZXNzaW9uKTsKLQotICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBmYXN0ZXIgbm90IHRvIHJlLXBh
cnNlIGZyb20gc3RyaW5ncywgYnV0IGZvciBub3cgQ1NTIHByb3BlcnR5IHZhbGlkYXRpb24gbGl2
ZXMgaW5zaWRlIHRoZSBwYXJzZXIgc28gd2UgZG8gaXQgdGhlcmUuCi0gICAgUmVmUHRyPFN0eWxl
UHJvcGVydHlTZXQ+IHJlc3VsdFNldCA9IFN0eWxlUHJvcGVydHlTZXQ6OmNyZWF0ZSgpOwotICAg
IGlmICghQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKHJlc3VsdFNldC5nZXQoKSwgaWQsIGV4cHJlc3Np
b24uc2Vjb25kLCBmYWxzZSwgZG9jdW1lbnQoKSkpCi0gICAgICAgIHJldHVybjsgLy8gZXhwcmVz
c2lvbiBmYWlsZWQgdG8gcGFyc2UuCi0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVz
dWx0U2V0LT5wcm9wZXJ0eUNvdW50KCk7IGkrKykgewotICAgICAgICBTdHlsZVByb3BlcnR5U2V0
OjpQcm9wZXJ0eVJlZmVyZW5jZSBwcm9wZXJ0eSA9IHJlc3VsdFNldC0+cHJvcGVydHlBdChpKTsK
LSAgICAgICAgaWYgKHByb3BlcnR5LmlkKCkgIT0gQ1NTUHJvcGVydHlWYXJpYWJsZSAmJiBoYXNW
YXJpYWJsZVJlZmVyZW5jZShwcm9wZXJ0eS52YWx1ZSgpKSkKLSAgICAgICAgICAgIHJlc29sdmVW
YXJpYWJsZXMocHJvcGVydHkuaWQoKSwgcHJvcGVydHkudmFsdWUoKSwga25vd25FeHByZXNzaW9u
cyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFwcGx5UHJvcGVydHkocHJvcGVydHkuaWQo
KSwgcHJvcGVydHkudmFsdWUoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgU3R5bGVSZXNv
bHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiB7
Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGlkICE9IENTU1Byb3BlcnR5VmFy
aWFibGUgJiYgaGFzVmFyaWFibGVSZWZlcmVuY2UodmFsdWUpKSB7Ci0gICAgICAgIFZlY3Rvcjxz
dGQ6OnBhaXI8Q1NTUHJvcGVydHlJRCwgU3RyaW5nPiA+IGtub3duRXhwcmVzc2lvbnM7Ci0gICAg
ICAgIHJlc29sdmVWYXJpYWJsZXMoaWQsIHZhbHVlLCBrbm93bkV4cHJlc3Npb25zKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCi0gICAgLy8gQ1NTIHZhcmlhYmxlcyBkb24ndCBy
ZXNvbHZlIHNob3J0aGFuZHMgYXQgcGFyc2luZyB0aW1lLCBzbyB0aGlzIHNob3VsZCBiZSAqYWZ0
ZXIqIGhhbmRsaW5nIHZhcmlhYmxlcy4KICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFpc0V4cGFu
ZGVkU2hvcnRoYW5kKGlkKSwgIlNob3J0aGFuZCBwcm9wZXJ0eSBpZCA9ICVkIHdhc24ndCBleHBh
bmRlZCBhdCBwYXJzaW5nIHRpbWUiLCBpZCk7CiAKICAgICBTdGF0ZSYgc3RhdGUgPSBtX3N0YXRl
OwpAQCAtMjIzNiwxNyArMjE1MSw2IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgaWYgKGlzSW5oZXJpdCAm
JiAhc3RhdGUucGFyZW50U3R5bGUoKS0+aGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMo
KSAmJiAhQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoaWQpKQogICAgICAgICBzdGF0
ZS5wYXJlbnRTdHlsZSgpLT5zZXRIYXNFeHBsaWNpdGx5SW5oZXJpdGVkUHJvcGVydGllcygpOwog
Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKGlkID09IENTU1Byb3BlcnR5VmFy
aWFibGUpIHsKLSAgICAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04odmFsdWUt
PmlzVmFyaWFibGVWYWx1ZSgpKTsKLSAgICAgICAgQ1NTVmFyaWFibGVWYWx1ZSogdmFyaWFibGUg
PSBzdGF0aWNfY2FzdDxDU1NWYXJpYWJsZVZhbHVlKj4odmFsdWUpOwotICAgICAgICBBU1NFUlQo
IXZhcmlhYmxlLT5uYW1lKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgQVNTRVJUKCF2YXJpYWJsZS0+
dmFsdWUoKS5pc0VtcHR5KCkpOwotICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRWYXJpYWJsZSh2
YXJpYWJsZS0+bmFtZSgpLCB2YXJpYWJsZS0+dmFsdWUoKSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0jZW5kaWYKLQogICAgIC8vIENoZWNrIGxvb2t1cCB0YWJsZSBmb3IgaW1wbGVtZW50YXRp
b25zIGFuZCB1c2Ugd2hlbiBhdmFpbGFibGUuCiAgICAgY29uc3QgUHJvcGVydHlIYW5kbGVyJiBo
YW5kbGVyID0gbV9zdHlsZUJ1aWxkZXIucHJvcGVydHlIYW5kbGVyKGlkKTsKICAgICBpZiAoaGFu
ZGxlci5pc1ZhbGlkKCkpIHsKQEAgLTMwMDAsOSArMjkwNCw2IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRvcDoK
ICAgICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZUJpZGk6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVZhcmlhYmxlOgotI2VuZGlmCiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVZlcnRpY2FsQWxpZ246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpc2liaWxpdHk6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkRlbGF5OgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmgKaW5kZXggMTBhNDIxOC4uZjBiM2FjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5oCkBAIC0zOTAsOSArMzkwLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFwcGx5TWF0
Y2hlZFByb3BlcnRpZXMoY29uc3QgTWF0Y2hSZXN1bHQmLCBjb25zdCBFbGVtZW50Kik7CiAKICAg
ICBlbnVtIFN0eWxlQXBwbGljYXRpb25QYXNzIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykK
LSAgICAgICAgVmFyaWFibGVEZWZpbml0aW9ucywKLSNlbmRpZgogICAgICAgICBIaWdoUHJpb3Jp
dHlQcm9wZXJ0aWVzLAogICAgICAgICBMb3dQcmlvcml0eVByb3BlcnRpZXMKICAgICB9OwpAQCAt
NDAwLDkgKzM5Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBseU1hdGNoZWRQcm9wZXJ0aWVz
KGNvbnN0IE1hdGNoUmVzdWx0JiwgYm9vbCBpbXBvcnRhbnQsIGludCBzdGFydEluZGV4LCBpbnQg
ZW5kSW5kZXgsIGJvb2wgaW5oZXJpdGVkT25seSk7CiAgICAgdGVtcGxhdGUgPFN0eWxlQXBwbGlj
YXRpb25QYXNzIHBhc3M+CiAgICAgdm9pZCBhcHBseVByb3BlcnRpZXMoY29uc3QgU3R5bGVQcm9w
ZXJ0eVNldCogcHJvcGVydGllcywgU3R5bGVSdWxlKiwgYm9vbCBpc0ltcG9ydGFudCwgYm9vbCBp
bmhlcml0ZWRPbmx5LCBQcm9wZXJ0eVdoaXRlbGlzdFR5cGUgPSBQcm9wZXJ0eVdoaXRlbGlzdE5v
bmUpOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZvaWQgcmVzb2x2ZVZhcmlhYmxl
cyhDU1NQcm9wZXJ0eUlELCBDU1NWYWx1ZSosIFZlY3RvcjxzdGQ6OnBhaXI8Q1NTUHJvcGVydHlJ
RCwgU3RyaW5nPiA+JiBrbm93bkV4cHJlc3Npb25zKTsKLSNlbmRpZgogICAgIHN0YXRpYyBib29s
IGlzVmFsaWRSZWdpb25TdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQpOwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkQ3VlU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFs
dWUuY3BwCmluZGV4IGM1MWU5NTguLjA4MTRhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcApAQCAtNzksMTMgKzc5LDYgQEAgU3RyaW5nIFdl
YktpdENTU1RyYW5zZm9ybVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4g
dHJhbnNmb3JtVmFsdWVUb0Nzc1N0cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ3Nz
VGV4dCgpKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIFdlYktpdENT
U1RyYW5zZm9ybVZhbHVlOjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3Qg
SGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBy
ZXR1cm4gdHJhbnNmb3JtVmFsdWVUb0Nzc1N0cmluZyhtX3R5cGUsIENTU1ZhbHVlTGlzdDo6Y3Vz
dG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotfQotI2VuZGlmCi0K
IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZShjb25zdCBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSYgY2xvbmVGcm9tKQogICAgIDogQ1NTVmFsdWVMaXN0KGNs
b25lRnJvbSkKICAgICAsIG1fdHlwZShjbG9uZUZyb20ubV90eXBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAppbmRleCBlMGMxNDY0Li4zNmFlZGFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaApAQCAtNjcs
OSArNjcsNiBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgY3VzdG9tQ3NzVGV4dCgpIGNvbnN0Owog
ICAgIGJvb2wgZXF1YWxzKGNvbnN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlJiBvdGhlcikgY29u
c3QgeyByZXR1cm4gbV90eXBlID09IG90aGVyLm1fdHlwZSAmJiBDU1NWYWx1ZUxpc3Q6OmVxdWFs
cyhvdGhlcik7IH0KLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9t
U2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBT
dHJpbmc+JikgY29uc3Q7Ci0jZW5kaWYKIAogICAgIFRyYW5zZm9ybU9wZXJhdGlvblR5cGUgb3Bl
cmF0aW9uVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vw
cm9wLnBsCmluZGV4IDc3MzQzNTYuLjFhZjFmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAg
LTE5OCw5ICsxOTgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gQ1NTUHJvcGVydHlJ
RCB7CiAgICAgQ1NTUHJvcGVydHlJbnZhbGlkID0gMCwKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxF
UykKLSAgICBDU1NQcm9wZXJ0eVZhcmlhYmxlID0gMSwKLSNlbmRpZgogRU9GCiAKIG15ICRmaXJz
dCA9IDEwMDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDE4NzZlYjMuLmVjM2NhODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNzAsOSArMTcwLDYgQEAgU2V0dGluZ3M6
OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAjaWYgRU5BQkxFKENTU19TVElDS1lfUE9TSVRJT04pCiAg
ICAgLCBtX2Nzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCh0cnVlKQogI2VuZGlmCi0jaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCi0gICAgLCBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQoZmFsc2UpCi0jZW5k
aWYKICAgICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNlKQogICAgICwgbV90
aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1ByZWZldGNoaW5nRW5h
YmxlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA1YzU5MGFhLi45ZDk3ODhjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yMDIsMTQgKzIwMiw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBjc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAg
ICAgdm9pZCBzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2Nzc1Zhcmlh
Ymxlc0VuYWJsZWQgPSBlbmFibGVkOyB9Ci0gICAgICAgIGJvb2wgY3NzVmFyaWFibGVzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3NzVmFyaWFibGVzRW5hYmxlZDsgfQotI2Vsc2UKLSAgICAg
ICAgdm9pZCBzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wpIHsgfQotICAgICAgICBib29sIGNz
c1ZhcmlhYmxlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotI2VuZGlmCi0KICAg
ICAgICAgdm9pZCBzZXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoYm9vbCk7CiAgICAgICAg
IGJvb2wgc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9zaG93
VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3I7IH0KIApAQCAtMzEwLDkgKzMwMiw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQ1NTX1NUSUNLWV9QT1NJVElPTikKICAgICAgICAgYm9v
bCBtX2Nzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCA6IDE7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKLSAgICAgICAgYm9vbCBtX2Nzc1ZhcmlhYmxlc0VuYWJsZWQgOiAxOwotI2Vu
ZGlmCiAgICAgICAgIGJvb2wgbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAg
ICAgICBib29sIG1fdGlsZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBt
X2Ruc1ByZWZldGNoaW5nRW5hYmxlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGE4ZGY3ZjAuLmQzNzE0Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zNjYsMTEgKzM2Niw2IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IFBzZXVkb1N0eWxlQ2FjaGUqIGNhY2hlZFBzZXVkb1N0eWxl
cygpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkUHNldWRvU3R5bGVzLmdldCgpOyB9CiAKLSNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2b2lkIHNldFZhcmlhYmxlKGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByYXJlSW5oZXJpdGVkRGF0YS5hY2Nl
c3MoKS0+bV92YXJpYWJsZXMuYWNjZXNzKCktPnNldFZhcmlhYmxlKG5hbWUsIHZhbHVlKTsgfQot
ICAgIGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+KiB2YXJpYWJsZXMoKSB7IHJl
dHVybiAmKHJhcmVJbmhlcml0ZWREYXRhLT5tX3ZhcmlhYmxlcy0+bV9kYXRhKTsgfQotI2VuZGlm
Ci0KICAgICBib29sIGFmZmVjdGVkQnlIb3ZlcigpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRl
ZF9mbGFncy5hZmZlY3RlZEJ5SG92ZXIoKTsgfQogICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZlY3RlZEJ5QWN0aXZlKCk7IH0K
ICAgICBib29sIGFmZmVjdGVkQnlEcmFnKCkgY29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2Zs
YWdzLmFmZmVjdGVkQnlEcmFnKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCA4MzEwODQ0Li4y
MzU0MjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC01NSwxMCArNTUsNiBAQCBzdHJ1Y3QgU2Ft
ZVNpemVBc1N0eWxlUmFyZUluaGVyaXRlZERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6
ZUFzU3R5bGVSYXJlSQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgQ29sb3IgdG91Y2hD
b2xvcnM7CiAjZW5kaWYKLQotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZvaWQqIHZh
cmlhYmxlRGF0YVJlZnNbMV07Ci0jZW5kaWYKIH07CiAKIENPTVBJTEVfQVNTRVJUKHNpemVvZihT
dHlsZVJhcmVJbmhlcml0ZWREYXRhKSA9PSBzaXplb2YoU2FtZVNpemVBc1N0eWxlUmFyZUluaGVy
aXRlZERhdGEpLCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhX3Nob3VsZF9iaXRfcGFjayk7CkBAIC0x
MjEsOSArMTE3LDYgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVk
RGF0YSgpCiAgICAgLCB0YXBIaWdobGlnaHRDb2xvcihSZW5kZXJTdHlsZTo6aW5pdGlhbFRhcEhp
Z2hsaWdodENvbG9yKCkpCiAjZW5kaWYgICAgCiB7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgbV92YXJpYWJsZXMuaW5pdCgpOwotI2VuZGlmCiB9CiAKIFN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YSYgbykKQEAgLTE5Niw5ICsxODksNiBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZUluaGVyaXRlZERhdGEmIG8pCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKICAgICAsIHRhcEhpZ2hsaWdodENvbG9yKG8udGFwSGlnaGxpZ2h0
Q29sb3IpCiAjZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAsIG1fdmFyaWFi
bGVzKG8ubV92YXJpYWJsZXMpCi0jZW5kaWYKIHsKIH0KIApAQCAtMjgyLDkgKzI3Miw2IEBAIGJv
b2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVJbmhl
cml0ZWREYXRhJiBvKSBjb25zdAogI2VuZGlmIC8vIENTUzNfVEVYVAogICAgICAgICAmJiBtX3J1
YnlQb3NpdGlvbiA9PSBvLm1fcnVieVBvc2l0aW9uCiAgICAgICAgICYmIG1fbGluZVNuYXAgPT0g
by5tX2xpbmVTbmFwCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgICYmIG1fdmFy
aWFibGVzID09IG8ubV92YXJpYWJsZXMKLSNlbmRpZgogICAgICAgICAmJiBtX2xpbmVBbGlnbiA9
PSBvLm1fbGluZUFsaWduCiAgICAgICAgICYmIFN0eWxlSW1hZ2U6OmltYWdlc0VxdWl2YWxlbnQo
bGlzdFN0eWxlSW1hZ2UuZ2V0KCksIG8ubGlzdFN0eWxlSW1hZ2UuZ2V0KCkpOwogfQpAQCAtMzEx
LDkgKzI5OCw2IEBAIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mCiAgICAgaW5mby5hZGRNZW1iZXIo
dGV4dEVtcGhhc2lzQ3VzdG9tTWFyaywgInRleHRFbXBoYXNpc0N1c3RvbU1hcmsiKTsKICAgICBp
bmZvLmFkZE1lbWJlcihxdW90ZXMsICJxdW90ZXMiKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2xp
bmVHcmlkLCAibGluZUdyaWQiKTsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3ZhcmlhYmxlcywgInZhcmlhYmxlcyIpOwotI2VuZGlmCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDI1NjZkZTkuLjkzNGU4YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuaApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCi0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiRGF0YVJlZi5oIgotI2luY2x1ZGUgIlN0eWxlVmFyaWFi
bGVEYXRhLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3JM
aXN0OwpAQCAtMTQ1LDEwICsxNDAsNiBAQCBwdWJsaWM6CiAgICAgQ29sb3IgdGFwSGlnaGxpZ2h0
Q29sb3I7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIERhdGFSZWY8
U3R5bGVWYXJpYWJsZURhdGE+IG1fdmFyaWFibGVzOwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAg
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpOwogICAgIFN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29u
c3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVWYXJpYWJsZURhdGEuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmI0NTk4OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVWYXJpYWJsZURhdGEuaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
IGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0g
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotCi0j
aWZuZGVmIFN0eWxlVmFyaWFibGVEYXRhX2gKLSNkZWZpbmUgU3R5bGVWYXJpYWJsZURhdGFfaAot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIEN1cnNvckxpc3Q7Ci1jbGFzcyBRdW90ZXNEYXRhOwotY2xhc3MgU2hhZG93RGF0
YTsKLQotY2xhc3MgU3R5bGVWYXJpYWJsZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHlsZVZh
cmlhYmxlRGF0YT4gewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlVmFyaWFi
bGVEYXRhPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVWYXJpYWJsZURhdGEo
KSk7IH0KLSAgICBQYXNzUmVmUHRyPFN0eWxlVmFyaWFibGVEYXRhPiBjb3B5KCkgY29uc3QgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlVmFyaWFibGVEYXRhKCp0aGlzKSk7IH0KLQotICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZVZhcmlhYmxlRGF0YSYgb3RoZXIpIGNvbnN0IHsgcmV0
dXJuIG90aGVyLm1fZGF0YSA9PSBtX2RhdGE7IH0KLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3Qg
U3R5bGVWYXJpYWJsZURhdGEmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVy
KTsgfQotCi0gICAgdm9pZCBzZXRWYXJpYWJsZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmFsdWUpIHsgbV9kYXRhLnNldChuYW1lLCB2YWx1ZSk7IH0KLQotICAgIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+IG1fZGF0YTsKLXByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgU3R5bGVWYXJpYWJsZURhdGEoKSA6IFJlZkNvdW50ZWQ8U3R5bGVWYXJpYWJsZURhdGE+KCkg
eyB9Ci0gICAgU3R5bGVWYXJpYWJsZURhdGEoY29uc3QgU3R5bGVWYXJpYWJsZURhdGEmIG90aGVy
KSA6IFJlZkNvdW50ZWQ8U3R5bGVWYXJpYWJsZURhdGE+KCksIG1fZGF0YShIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPihvdGhlci5tX2RhdGEpKSB7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8qIEVOQUJMRShDU1NfVkFSSUFCTEVTKSAqLwotI2VuZGlmIC8q
IFN0eWxlVmFyaWFibGVEYXRhX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjY2U1OGMwLi5mYmEx
NGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJlOiBD
U1MgdmFyaWFibGVzCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEzLTA0LTA1ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBidWlsZGluZyBPYmplY3Rp
dmUtQyBiaW5kaW5ncyBmb3IgdGhlIFNWRyBET00KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNDUzZTQy
NC4uZWZkZTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTU0LDcgKzU0LDYgQEAgRU5BQkxFX0NT
U19SRUdJT05TID0gRU5BQkxFX0NTU19SRUdJT05TOwogRU5BQkxFX0NTU19TSEFERVJTID0gRU5B
QkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NT
X1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJF
RklYRUQgPSBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwotRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
IEVOQUJMRV9DU1MzX1RFWFQgPSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CkBA
IC0xODYsNCArMTg1LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJM
RV9YSFJfVElNRU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lG
UkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRf
U1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9MSU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNT
X0VMRU1FTlQpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVF
Q0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxF
X1NDT1BFRCkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFE
RURfSFRNTF9QQVJTRVIpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVG
SU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklM
VEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQo
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESUFM
T0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElH
SF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFN
TEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9M
SU5LX1BSRVJFTkRFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NSUNST0RBVEEpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5B
QkxFX1NIQURPV19ET00pICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX1NUWUxFX1NDT1BFRCkg
JChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9Q
QVJTRVIpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQo
RU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBM
QVRGT1JNX05BTUUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNzYyY2M5Li41Y2I4MmQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMDQtMDcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBw
bGUuY29tPgorCisgICAgICAgIFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAg
IDxodHRwOi8vd2Via2l0Lm9yZy9iLzExNDExOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOgorCiAyMDEzLTA0LTA2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgVHJ5IHRvIGZpeCB0aGUgV2ViS2l0MiBidWlsZC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
ZTg1NjRiYS4uNGRjNjllNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTU0LDcgKzU0LDYgQEAgRU5BQkxFX0NT
U19SRUdJT05TID0gRU5BQkxFX0NTU19SRUdJT05TOwogRU5BQkxFX0NTU19TSEFERVJTID0gRU5B
QkxFX0NTU19TSEFERVJTOwogRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NT
X1NUSUNLWV9QT1NJVElPTjsKIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJF
RklYRUQgPSBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwotRU5B
QkxFX0NTU19WQVJJQUJMRVMgPSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsK
IEVOQUJMRV9DU1MzX1RFWFQgPSA7CiBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgPSA7CkBA
IC0xODgsNCArMTg3LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJM
RV9YSFJfVElNRU9VVCA9IEVOQUJMRV9YSFJfVElNRU9VVDsKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFO
U0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NTX1ZBUklBQkxFUykgJChF
TkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lG
UkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRf
U1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTElO
S19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJM
RV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlMRV9TQ09QRUQpICQo
RU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05PVElGSUNBVElPTlNf
T05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJ
T05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT04pICQoRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5Q
UkVGSVhFRCkgJChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ESUFMT0dfRUxFTUVOVCkgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9B
RCkgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9S
RUdJT04pICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTElOS19QUkVSRU5ERVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTUlDUk9EQVRBKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVT
U19FTEVNRU5UKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BF
RUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVFlM
RV9TQ09QRUQpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1ZHKSAkKEVOQUJM
RV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9URVhUX05P
VElGSUNBVElPTlNfT05MWSkgJChFTkFCTEVfVEhSRUFERURfSFRNTF9QQVJTRVIpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNCBiL1Nv
dXJjZS9hdXRvdG9vbHMvU2V0dXBXZWJLaXRGZWF0dXJlcy5tNAppbmRleCA5ZDgwZTY5Li43OThm
MTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQK
KysrIGIvU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CkBAIC0zMSw3ICsz
MSw2IEBAIHJlYWQgLWQgJycgREVGQVVMVF9GRUFUVVJFX0RFRklORVMgPDwiRU9GIgogCUVOQUJM
RV9DU1NfUkVHSU9OUz0wCiAJRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT049MAogCUVOQUJMRV9D
U1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ9MAotCUVOQUJMRV9DU1NfVkFSSUFC
TEVTPTAKIAlFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0wCiAJRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUj0wCiAJRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUPTAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKaW5kZXggZGRmMTcwNC4uNTYzYmFiMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTYw
LDcgKzYwLDYgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1NfSU1BR0VfU0VUIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0NTU19SRUdJT05TIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfQ1NTX1ZBUklBQkxFUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgT04pCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggNWFjNzZiNi4uMDhhMWRlYiAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMzgsNyArMzgsNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9O
X0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBREVSUyAiVG9n
Z2xlIENTUyBTaGFkZXJzICh3aXRoaW4gQ1NTIEZpbHRlcnMpIHN1cHBvcnQiIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiAiVG9nZ2xlIENT
UyBzdGlja3kgcG9zaXRpb24gc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgIlRvZ2dsZSBzdXBw
b3J0IGZvciB1bnByZWZpeGVkIENTUyBhbmltYXRpb25zIGFuZCB0cmFuc2Zvcm1zIiBPTikKLSAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX1ZBUklBQkxFUyAiVG9nZ2xlIENTUyBW
YXJpYWJsZXMgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIgIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3VwcG9y
dCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
ICJUb2dnbGUgSFRNTDUgZGF0YWxpc3Qgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TICJUb2dnbGUgSFRNTDUgZGF0YSB0cmFu
c2ZlciBpdGVtcyBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggYjgyOTk1ZS4uNmM0NDQ0YyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTA0
LTA3ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUg
ZmVhdHVyZTogQ1NTIHZhcmlhYmxlcworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQx
MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogcW1ha2UvbWtzcGVj
cy9mZWF0dXJlcy9mZWF0dXJlcy5wcmk6CisKIDIwMTMtMDQtMDYgIExhc3psbyBHb21ib3MgIDxs
LmdvbWJvc0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggYWZ0ZXIgcjE0Nzg1Nywg
cmVtb3ZlIHJlbWFpbmluZyBVU0UoSlNDKSBndWFyZHMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KaW5kZXggNThlZDM1Yy4uN2RiYjg2OCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMjI0LDkgKzIyNCw2IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICB7IG9wdGlvbiA9PiAiY3NzLXRyYW5zZm9ybXMtYW5pbWF0aW9ucy11bnByZWZpeGVk
IiwgZGVzYyA9PiAiVG9nZ2xlIHN1cHBvcnQgZm9yIHVucHJlZml4ZWQgQ1NTIGFuaW1hdGlvbnMg
YW5kIHRyYW5zZm9ybXMiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX1RSQU5TRk9STVNf
QU5JTUFUSU9OU19VTlBSRUZJWEVEIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGNzc0FuaW1h
dGlvbnNUcmFuc2Zvcm1zVW5wcmVmaXhlZFN1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9uID0+ICJj
c3MtdmFyaWFibGVzIiwgZGVzYyA9PiAiVG9nZ2xlIENTUyBWYXJpYWJsZSBzdXBwb3J0IiwKLSAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19WQVJJQUJMRVMiLCBkZWZhdWx0ID0+IChpc0JsYWNr
QmVycnkoKSB8fCBpc0VmbCgpIHx8IGlzR3RrKCkpLCB2YWx1ZSA9PiBcJGNzc1ZhcmlhYmxlc1N1
cHBvcnQgfSwKLQogICAgIHsgb3B0aW9uID0+ICJjdXN0b20tc2NoZW1lLWhhbmRsZXIiLCBkZXNj
ID0+ICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiLAogICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIiwgZGVmYXVsdCA9PiAoaXNCbGFja0Jl
cnJ5KCkgfHwgaXNFZmwoKSksIHZhbHVlID0+IFwkY3VzdG9tU2NoZW1lSGFuZGxlclN1cHBvcnQg
fSwKIApkaWZmIC0tZ2l0IGEvVG9vbHMvcW1ha2UvbWtzcGVjcy9mZWF0dXJlcy9mZWF0dXJlcy5w
cmkgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnByaQppbmRleCA2YWJm
MDY0Li5mOWZmMDllIDEwMDY0NAotLS0gYS9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2Zl
YXR1cmVzLnByaQorKysgYi9Ub29scy9xbWFrZS9ta3NwZWNzL2ZlYXR1cmVzL2ZlYXR1cmVzLnBy
aQpAQCAtMzQsNyArMzQsNiBAQCBGRUFUVVJFX0RFRkFVTFRTID0gXAogICAgIEVOQUJMRV9DU1Nf
U0hBREVSUz0wIFwKICAgICBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTj0xIFwKICAgICBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEPTEgXAotICAgIEVOQUJMRV9D
U1NfVkFSSUFCTEVTPTAgXAogICAgIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTPTAgXAog
ICAgIEVOQUJMRV9DU1MzX1RFWFQ9MCBcCiAgICAgRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
PTAgXAo=
</data>
<flag name="commit-queue"
          id="218948"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218002</attachid>
            <date>2013-11-28 07:24:05 -0800</date>
            <delta_ts>2013-11-28 07:31:58 -0800</delta_ts>
            <desc>rebased patch</desc>
            <filename>css-variables-remove.patch</filename>
            <type>text/plain</type>
            <size>211808</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTgz
OCkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTEx
LTI4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUg
ZmVhdHVyZTogQ1NTIHZhcmlhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE0MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxMy0xMS0y
NyAgTMOhc3psw7MgTGFuZ8OzICA8bGFuZ29AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtF
RkxdIFRoZSByZW1vdGUgaW5zcGVjdG9yIGRvZXMgbm90IHNob3cgdGhlIGJhc2UgcGFnZS4KSW5k
ZXg6IFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NTU19TSEFQRVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lU
SU9OCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBS
RUZJWEVECi0jY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1NTX1ZBUklBQkxFUwogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MiBAQAorMjAxMy0xMS0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVtb3ZlIGZlYXR1cmU6IENTUyB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDExOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6CisKIDIwMTMtMTEtMjggIFBldGVyIEdhbCAgPGdhbHBldGVyQGluZi51LXN6
ZWdlZC5odT4KIAogICAgICAgICBUeXBvIGZpeCBhZnRlciByMTU5ODM0IHRvIGZpeCAzMiBiaXQg
YnVpbGRzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gMTU5ODM4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2IEBAIEVOQUJMRV9DU1NfU0hBREVS
UyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU0hBUEVTID0gRU5BQkxFX0NTU19T
SEFQRVM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJQ0tZX1BP
U0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCA9IEVO
QUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFCTEVfQ1NTX1ZB
UklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5BQkxFX0NT
UzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTiA9IEVOQUJMRV9DU1MzX1RF
WFRfREVDT1JBVElPTjsKQEAgLTE4OCw0ICsxODcsNCBAQCBFTkFCTEVfWFNMVCA9IEVOQUJMRV9Y
U0xUOwogRU5BQkxFX0ZUTF9KSVQgPSA7CiBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVS
UykgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9D
U1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJM
RVMpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04pICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExP
QUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVf
UkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElH
SF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFN
TEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VM
RU1FTlQpICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9T
SEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1FKSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVM
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04pICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FOVkFTKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BMVUdJTl9QUk9YWV9GT1JfVklE
RU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfU0NS
SVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9NKSAkKEVOQUJMRV9TSEFSRURfV09SS0VS
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVO
QUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
RykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9S
TV9OQU1FKSk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dURi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0xMS0yOCAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGZlYXR1cmU6IENTUyB2
YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNDExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd3RmL0ZlYXR1cmVEZWZpbmVzLmg6CisKIDIwMTMtMTEtMjYgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBieXRlY29kZSB2YWxpZGF0aW9uIGFzIHBhcnQg
b2YgdGVzdGluZwpJbmRleDogU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCShyZXZpc2lvbiAxNTk4Mzgp
CisrKyBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MjYsMTAgKzQyNiw2IEBACiAjZGVmaW5lIEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05T
X1RSQU5TSVRJT05TX1VOUFJFRklYRUQgMAogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVf
Q1NTX1ZBUklBQkxFUykKLSNkZWZpbmUgRU5BQkxFX0NTU19WQVJJQUJMRVMgMAotI2VuZGlmCi0K
ICNpZiAhZGVmaW5lZChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQogI2RlZmluZSBFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIDAKICNlbmRpZgpJbmRleDogU291cmNlL1dURi93dGYv
bml4L0ZlYXR1cmVEZWZpbmVzTml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvbml4
L0ZlYXR1cmVEZWZpbmVzTml4LmgJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XVEYvd3Rm
L25peC9GZWF0dXJlRGVmaW5lc05peC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCwxMCArOTQsNiBA
QAogI2RlZmluZSBFTkFCTEVfQ1NTX1NIQURFUlMgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChF
TkFCTEVfQ1NTX1ZBUklBQkxFUykKLSNkZWZpbmUgRU5BQkxFX0NTU19WQVJJQUJMRVMgMQotI2Vu
ZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkKICNkZWZpbmUgRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQgMQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
NTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw5OSBAQAorMjAxMy0xMS0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIGZlYXR1cmU6IENTUyB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDExOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NT
U0Jhc2ljU2hhcGVzLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTQmFzaWNTaGFwZXMuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1bml0
Q2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6aGFzRG91YmxlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjp0b0NhbGNWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhQeCk6CisgICAgICAg
IChXZWJDb3JlOjpkZXRlcm1pbmVDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
QmluYXJ5T3BlcmF0aW9uOjpwcmltaXRpdmVUeXBlKToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5oOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlW
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueS5pbjoKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNl
ckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJD
b3JlOjpmaWx0ZXJQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3Jl
YXRlU3R5bGVQcm9wZXJ0eVNldCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmFkZFBy
b3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6dmFsaWRDYWxjdWxhdGlvblVu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbGlkUHJpbWl0aXZlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlUmVmbGVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmRldGVjdERh
c2hUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnJlYWxMZXgpOgorICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyTW9kZS5oOgorICAg
ICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyVmFsdWU6OmNyZWF0ZUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVz
Lmg6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJsZUNvbnZlcnNpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJp
bWl0aXZlVmFsdWU6OmdldFN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1p
dGl2ZVZhbHVlOjpjdXN0b21DU1NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjplcXVhbHMpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5oOgorICAg
ICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29udmVydFRvTGVuZ3RoKToKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHkuY3BwOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHk6OkNTU1Byb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVj
dFZhbHVlLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVjdFZhbHVlLmg6CisgICAgICAgICog
Y3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjplcXVhbHMpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVmFsdWU6OnNldENzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxp
c3QuY3BwOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuaDoKKyAgICAgICAgKiBjc3MvQ1NT
VmFyaWFibGVWYWx1ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGNzcy9QYWlyLmg6CisgICAgICAg
ICogY3NzL1JlY3QuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVQcm9wZXJ0eVNldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnR5U2V0Ojphc1RleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVQcm9wZXJ0eVNldDo6UHJvcGVydHlSZWZlcmVuY2U6OmNzc05hbWUpOgorICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2
ZXI6OnN0eWxlRm9yUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBs
eVByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlNYXRj
aGVkUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAqIGNzcy9X
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1dlYktpdENTU1RyYW5z
Zm9ybVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6
ZXF1YWxzKToKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJ
bmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6
Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmg6
IFJlbW92ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaWRsOgorCiAyMDEzLTExLTI3ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0
YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvbT4KIAogICAgICAgICBbR1RLXSBTdXBwb3J0IGN1c3Rv
bSB0eXBlcyBmb3IgZHJhZyBhbmQgZHJvcCBkYXRhCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI2MjIsNyArMjYyMiw2IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVQb29sLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlUG9vbC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvRE9NV2luZG93Q1NTLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3Nz
L0RPTVdpbmRvd0NTUy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvRGFzaGJvYXJkUmVnaW9uLmgg
XApAQCAtNDY0MCw3ICs0NjM5LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuaCBcCiAJU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuaCBcCi0JU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UYWJsZUxheW91dC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiAxNTk4MzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBFTkFCTEVfQ1NTX1NIQURFUlMgPSBFTkFC
TEVfQ1NTX1NIQURFUlM7CiBFTkFCTEVfQ1NTX1NIQVBFUyA9IEVOQUJMRV9DU1NfU0hBUEVTOwog
RU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04gPSBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTjsK
IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQgPSBFTkFCTEVfQ1NT
X1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEOwotRU5BQkxFX0NTU19WQVJJQUJMRVMg
PSA7CiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUyA9IDsKIEVOQUJMRV9DU1MzX1RFWFQg
PSA7CiBFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04gPSBFTkFCTEVfQ1NTM19URVhUX0RFQ09S
QVRJT047CkBAIC0xODgsNCArMTg3LDQgQEAgRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIEVO
QUJMRV9GVExfSklUID0gOwogRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5T
Rk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RP
TSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9USFJF
QURFRF9IVE1MX1BBUlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5J
TUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVO
QUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQ
RUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1VC
UElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkcpICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9USFJFQURFRF9IVE1MX1BBUlNFUikgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZPUk1fTkFNRSkp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00ODgwLDcgKzQ4ODAsNiBA
QAogCQlCQzVFQjY3RjBFODFENEE3MDBCMjU5NjUgLyogU3R5bGVEYXNoYm9hcmRSZWdpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVCNjdFMEU4
MUQ0QTcwMEIyNTk2NSAvKiBTdHlsZURhc2hib2FyZFJlZ2lvbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNUVCNjk5MEU4MURBNjMwMEIyNTk2
NSAvKiBTdHlsZVZpc3VhbERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM1RUI2OTcwRTgxREE2MzAwQjI1OTY1IC8qIFN0eWxlVmlzdWFsRGF0
YS5jcHAgKi87IH07CiAJCUJDNUVCNjlBMEU4MURBNjMwMEIyNTk2NSAvKiBTdHlsZVZpc3VhbERh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNUVC
Njk4MEU4MURBNjMwMEIyNTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzVFQjY5QTBFODFEQTYzMDBCMjU5
NjYgLyogU3R5bGVWYXJpYWJsZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDNUVCNjk4MEU4MURBNjMwMEIyNTk2NiAvKiBTdHlsZVZhcmlhYmxl
RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUJDNUVCNjlFMEU4MURBRUIwMEIyNTk2NSAvKiBGaWxsTGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1RUI2OUMwRTgxREFFQjAwQjI1OTY1
IC8qIEZpbGxMYXllci5jcHAgKi87IH07CiAJCUJDNUVCNjlGMEU4MURBRUIwMEIyNTk2NSAvKiBG
aWxsTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNUVCNjlEMEU4MURBRUIwMEIyNTk2NSAvKiBGaWxsTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzVFQjZBMjBFODFEQzRGMDBCMjU5
NjUgLyogU3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzVFQjZBMDBFODFEQzRGMDBCMjU5NjUgLyogU3R5bGVCYWNr
Z3JvdW5kRGF0YS5jcHAgKi87IH07CkBAIC01MzA4LDcgKzUzMDcsNiBAQAogCQlDQTNCRjY3RTEw
RDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3Jv
bGxBbmltYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUNBRTlGOTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBE
MTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLzsgfTsKIAkJQ0FF
OUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07Ci0JCUNBRTlGOTEwMTQ2NDQxRjAw
MEMyNDVCMSAvKiBDU1NWYXJpYWJsZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjEgLyogQ1NTVmFyaWFi
bGVWYWx1ZS5oICovOyB9OwogCQlDQ0MyQjUxNDE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQ0My
QjUxMDE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0NDMkI1MTUxNUY2MTMwNjAwNDhDREQ2
IC8qIERldmljZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0NDMkI1MTExNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xs
ZXIuY3BwICovOyB9OwogCQlDQ0MyQjUxNjE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0ND
MkI1MTIxNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTE4ODgsNyArMTE4ODYsNiBA
QAogCQlCQzVFQjY3RTBFODFENEE3MDBCMjU5NjUgLyogU3R5bGVEYXNoYm9hcmRSZWdpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3R5bGVEYXNoYm9hcmRSZWdpb24uaDsg
cGF0aCA9IHN0eWxlL1N0eWxlRGFzaGJvYXJkUmVnaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDNUVCNjk3MEU4MURBNjMwMEIyNTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU3R5bGVWaXN1YWxEYXRhLmNw
cDsgcGF0aCA9IHN0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDNUVCNjk4MEU4MURBNjMwMEIyNTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3R5bGVWaXN1YWxEYXRhLmg7IHBhdGgg
PSBzdHlsZS9TdHlsZVZpc3VhbERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QkM1RUI2OTgwRTgxREE2MzAwQjI1OTY2IC8qIFN0eWxlVmFyaWFibGVEYXRhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFN0eWxlVmFyaWFibGVEYXRhLmg7IHBhdGggPSBzdHls
ZS9TdHlsZVZhcmlhYmxlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVF
QjY5QzBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZpbGxMYXllci5jcHA7IHBhdGggPSBzdHlsZS9GaWxsTGF5ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzVFQjY5RDBFODFEQUVCMDBCMjU5
NjUgLyogRmlsbExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZpbGxM
YXllci5oOyBwYXRoID0gc3R5bGUvRmlsbExheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDNUVCNkEwMEU4MURDNEYwMEIyNTk2NSAvKiBTdHlsZUJhY2tncm91bmREYXRhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0eWxlQmFja2dyb3VuZERh
dGEuY3BwOyBwYXRoID0gc3R5bGUvU3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMjM1Nyw3ICsxMjM1NCw2IEBACiAJCUNBM0JGNjdEMTBEOTlC
QUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTY3JvbGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
QUU5RjkwRDE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8q
IENTU0FzcGVjdFJhdGlvVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDQUU5
RjkwRTE0NjQ0MUYwMDBDMjQ1QjEgLyogQ1NTVmFyaWFibGVWYWx1ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NWYXJpYWJsZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNDQzJCNTEwMTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNDQzJCNTExMTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VD
b250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERldmlj
ZUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDQ0MyQjUxMjE1
RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEZXZpY2VDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xOTg3OCw3ICsxOTg3NCw2IEBACiAJCQkJQkM1RUI1RTQwRTgxQkY2RDAwQjI1OTY1
IC8qIFN0eWxlU3Vycm91bmREYXRhLmggKi8sCiAJCQkJQkM1RUI4MEQwRTgxRjJDRTAwQjI1OTY1
IC8qIFN0eWxlVHJhbnNmb3JtRGF0YS5jcHAgKi8sCiAJCQkJQkM1RUI4MEUwRTgxRjJDRTAwQjI1
OTY1IC8qIFN0eWxlVHJhbnNmb3JtRGF0YS5oICovLAotCQkJCUJDNUVCNjk4MEU4MURBNjMwMEIy
NTk2NiAvKiBTdHlsZVZhcmlhYmxlRGF0YS5oICovLAogCQkJCUJDNUVCNjk3MEU4MURBNjMwMEIy
NTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuY3BwICovLAogCQkJCUJDNUVCNjk4MEU4MURBNjMwMEIy
NTk2NSAvKiBTdHlsZVZpc3VhbERhdGEuaCAqLywKIAkJCQlCQzIyNzQ3NDBFODM2NkUyMDBFN0Y5
NzUgLyogU1ZHUmVuZGVyU3R5bGUuY3BwICovLApAQCAtMjA0NzIsNyArMjA0NjcsNiBAQAogCQkJ
CUUxQzY1NzFFMTgxNkU1MDMwMDI1NkNERCAvKiBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zLmgg
Ki8sCiAJCQkJRTFCRDMzMUQxODJEOEY0MjAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJzYUtl
eUdlblBhcmFtcy5oICovLAogCQkJCUUxQzI2NkRBMTgzMTk5MzUwMDNGOEIzMyAvKiBDcnlwdG9B
bGdvcml0aG1Sc2FLZXlQYXJhbXNXaXRoSGFzaC5oICovLAotCQkJCUUxRkUxMzZDMTgzRkUyMUQw
MDg5MkYxMyAvKiBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zLmggKi8sCiAJCQkJRTFCRDMz
MUIxODJEOEVFOTAwQzA1RDlGIC8qIENyeXB0b0FsZ29yaXRobVJzYVNzYVBhcmFtcy5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBwYXJhbWV0ZXJzOwpAQCAtMjA4MjUsNyArMjA4MTksNiBAQAogCQkJ
CUE4RDA2NTFDMEEyM0MxRkUwMDVFNzIwMyAvKiBDU1NWYWx1ZUxpc3QuaWRsICovLAogCQkJCUU0
OUJEQTBBMTMxRkQzRTUwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuY3BwICovLAogCQkJCUU0OUJE
OUY5MTMxRkQyRUQwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuaCAqLywKLQkJCQlDQUU5RjkwRTE0
NjQ0MUYwMDBDMjQ1QjEgLyogQ1NTVmFyaWFibGVWYWx1ZS5oICovLAogCQkJCUE4MEU2Q0UxMEEx
OTg5Q0EwMDdGQjhDNSAvKiBEYXNoYm9hcmRSZWdpb24uaCAqLywKIAkJCQlFMTAwRUU3MzE1NDZF
QUMxMDBCQTExRDEgLyogRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgKi8sCiAJCQkJRTEwMEVF
NzQxNTQ2RUFDMTAwQkExMUQxIC8qIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuaCAqLywKQEAgLTIy
Mzc2LDcgKzIyMzY5LDYgQEAKIAkJCQkwNzhFMDkxNDE3RDE0RDFDMDA0MjBBQTEgLyogTWVkaWFD
b25zdHJhaW50c0ltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0U5MEExOTg5Q0EwMDdG
QjhDNSAvKiBDU1NWYWx1ZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OUJEOUZBMTMxRkQy
RUQwMDNDNTZGMCAvKiBDU1NWYWx1ZVBvb2wuaCBpbiBIZWFkZXJzICovLAotCQkJCUNBRTlGOTEw
MTQ2NDQxRjAwMEMyNDVCMSAvKiBDU1NWYXJpYWJsZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxOTkyRjA4MjQ1RTU5MDAxRTlBQkMgLyogQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzIyNzJBMjBFODJFODdDMDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjQ2NTksNyArMjQ2NTEsNiBAQAogCQkJCUE4RUE4MDBBMEExOTUxNkUwMEE4RUY1
RiAvKiBTdHlsZVNoZWV0TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI1RTUwRTgxQkY2
RDAwQjI1OTY1IC8qIFN0eWxlU3Vycm91bmREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVF
QjgxMDBFODFGMkNFMDBCMjU5NjUgLyogU3R5bGVUcmFuc2Zvcm1EYXRhLmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQzVFQjY5QTBFODFEQTYzMDBCMjU5NjYgLyogU3R5bGVWYXJpYWJsZURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNUVCNjlBMEU4MURBNjMwMEIyNTk2NSAvKiBTdHlsZVZpc3Vh
bERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUQwMDBFRDI4MTFDMUI5Q0QwMEM0NzcyNiAvKiBT
dWJmcmFtZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUZDNDBGQkExNjU1Q0NCOTAwNDBG
MjlFIC8qIFN1YmltYWdlQ2FjaGVXaXRoVGltZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niwz
MCArOTYsNiBAQCBib29sIENTU0Jhc2ljU2hhcGVSZWN0YW5nbGU6OmVxdWFscyhjb25zCiAgICAg
ICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX2JveCwgb3RoZXIubV9ib3gpOwogfQogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQmFzaWNTaGFwZVJlY3RhbmdsZTo6c2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJp
bmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGJ1aWxkUmVjdGFuZ2xlU3RyaW5n
KG1feC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1f
eS0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1fd2lk
dGgtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2hl
aWdodC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1f
cmFkaXVzWC5nZXQoKSA/IG1fcmFkaXVzWC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZh
cmlhYmxlcykgOiBTdHJpbmcoKSwKLSAgICAgICAgbV9yYWRpdXNZLmdldCgpID8gbV9yYWRpdXNZ
LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6IFN0cmluZygpLAotICAg
ICAgICBtX2JveCA/IG1fYm94LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KSA6IFN0cmluZygpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlUmVjdGFuZ2xlOjpoYXNWYXJp
YWJsZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1feC0+aGFzVmFyaWFibGVSZWZl
cmVuY2UoKQotICAgICAgICB8fCBtX3ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAg
fHwgbV93aWR0aC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICB8fCBtX2hlaWdodC0+
aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICB8fCAobV9yYWRpdXNYLmdldCgpICYmIG1f
cmFkaXVzWC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSkKLSAgICAgICAgfHwgKG1fcmFkaXVzWS5n
ZXQoKSAmJiBtX3JhZGl1c1ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpCi0gICAgICAgIHx8ICht
X2JveCAmJiBtX2JveC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci19Ci0jZW5kaWYKLQogc3Rh
dGljIFN0cmluZyBidWlsZENpcmNsZVN0cmluZyhjb25zdCBTdHJpbmcmIHJhZGl1cywgY29uc3Qg
U3RyaW5nJiBjZW50ZXJYLCBjb25zdCBTdHJpbmcmIGNlbnRlclksIGNvbnN0IFN0cmluZyYgYm94
KQogewogICAgIGNoYXIgb3BlbmluZ1tdID0gImNpcmNsZSgiOwpAQCAtMTY5LDI0ICsxNDUsNiBA
QCBib29sIENTU0Jhc2ljU2hhcGVDaXJjbGU6OmVxdWFscyhjb25zdCBDCiAgICAgICAgICYmIGNv
bXBhcmVDU1NWYWx1ZVB0cihtX2JveCwgb3RoZXIubV9ib3gpOwogfQogCi0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQmFzaWNTaGFwZUNpcmNsZTo6c2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJs
ZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGJ1aWxkQ2lyY2xlU3RyaW5nKG1fcmFkaXVzID8gbV9y
YWRpdXMtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpIDogU3RyaW5nKCks
Ci0gICAgICAgIG1fY2VudGVyWCA/IG1fY2VudGVyWC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcykgOiBTdHJpbmcoKSwKLSAgICAgICAgbV9jZW50ZXJZID8gbV9jZW50ZXJZ
LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6IFN0cmluZygpLAotICAg
ICAgICBtX2JveCA/IG1fYm94LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KSA6IFN0cmluZygpKTsKLX0KLQotYm9vbCBDU1NCYXNpY1NoYXBlQ2lyY2xlOjpoYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIChtX2NlbnRlclggJiYgbV9jZW50ZXJY
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICB8fCAobV9jZW50ZXJZICYmIG1fY2Vu
dGVyWS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSkKLSAgICAgICAgfHwgKG1fcmFkaXVzICYmIG1f
cmFkaXVzLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKQotICAgICAgICB8fCAobV9ib3ggJiYgbV9i
b3gtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpOwotfQotI2VuZGlmCi0KIHN0YXRpYyBTdHJpbmcg
YnVpbGREZXByZWNhdGVkQ2lyY2xlU3RyaW5nKGNvbnN0IFN0cmluZyYgeCwgY29uc3QgU3RyaW5n
JiB5LCBjb25zdCBTdHJpbmcmIHJhZGl1cywgY29uc3QgU3RyaW5nJiBib3gpCiB7CiAgICAgU3Ry
aW5nQnVpbGRlciByZXN1bHQ7CkBAIC0yMjMsMjQgKzE4MSw2IEBAIGJvb2wgQ1NTRGVwcmVjYXRl
ZEJhc2ljU2hhcGVDaXJjbGU6OmVxdWEKICAgICAgICAgJiYgY29tcGFyZUNTU1ZhbHVlUHRyKG1f
Ym94LCBvdGhlci5tX2JveCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmlu
ZyBDU1NEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGJ1aWxkRGVwcmVjYXRlZENpcmNsZVN0cmluZyhtX2NlbnRlclgtPnNl
cmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX2NlbnRlclkt
PnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICBtX3JhZGl1
cy0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1fYm94
ID8gbV9ib3gtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpIDogU3RyaW5n
KCkpOwotfQotCi1ib29sIENTU0RlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlOjpoYXNWYXJpYWJs
ZVJlZmVyZW5jZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY2VudGVyWC0+aGFzVmFyaWFibGVS
ZWZlcmVuY2UoKQotICAgICAgICB8fCBtX2NlbnRlclktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkK
LSAgICAgICAgfHwgbV9yYWRpdXMtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAgICAgfHwg
KG1fYm94ICYmIG1fYm94LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpKTsKLX0KLSNlbmRpZgotCiBz
dGF0aWMgU3RyaW5nIGJ1aWxkRWxsaXBzZVN0cmluZyhjb25zdCBTdHJpbmcmIHgsIGNvbnN0IFN0
cmluZyYgeSwgY29uc3QgU3RyaW5nJiByYWRpdXNYLCBjb25zdCBTdHJpbmcmIHJhZGl1c1ksIGNv
bnN0IFN0cmluZyYgYm94KQogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwpAQCAtMjgwLDI2
ICsyMjAsNiBAQCBib29sIENTU0Jhc2ljU2hhcGVFbGxpcHNlOjplcXVhbHMoY29uc3QgCiAgICAg
ICAgICYmIGNvbXBhcmVDU1NWYWx1ZVB0cihtX2JveCwgb3RoZXIubV9ib3gpOwogfQogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTQmFzaWNTaGFwZUVsbGlwc2U6OnNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5n
PiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIHJldHVybiBidWlsZEVsbGlwc2VTdHJpbmcobV9j
ZW50ZXJYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAg
bV9jZW50ZXJZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAg
ICAgbV9yYWRpdXNYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAg
ICAgICAgbV9yYWRpdXNZLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSwK
LSAgICAgICAgbV9ib3ggPyBtX2JveC0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlh
YmxlcykgOiBTdHJpbmcoKSk7Ci19Ci0KLWJvb2wgQ1NTQmFzaWNTaGFwZUVsbGlwc2U6Omhhc1Zh
cmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jZW50ZXJYLT5oYXNWYXJp
YWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fY2VudGVyWS0+aGFzVmFyaWFibGVSZWZlcmVu
Y2UoKQotICAgICAgICB8fCBtX3JhZGl1c1gtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkKLSAgICAg
ICAgfHwgbV9yYWRpdXNZLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IChtX2Jv
eCAmJiBtX2JveC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci19Ci0jZW5kaWYKLQogc3RhdGlj
IFN0cmluZyBidWlsZFBvbHlnb25TdHJpbmcoY29uc3QgV2luZFJ1bGUmIHdpbmRSdWxlLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgcG9pbnRzLCBjb25zdCBTdHJpbmcmIGJveCkKIHsKICAgICBBU1NF
UlQoIShwb2ludHMuc2l6ZSgpICUgMikpOwpAQCAtMzY4LDM0ICsyODgsNiBAQCBib29sIENTU0Jh
c2ljU2hhcGVQb2x5Z29uOjplcXVhbHMoY29uc3QgCiAgICAgICAgICYmIGNvbXBhcmVDU1NWYWx1
ZVZlY3RvcjxDU1NQcmltaXRpdmVWYWx1ZT4obV92YWx1ZXMsIHJocy5tX3ZhbHVlcyk7CiB9CiAK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NCYXNpY1NoYXBlUG9seWdvbjo6
c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBT
dHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgVmVjdG9yPFN0cmluZz4gcG9pbnRzOwot
ICAgIHBvaW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fdmFsdWVzLnNpemUoKSk7Ci0KLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdmFsdWVzLnNpemUoKTsgKytpKQotICAgICAgICBw
b2ludHMuYXBwZW5kKG1fdmFsdWVzLmF0KGkpLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
dmFyaWFibGVzKSk7Ci0KLSAgICByZXR1cm4gYnVpbGRQb2x5Z29uU3RyaW5nKG1fd2luZFJ1bGUs
Ci0gICAgICAgIHBvaW50cywKLSAgICAgICAgbV9ib3ggPyBtX2JveC0+c2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgOiBTdHJpbmcoKSk7Ci19Ci0KLWJvb2wgQ1NTQmFzaWNT
aGFwZVBvbHlnb246Omhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLXsKLSAgICBpZiAobV9i
b3ggJiYgbV9ib3gtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpCi0gICAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3ZhbHVlcy5zaXplKCk7ICsraSkgewot
ICAgICAgICBpZiAobV92YWx1ZXMuYXQoaSktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZW5k
aWYKLQogc3RhdGljIFN0cmluZyBidWlsZEluc2V0UmVjdGFuZ2xlU3RyaW5nKGNvbnN0IFN0cmlu
ZyYgdG9wLCBjb25zdCBTdHJpbmcmIHJpZ2h0LCBjb25zdCBTdHJpbmcmIGJvdHRvbSwgY29uc3Qg
U3RyaW5nJiBsZWZ0LCBjb25zdCBTdHJpbmcmIHJhZGl1c1gsIGNvbnN0IFN0cmluZyYgcmFkaXVz
WSwgY29uc3QgU3RyaW5nJiBib3gpCiB7CiAgICAgY2hhciBvcGVuaW5nW10gPSAiaW5zZXQtcmVj
dGFuZ2xlKCI7CkBAIC00NTMsMjkgKzM0NSw1IEBAIGJvb2wgQ1NTQmFzaWNTaGFwZUluc2V0UmVj
dGFuZ2xlOjplcXVhbHMKICAgICAgICAgJiYgY29tcGFyZUNTU1ZhbHVlUHRyKG1fYm94LCBvdGhl
ci5tX2JveCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLVN0cmluZyBDU1NCYXNp
Y1NoYXBlSW5zZXRSZWN0YW5nbGU6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBI
YXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIHJl
dHVybiBidWlsZEluc2V0UmVjdGFuZ2xlU3RyaW5nKG1fdG9wLT5zZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV9yaWdodC0+c2VyaWFsaXplUmVzb2x2aW5n
VmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgIG1fYm90dG9tLT5zZXJpYWxpemVSZXNvbHZp
bmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV9sZWZ0LT5zZXJpYWxpemVSZXNvbHZp
bmdWYXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgbV9yYWRpdXNYLmdldCgpID8gbV9yYWRp
dXNYLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSA6IFN0cmluZygpLAot
ICAgICAgICBtX3JhZGl1c1kuZ2V0KCkgPyBtX3JhZGl1c1ktPnNlcmlhbGl6ZVJlc29sdmluZ1Zh
cmlhYmxlcyh2YXJpYWJsZXMpIDogU3RyaW5nKCksCi0gICAgICAgIG1fYm94ID8gbV9ib3gtPnNl
cmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpIDogU3RyaW5nKCkpOwotfQotCi1i
b29sIENTU0Jhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6aGFzVmFyaWFibGVSZWZlcmVuY2UoKSBj
b25zdAotewotICAgIHJldHVybiBtX3RvcC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAg
ICB8fCBtX3JpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fYm90dG9t
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgIHx8IG1fbGVmdC0+aGFzVmFyaWFibGVS
ZWZlcmVuY2UoKQotICAgICAgICB8fCAobV9yYWRpdXNYLmdldCgpICYmIG1fcmFkaXVzWC0+aGFz
VmFyaWFibGVSZWZlcmVuY2UoKSkKLSAgICAgICAgfHwgKG1fcmFkaXVzWS5nZXQoKSAmJiBtX3Jh
ZGl1c1ktPmhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpCi0gICAgICAgIHx8IChtX2JveCAmJiBtX2Jv
eC0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKSk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuaAkocmV2aXNpb24g
MTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jhc2ljU2hhcGVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU2LDExICs1Niw2IEBAIHB1YmxpYzoKICAgICBDU1NQcmltaXRpdmVWYWx1ZSog
Ym94KCkgY29uc3QgeyByZXR1cm4gbV9ib3guZ2V0KCk7IH0KICAgICB2b2lkIHNldEJveChQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBib3gpIHsgbV9ib3ggPSBib3g7IH0KIAotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0ID0g
MDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdCA9IDA7Ci0j
ZW5kaWYKLQogcHVibGljOgogICAgIHZpcnR1YWwgfkNTU0Jhc2ljU2hhcGUoKSB7IH0KIApAQCAt
OTEsMTEgKzg2LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZXF1YWxzKGNvbnN0IENTU0Jhc2ljU2hhcGUm
KSBjb25zdCBPVkVSUklERTsKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZpcnR1
YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBoYXNWYXJpYWJsZVJl
ZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgQ1NTQmFzaWNTaGFwZVJl
Y3RhbmdsZSgpIHsgfQogCkBAIC0xMjksMTEgKzExOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGVxdWFs
cyhjb25zdCBDU1NCYXNpY1NoYXBlJikgY29uc3QgT1ZFUlJJREU7CiAKLSNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJs
ZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdDsKLSNlbmRpZgotCiBwcml2YXRl
OgogICAgIENTU0Jhc2ljU2hhcGVJbnNldFJlY3RhbmdsZSgpIHsgfQogCkBAIC0xNjEsMTEgKzE0
Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENlbnRlclkoUGFzc1JlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gY2VudGVyWSkgeyBtX2NlbnRlclkgPSBjZW50ZXJZOyB9CiAgICAgdm9pZCBzZXRS
YWRpdXMoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gcmFkaXVzKSB7IG1fcmFkaXVzID0g
cmFkaXVzOyB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmlu
ZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcs
IFN0cmluZz4mKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2Uo
KSBjb25zdDsKLSNlbmRpZgotCiBwcml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVDaXJjbGUoKSB7
IH0KIApAQCAtMTkwLDExICsxNzAsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3Nz
VGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgQ1NT
QmFzaWNTaGFwZSYpIGNvbnN0IE9WRVJSSURFOwogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGhh
c1ZhcmlhYmxlUmVmZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBDU1NE
ZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZSgpIHsgfQogCkBAIC0yMjEsMTEgKzE5Niw2IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NCYXNpY1NoYXBlJikgY29uc3QgT1ZFUlJJREU7
CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxp
emVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4m
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdDsK
LSNlbmRpZgotCiBwcml2YXRlOgogICAgIENTU0Jhc2ljU2hhcGVFbGxpcHNlKCkgeyB9CiAKQEAg
LTI1NSwxMCArMjI1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gQ1NTQmFzaWNTaGFwZVBvbHlnb25UeXBlOyB9CiAgICAgdmlydHVh
bCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBlcXVh
bHMoY29uc3QgQ1NTQmFzaWNTaGFwZSYpIGNvbnN0IE9WRVJSSURFOwotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgIHZpcnR1YWwgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotICAgIHZpcnR1
YWwgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCiAKIHByaXZhdGU6
CiAgICAgQ1NTQmFzaWNTaGFwZVBvbHlnb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDYWxjdWxhdGlvblZhbHVlLmNwcAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCwxMCAr
NzAsNiBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSB1bml0Q2F0ZWdvcnkoCiAgICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0NIUzoKICAgICAgICAgcmV0dXJuIENhbGNMZW5ndGg7Ci0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU6
Ci0gICAgICAgIHJldHVybiBDYWxjVmFyaWFibGU7Ci0jZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gQ2FsY090aGVyOwogICAgIH0KQEAgLTEzMiw5ICsxMjgsNiBAQCBzdGF0aWMg
Ym9vbCBoYXNEb3VibGVWYWx1ZShDU1NQcmltaXRpdmVWCiAgICAgY2FzZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0NBTEM6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVS
Q0VOVEFHRV9XSVRIX05VTUJFUjoKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FM
Q19QRVJDRU5UQUdFX1dJVEhfTEVOR1RIOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FOgotI2VuZGlmCiAgICAg
Y2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BST1BFUlRZX0lEOgogICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19WQUxVRV9JRDoKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQp
CkBAIC0xNjksMTggKzE2Miw2IEBAIGJvb2wgQ1NTQ2FsY1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NT
Q2FsY1YKICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlUHRyKG1fZXhwcmVzc2lvbiwgb3RoZXIu
bV9leHByZXNzaW9uKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENT
U0NhbGNWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hN
YXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGJ1aWxkQ3NzVGV4dChtX2V4cHJlc3Npb24tPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2
YXJpYWJsZXMpKTsKLX0KLQotYm9vbCBDU1NDYWxjVmFsdWU6Omhhc1ZhcmlhYmxlUmVmZXJlbmNl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9leHByZXNzaW9uLT5oYXNWYXJpYWJsZVJlZmVyZW5j
ZSgpOwotfQotI2VuZGlmCi0KIGRvdWJsZSBDU1NDYWxjVmFsdWU6OmNsYW1wVG9QZXJtaXR0ZWRS
YW5nZShkb3VibGUgdmFsdWUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbm9uTmVnYXRpdmUgJiYg
dmFsdWUgPCAwID8gMCA6IHZhbHVlOwpAQCAtMjI2LDE4ICsyMDcsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCi0gICAgdmlydHVhbCBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVz
KGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0g
ICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFy
aWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgfQotCi0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxl
UmVmZXJlbmNlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLT5pc1Zhcmlh
YmxlTmFtZSgpOwotICAgIH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNF
eHByZXNzaW9uTm9kZT4gdG9DYWxjVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKICAgICB7CiAgICAg
ICAgIHN3aXRjaCAobV9jYXRlZ29yeSkgewpAQCAtMjU1LDkgKzIyNCw2IEBAIHB1YmxpYzoKICAg
ICAgICAgLy8gT25seSB0eXBlcyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYSBMZW5ndGggZXhwcmVz
c2lvbiBjYW4gYmUgY29udmVydGVkCiAgICAgICAgIC8vIHRvIGEgQ2FsY0V4cHJlc3Npb25Ob2Rl
LiBDYWxjUGVyY2VudE51bWJlciBtYWtlcyBubyBzZW5zZSBhcyBhIExlbmd0aC4KICAgICAgICAg
Y2FzZSBDYWxjUGVyY2VudE51bWJlcjoKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAg
ICAgY2FzZSBDYWxjVmFyaWFibGU6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBDYWxjT3RoZXI6CiAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQpAQCAtMjgyLDkgKzI0
OCw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1
ZSgpOwogICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TnVtYmVyOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENh
bGNWYXJpYWJsZToKLSNlbmRpZgogICAgICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zMzQsMTEgKzI5
Nyw2IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IGRldGVybWluZUNhdGUKICAgICBpZiAo
bGVmdENhdGVnb3J5ID09IENhbGNPdGhlciB8fCByaWdodENhdGVnb3J5ID09IENhbGNPdGhlcikK
ICAgICAgICAgcmV0dXJuIENhbGNPdGhlcjsKIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY1ZhcmlhYmxlIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0g
Q2FsY1ZhcmlhYmxlKQotICAgICAgICByZXR1cm4gQ2FsY1ZhcmlhYmxlOwotI2VuZGlmCi0KICAg
ICBzd2l0Y2ggKG9wKSB7CiAgICAgY2FzZSBDYWxjQWRkOgogICAgIGNhc2UgQ2FsY1N1YnRyYWN0
OgpAQCAtNDgzLDE3ICs0NDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBidWlsZENzc1Rl
eHQobV9sZWZ0U2lkZS0+Y3VzdG9tQ1NTVGV4dCgpLCBtX3JpZ2h0U2lkZS0+Y3VzdG9tQ1NTVGV4
dCgpLCBtX29wZXJhdG9yKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICB2aXJ0dWFsIFN0cmluZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1h
cDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLSAgICB7Ci0gICAgICAg
IHJldHVybiBidWlsZENzc1RleHQobV9sZWZ0U2lkZS0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFi
bGVzKHZhcmlhYmxlcyksIG1fcmlnaHRTaWRlLT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
dmFyaWFibGVzKSwgbV9vcGVyYXRvcik7Ci0gICAgfQotCi0gICAgdmlydHVhbCBib29sIGhhc1Zh
cmlhYmxlUmVmZXJlbmNlKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2xlZnRTaWRl
LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpIHx8IG1fcmlnaHRTaWRlLT5oYXNWYXJpYWJsZVJlZmVy
ZW5jZSgpOwotICAgIH0KLSNlbmRpZgogCiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBD
U1NDYWxjRXhwcmVzc2lvbk5vZGUmIGV4cCkgY29uc3QKICAgICB7CkBAIC01MjcsMTAgKzQ3NCw2
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXR1cm4gbGVmdFR5cGU7CiAgICAgICAgICAg
ICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VTktOT1dOOwogICAgICAgICB9Ci0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIGNhc2UgQ2FsY1ZhcmlhYmxlOgotICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVkFSSUFCTEVfTkFNRTsKLSNlbmRp
ZgogICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAgICAgICBjYXNlIENhbGNQZXJj
ZW50TnVtYmVyOgogICAgICAgICBjYXNlIENhbGNPdGhlcjoKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsOSAr
NTQsNiBAQCBlbnVtIENhbGN1bGF0aW9uQ2F0ZWdvcnkgewogICAgIENhbGNQZXJjZW50LAogICAg
IENhbGNQZXJjZW50TnVtYmVyLAogICAgIENhbGNQZXJjZW50TGVuZ3RoLAotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotICAgIENhbGNWYXJpYWJsZSwKLSNlbmRpZgogICAgIENhbGNPdGhlcgog
fTsKIApAQCAtNzMsMTAgKzcwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91YmxlIGRvdWJs
ZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChj
b25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEuMCwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSA9IGZh
bHNlKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0
ID0gMDsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2aXJ0dWFsIFN0cmluZyBzZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmlu
Zz4mKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkg
Y29uc3QgPSAwOwotI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBDU1NDYWxj
RXhwcmVzc2lvbk5vZGUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX2NhdGVnb3J5ID09IG90aGVy
Lm1fY2F0ZWdvcnkgJiYgbV9pc0ludGVnZXIgPT0gb3RoZXIubV9pc0ludGVnZXI7IH0KICAgICB2
aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKIApAQCAtMTIwLDEwICsxMTMsNiBAQCBwdWJs
aWM6CiAKICAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogICAgIGJvb2wgZXF1YWxz
KGNvbnN0IENTU0NhbGNWYWx1ZSYpIGNvbnN0OwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIFN0cmluZyBjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1h
cDxBdG9taWNTdHJpbmcsIFN0cmluZz4mKSBjb25zdDsKLSAgICBib29sIGhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCkgY29uc3Q7Ci0jZW5kaWYKIAogcHJpdmF0ZToKICAgICBDU1NDYWxjVmFsdWUoUGFz
c1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGV4cHJlc3Npb24sIENhbGN1bGF0aW9uUGVy
bWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCShyZXZpc2lvbiAxNTk4MzgpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTc4OCw5ICsxNzg4LDYgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0
ZWRTdHlsZUV4dHJhYwogCiAgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlJbnZhbGlkOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBj
YXNlIENTU1Byb3BlcnR5VmFyaWFibGU6Ci0jZW5kaWYKICAgICAgICAgICAgIGJyZWFrOwogCiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3I6CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkuaW4JKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NHcmFtbWFyLnkuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDYgQEAgc3RhdGlj
IGlubGluZSBib29sIGlzQ1NTVG9rZW5BU3RyaW5nKGludAogICAgIGNhc2UgQ0FMQ0ZVTkNUSU9O
OgogICAgIGNhc2UgTUlORlVOQ1RJT046CiAgICAgY2FzZSBNQVhGVU5DVElPTjoKLSAgICBjYXNl
IFZBUl9ERUZJTklUSU9OOgogICAgIGNhc2UgVU5JQ09ERVJBTkdFOgogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICBkZWZhdWx0OgpAQCAtNzIsOSArNzEsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNDU1NUb2tlbkFTdHJpbmcoaW50CiAlfQogCiAjaWYgRU5BQkxFX1NIQURPV19ET00KLSVleHBl
Y3QgMzEKLSNlbHNlCiAlZXhwZWN0IDMwCisjZWxzZQorJWV4cGVjdCAyOQogI2VuZGlmCiAKICVu
b25hc3NvYyBMT1dFU1RfUFJFQwpAQCAtMTA5LDcgKzEwOCw2IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc0NTU1Rva2VuQVN0cmluZyhpbnQKICV0b2tlbiBGT05UX0ZBQ0VfU1lNCiAldG9rZW4gQ0hB
UlNFVF9TWU0KICV0b2tlbiBOQU1FU1BBQ0VfU1lNCi0ldG9rZW4gVkFSRlVOQ1RJT04KICV0b2tl
biBXRUJLSVRfUlVMRV9TWU0KICV0b2tlbiBXRUJLSVRfREVDTFNfU1lNCiAldG9rZW4gV0VCS0lU
X0tFWUZSQU1FX1JVTEVfU1lNCkBAIC0xODMsNyArMTgxLDYgQEAgc3RhdGljIGlubGluZSBib29s
IGlzQ1NTVG9rZW5BU3RyaW5nKGludAogJXRva2VuIDxzdHJpbmc+IENBTENGVU5DVElPTgogJXRv
a2VuIDxzdHJpbmc+IE1JTkZVTkNUSU9OCiAldG9rZW4gPHN0cmluZz4gTUFYRlVOQ1RJT04KLSV0
b2tlbiA8c3RyaW5nPiBWQVJfREVGSU5JVElPTgogCiAldG9rZW4gPHN0cmluZz4gVU5JQ09ERVJB
TkdFCiAKQEAgLTEzOTIsMTcgKzEzODksNyBAQCBkZWNsX2xpc3RfcmVjb3Zlcnk6CiAgICAgOwog
CiBkZWNsYXJhdGlvbjoKLSAgICBWQVJfREVGSU5JVElPTiBtYXliZV9zcGFjZSAnOicgbWF5YmVf
c3BhY2UgZXhwciBwcmlvcml0eSB7Ci0jaWYgRU5BQkxFX0NTU19WQVJJQUJMRVMKLSAgICAgICAg
cGFyc2VyLT5zdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24oJDEsIGFkb3B0UHRyKCQ1KSwgJDYpOwot
ICAgICAgICAkJCA9IHRydWU7Ci0gICAgICAgIHBhcnNlci0+bWFya1Byb3BlcnR5RW5kKCQ2LCB0
cnVlKTsKLSNlbHNlCi0gICAgICAgIGRlbGV0ZSAkNTsKLSAgICAgICAgJCQgPSBmYWxzZTsKLSNl
bmRpZgotICAgIH0KLSAgICB8IHByb3BlcnR5ICc6JyBtYXliZV9zcGFjZSBleHByIHByaW9yaXR5
IHsKKyAgICBwcm9wZXJ0eSAnOicgbWF5YmVfc3BhY2UgZXhwciBwcmlvcml0eSB7CiAgICAgICAg
ICQkID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCA9IGZhbHNlOwogICAg
ICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0PiBwcm9wZXJ0eVZhbHVlID0gYWRvcHRQdHIo
JDQpOwpAQCAtMTQ4NiwxNiArMTQ3Myw2IEBAIHRlcm06CiAgIHwgVU5JQ09ERVJBTkdFIG1heWJl
X3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7ICQkLnN0cmluZyA9ICQxOyAkJC51bml0
ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VTklDT0RFX1JBTkdFOyB9CiAgIHwgSEVYIG1heWJl
X3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7ICQkLnN0cmluZyA9ICQxOyAkJC51bml0
ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I7IH0KICAgfCAnIycgbWF5
YmVfc3BhY2UgeyAkJC5pZCA9IENTU1ZhbHVlSW52YWxpZDsgJCQuc3RyaW5nID0gQ1NTUGFyc2Vy
U3RyaW5nKCk7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9IRVhDT0xP
UjsgfSAvKiBIYW5kbGUgZXJyb3IgY2FzZTogImNvbG9yOiAjOyIgKi8KLSAgfCBWQVJGVU5DVElP
TiBtYXliZV9zcGFjZSBJREVOVCBjbG9zaW5nX3BhcmVudGhlc2lzIG1heWJlX3NwYWNlIHsKLSNp
ZiBFTkFCTEVfQ1NTX1ZBUklBQkxFUwotICAgICAgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7Ci0g
ICAgICAkJC5zdHJpbmcgPSAkMzsKLSAgICAgICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1ZBUklBQkxFX05BTUU7Ci0jZWxzZQotICAgICAgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7
Ci0gICAgICAkJC51bml0ID0gMDsKLSNlbmRpZgotICB9CiAgIC8qIEZJWE1FOiBhY2NvcmRpbmcg
dG8gdGhlIHNwZWNzIGEgZnVuY3Rpb24gY2FuIGhhdmUgYSB1bmFyeV9vcGVyYXRvciBpbiBmcm9u
dC4gSSBrbm93IG5vIGNhc2Ugd2hlcmUgdGhpcyBtYWtlcyBzZW5zZSAqLwogICB8IGZ1bmN0aW9u
IG1heWJlX3NwYWNlCiAgIHwgY2FsY19mdW5jdGlvbiBtYXliZV9zcGFjZQpAQCAtMTU3MywxNiAr
MTU1MCw2IEBAIGZ1bmN0aW9uOgogCiBjYWxjX2Z1bmNfdGVybToKICAgdW5hcnlfdGVybQotICB8
IFZBUkZVTkNUSU9OIG1heWJlX3NwYWNlIElERU5UIGNsb3NpbmdfcGFyZW50aGVzaXMgewotI2lm
IEVOQUJMRV9DU1NfVkFSSUFCTEVTCi0gICAgICAkJC5pZCA9IENTU1ZhbHVlSW52YWxpZDsKLSAg
ICAgICQkLnN0cmluZyA9ICQzOwotICAgICAgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfVkFSSUFCTEVfTkFNRTsKLSNlbHNlCi0gICAgICAkJC5pZCA9IENTU1ZhbHVlSW52YWxpZDsK
LSAgICAgICQkLnVuaXQgPSAwOwotI2VuZGlmCi0gIH0KICAgfCB1bmFyeV9vcGVyYXRvciB1bmFy
eV90ZXJtIHsgJCQgPSAkMjsgJCQuZlZhbHVlICo9ICQxOyB9CiAgIDsKIApAQCAtMTczMiw3ICsx
Njk5LDcgQEAgaW52YWxpZF9zcXVhcmVfYnJhY2tldHNfYmxvY2s6ICdbJyBlcnJvcgogaW52YWxp
ZF9wYXJlbnRoZXNlc19ibG9jazogb3BlbmluZ19wYXJlbnRoZXNpcyBlcnJvcl9yZWNvdmVyeSBj
bG9zaW5nX3BhcmVudGhlc2lzOwogCiBvcGVuaW5nX3BhcmVudGhlc2lzOgotICAgICcoJyB8IEZV
TkNUSU9OIHwgQ0FMQ0ZVTkNUSU9OIHwgVkFSRlVOQ1RJT04gfCBNSU5GVU5DVElPTiB8IE1BWEZV
TkNUSU9OIHwgQU5ZRlVOQ1RJT04gfCBOT1RGVU5DVElPTgorICAgICcoJyB8IEZVTkNUSU9OIHwg
Q0FMQ0ZVTkNUSU9OIHwgTUlORlVOQ1RJT04gfCBNQVhGVU5DVElPTiB8IEFOWUZVTkNUSU9OIHwg
Tk9URlVOQ1RJT04KICNpZiBFTkFCTEVfVklERU9fVFJBQ0sKICAgICB8IENVRUZVTkNUSU9OCiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAxNTk4MzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcs
MTAgKzk3LDYgQEAKICNpbmNsdWRlICJDU1NJbWFnZVNldFZhbHVlLmgiCiAjZW5kaWYKIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNl
bmRpZgotCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogI2luY2x1ZGUgIldlYktpdENTU0ZpbHRl
clZhbHVlLmgiCiAjaWYgRU5BQkxFKFNWRykKQEAgLTI2NCw5ICsyNjAsNiBAQCBDU1NQYXJzZXJD
b250ZXh0OjpDU1NQYXJzZXJDb250ZXh0KENTU1BhCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVk
KGZhbHNlKQogICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NT
U0dyaWRMYXlvdXRFbmFibGVkKGZhbHNlKQotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAg
ICwgaXNDU1NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQotI2VuZGlmCiAgICAgLCBuZWVkc1NpdGVT
cGVjaWZpY1F1aXJrcyhmYWxzZSkKICAgICAsIGVuZm9yY2VzQ1NTTUlNRVR5cGVJbk5vUXVpcmtz
TW9kZSh0cnVlKQogICAgICwgdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlv
cihmYWxzZSkKQEAgLTI4Myw5ICsyNzYsNiBAQCBDU1NQYXJzZXJDb250ZXh0OjpDU1NQYXJzZXJD
b250ZXh0KERvY3VtCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGRvY3VtZW50LmNzc1JlZ2lv
bnNFbmFibGVkKCkpCiAgICAgLCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZChkb2N1bWVudC5jc3ND
b21wb3NpdGluZ0VuYWJsZWQoKSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZG9jdW1l
bnQuY3NzR3JpZExheW91dEVuYWJsZWQoKSkKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAg
ICAsIGlzQ1NTVmFyaWFibGVzRW5hYmxlZChkb2N1bWVudC5zZXR0aW5ncygpID8gZG9jdW1lbnQu
c2V0dGluZ3MoKS0+Y3NzVmFyaWFibGVzRW5hYmxlZCgpIDogZmFsc2UpCi0jZW5kaWYKICAgICAs
IG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGRvY3VtZW50LnNldHRpbmdzKCkgPyBkb2N1bWVudC5z
ZXR0aW5ncygpLT5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIDogZmFsc2UpCiAgICAgLCBlbmZv
cmNlc0NTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoIWRvY3VtZW50LnNldHRpbmdzKCkgfHwgZG9j
dW1lbnQuc2V0dGluZ3MoKS0+ZW5mb3JjZUNTU01JTUVUeXBlSW5Ob1F1aXJrc01vZGUoKSkKICAg
ICAsIHVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IoZG9jdW1lbnQuc2V0
dGluZ3MoKSA/IGRvY3VtZW50LnNldHRpbmdzKCktPnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hv
cnRoYW5kQmVoYXZpb3IoKSA6IGZhbHNlKQpAQCAtMzAzLDkgKzI5Myw2IEBAIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBDU1NQYXJzZXJDb250ZXh0JiAKICAgICAgICAgJiYgYS5pc0NTU1JlZ2lvbnNF
bmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTQ29tcG9z
aXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQKICAgICAgICAgJiYgYS5p
c0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZAotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAmJiBhLmlzQ1NTVmFyaWFibGVzRW5hYmxlZCA9
PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZAotI2VuZGlmCiAgICAgICAgICYmIGEubmVlZHNTaXRl
U3BlY2lmaWNRdWlya3MgPT0gYi5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcwogICAgICAgICAmJiBh
LmVuZm9yY2VzQ1NTTUlNRVR5cGVJbk5vUXVpcmtzTW9kZSA9PSBiLmVuZm9yY2VzQ1NTTUlNRVR5
cGVJbk5vUXVpcmtzTW9kZQogICAgICAgICAmJiBhLnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hv
cnRoYW5kQmVoYXZpb3IgPT0gYi51c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2
aW9yOwpAQCAtMzkxLDE3ICszNzgsNiBAQCB2b2lkIENTU1BhcnNlclN0cmluZzo6bG93ZXIoKQog
ICAgIG1ha2VMb3dlcihjaGFyYWN0ZXJzMTYoKSwgY2hhcmFjdGVyczE2KCksIGxlbmd0aCgpKTsK
IH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotQXRvbWljU3RyaW5nIENTU1BhcnNlclN0
cmluZzo6c3Vic3RyaW5nKHVuc2lnbmVkIHBvc2l0aW9uLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0
Ci17Ci0gICAgQVNTRVJUKG1fbGVuZ3RoID49IHBvc2l0aW9uICsgbGVuZ3RoKTsKLQotICAgIGlm
IChpczhCaXQoKSkKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZyhjaGFyYWN0ZXJzOCgpICsg
cG9zaXRpb24sIGxlbmd0aCk7Ci0gICAgcmV0dXJuIEF0b21pY1N0cmluZyhjaGFyYWN0ZXJzMTYo
KSArIHBvc2l0aW9uLCBsZW5ndGgpOwotfQotI2VuZGlmCi0KIHZvaWQgQ1NTUGFyc2VyOjpzZXR1
cFBhcnNlcihjb25zdCBjaGFyKiBwcmVmaXgsIHVuc2lnbmVkIHByZWZpeExlbmd0aCwgY29uc3Qg
U3RyaW5nJiBzdHJpbmcsIGNvbnN0IGNoYXIqIHN1ZmZpeCwgdW5zaWduZWQgc3VmZml4TGVuZ3Ro
KQogewogICAgIG1fcGFyc2VkVGV4dFByZWZpeExlbmd0aCA9IHByZWZpeExlbmd0aDsKQEAgLTEz
MTIsMjUgKzEyODgsNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJz
CiAgICAgcmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8Q1NTVmFsdWVMaXN0Pihmb250RmFtaWx5
LnJlbGVhc2UoKSk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLWJvb2wgQ1NTUGFy
c2VyOjpwYXJzZVZhbHVlKE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiBkZWNsYXJhdGlvbiwgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBpbXBvcnRh
bnQsIERvY3VtZW50JiBkb2N1bWVudCkKLXsKLSAgICBBU1NFUlQoIXN0cmluZy5pc0VtcHR5KCkp
OwotCi0gICAgQ1NTUGFyc2VyQ29udGV4dCBjb250ZXh0KGRvY3VtZW50KTsKLQotICAgIGlmIChw
YXJzZVNpbXBsZUxlbmd0aFZhbHVlKGRlY2xhcmF0aW9uLCBwcm9wZXJ0eUlELCBzdHJpbmcsIGlt
cG9ydGFudCwgY29udGV4dC5tb2RlKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKHBh
cnNlQ29sb3JWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgc3RyaW5nLCBpbXBvcnRhbnQs
IGNvbnRleHQubW9kZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmIChwYXJzZUtleXdv
cmRWYWx1ZShkZWNsYXJhdGlvbiwgcHJvcGVydHlJRCwgc3RyaW5nLCBpbXBvcnRhbnQsIGNvbnRl
eHQpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIENTU1BhcnNlciBwYXJzZXIoY29udGV4
dCk7Ci0gICAgcmV0dXJuIHBhcnNlci5wYXJzZVZhbHVlKGRlY2xhcmF0aW9uLCBwcm9wZXJ0eUlE
LCBzdHJpbmcsIGltcG9ydGFudCwgc3RhdGljX2Nhc3Q8U3R5bGVTaGVldENvbnRlbnRzKj4oMCkp
OwotfQotI2VuZGlmCi0KIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKE11dGFibGVTdHlsZVBy
b3BlcnR5U2V0KiBkZWNsYXJhdGlvbiwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBT
dHJpbmcmIHN0cmluZywgYm9vbCBpbXBvcnRhbnQsIENTU1BhcnNlck1vZGUgY3NzUGFyc2VyTW9k
ZSwgU3R5bGVTaGVldENvbnRlbnRzKiBjb250ZXh0U3R5bGVTaGVldCkKIHsKICAgICBBU1NFUlQo
IXN0cmluZy5pc0VtcHR5KCkpOwpAQCAtMTUyMiwyNyArMTQ3OSwxMyBAQCBQYXNzT3duUHRyPE1l
ZGlhUXVlcnk+IENTU1BhcnNlcjo6cGFyc2VNCiAgICAgcmV0dXJuIG1fbWVkaWFRdWVyeS5yZWxl
YXNlKCk7CiB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLXN0YXRpYyBpbmxpbmUgdm9p
ZCBmaWx0ZXJQcm9wZXJ0aWVzKGJvb2wgaW1wb3J0YW50LCBjb25zdCBDU1NQYXJzZXI6OlBhcnNl
ZFByb3BlcnR5VmVjdG9yJiBpbnB1dCwgVmVjdG9yPENTU1Byb3BlcnR5LCAyNTY+JiBvdXRwdXQs
IHNpemVfdCYgdW51c2VkRW50cmllcywgQml0QXJyYXk8bnVtQ1NTUHJvcGVydGllcz4mIHNlZW5Q
cm9wZXJ0aWVzLCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIHNlZW5WYXJpYWJsZXMpCi0jZWxzZQog
c3RhdGljIGlubGluZSB2b2lkIGZpbHRlclByb3BlcnRpZXMoYm9vbCBpbXBvcnRhbnQsIGNvbnN0
IENTU1BhcnNlcjo6UGFyc2VkUHJvcGVydHlWZWN0b3ImIGlucHV0LCBWZWN0b3I8Q1NTUHJvcGVy
dHksIDI1Nj4mIG91dHB1dCwgc2l6ZV90JiB1bnVzZWRFbnRyaWVzLCBCaXRBcnJheTxudW1DU1NQ
cm9wZXJ0aWVzPiYgc2VlblByb3BlcnRpZXMpCi0jZW5kaWYKIHsKICAgICAvLyBBZGQgcHJvcGVy
dGllcyBpbiByZXZlcnNlIG9yZGVyIHNvIHRoYXQgaGlnaGVzdCBwcmlvcml0eSBkZWZpbml0aW9u
cyBhcmUgcmVhY2hlZCBmaXJzdC4gRHVwbGljYXRlIGRlZmluaXRpb25zIGNhbiB0aGVuIGJlIGln
bm9yZWQgd2hlbiBmb3VuZC4KICAgICBmb3IgKGludCBpID0gaW5wdXQuc2l6ZSgpIC0gMTsgaSA+
PSAwOyAtLWkpIHsKICAgICAgICAgY29uc3QgQ1NTUHJvcGVydHkmIHByb3BlcnR5ID0gaW5wdXRb
aV07CiAgICAgICAgIGlmIChwcm9wZXJ0eS5pc0ltcG9ydGFudCgpICE9IGltcG9ydGFudCkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBp
ZiAocHJvcGVydHkuaWQoKSA9PSBDU1NQcm9wZXJ0eVZhcmlhYmxlKSB7Ci0gICAgICAgICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSB0b0NTU1ZhcmlhYmxlVmFsdWUocHJvcGVydHkudmFs
dWUoKSktPm5hbWUoKTsKLSAgICAgICAgICAgIGlmIChzZWVuVmFyaWFibGVzLmNvbnRhaW5zKG5h
bWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgc2VlblZhcmlhYmxl
cy5hZGQobmFtZSk7Ci0gICAgICAgICAgICBvdXRwdXRbLS11bnVzZWRFbnRyaWVzXSA9IHByb3Bl
cnR5OwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgICAgICBj
b25zdCB1bnNpZ25lZCBwcm9wZXJ0eUlESW5kZXggPSBwcm9wZXJ0eS5pZCgpIC0gZmlyc3RDU1NQ
cm9wZXJ0eTsKICAgICAgICAgaWYgKHNlZW5Qcm9wZXJ0aWVzLmdldChwcm9wZXJ0eUlESW5kZXgp
KQogICAgICAgICAgICAgY29udGludWU7CkBAIC0xNTU4LDE0ICsxNTAxLDggQEAgUGFzc1JlZjxJ
bW11dGFibGVTdHlsZVByb3BlcnR5U2V0PiBDU1NQYQogICAgIFZlY3RvcjxDU1NQcm9wZXJ0eSwg
MjU2PiByZXN1bHRzKHVudXNlZEVudHJpZXMpOwogCiAgICAgLy8gSW1wb3J0YW50IHByb3BlcnRp
ZXMgaGF2ZSBoaWdoZXIgcHJpb3JpdHksIHNvIGFkZCB0aGVtIGZpcnN0LiBEdXBsaWNhdGUgZGVm
aW5pdGlvbnMgY2FuIHRoZW4gYmUgaWdub3JlZCB3aGVuIGZvdW5kLgotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nPiBzZWVuVmFyaWFibGVzOwotICAg
IGZpbHRlclByb3BlcnRpZXModHJ1ZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1bnVz
ZWRFbnRyaWVzLCBzZWVuUHJvcGVydGllcywgc2VlblZhcmlhYmxlcyk7Ci0gICAgZmlsdGVyUHJv
cGVydGllcyhmYWxzZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1bnVzZWRFbnRyaWVz
LCBzZWVuUHJvcGVydGllcywgc2VlblZhcmlhYmxlcyk7Ci0jZWxzZQogICAgIGZpbHRlclByb3Bl
cnRpZXModHJ1ZSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCByZXN1bHRzLCB1bnVzZWRFbnRyaWVzLCBz
ZWVuUHJvcGVydGllcyk7CiAgICAgZmlsdGVyUHJvcGVydGllcyhmYWxzZSwgbV9wYXJzZWRQcm9w
ZXJ0aWVzLCByZXN1bHRzLCB1bnVzZWRFbnRyaWVzLCBzZWVuUHJvcGVydGllcyk7Ci0jZW5kaWYK
ICAgICBpZiAodW51c2VkRW50cmllcykKICAgICAgICAgcmVzdWx0cy5yZW1vdmUoMCwgdW51c2Vk
RW50cmllcyk7CiAKQEAgLTE1OTMsMTEgKzE1MzAsNyBAQCB2b2lkIENTU1BhcnNlcjo6YWRkUHJv
cGVydHlXaXRoUHJlZml4aW5nCiB2b2lkIENTU1BhcnNlcjo6YWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlJRCBwcm9wSWQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlLCBib29sIGltcG9ydGFudCwg
Ym9vbCBpbXBsaWNpdCkKIHsKICAgICAvLyBUaGlzIHByb3BlcnR5IGRvZXNuJ3QgYmVsb25nIHRv
IGEgc2hvcnRoYW5kIG9yIGlzIGEgQ1NTIHZhcmlhYmxlICh3aGljaCB3aWxsIGJlIHJlc29sdmVk
IGxhdGVyKS4KLSAgICBpZiAoIW1fY3VycmVudFNob3J0aGFuZAotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgICAgICB8fCAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSAmJiB0b0NTU1By
aW1pdGl2ZVZhbHVlKHZhbHVlLmdldCgpKS0+aXNWYXJpYWJsZU5hbWUoKSkKLSNlbmRpZgotICAg
ICAgICApIHsKKyAgICBpZiAoIW1fY3VycmVudFNob3J0aGFuZCkgewogICAgICAgICBtX3BhcnNl
ZFByb3BlcnRpZXMuYXBwZW5kKENTU1Byb3BlcnR5KHByb3BJZCwgdmFsdWUsIGltcG9ydGFudCwg
ZmFsc2UsIENTU1Byb3BlcnR5SW52YWxpZCwgbV9pbXBsaWNpdFNob3J0aGFuZCB8fCBpbXBsaWNp
dCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTY2NywxMSArMTYwMCw2IEBAIGJvb2wg
Q1NTUGFyc2VyOjp2YWxpZENhbGN1bGF0aW9uVW5pdChDU1MKICAgICBjYXNlIENhbGNQZXJjZW50
TnVtYmVyOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KSAmJiAodW5pdGZsYWdz
ICYgRk51bWJlcik7CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIGNhc2UgQ2FsY1ZhcmlhYmxlOgotICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7
Ci0jZW5kaWYKICAgICBjYXNlIENhbGNPdGhlcjoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAt
MTY5MywxMiArMTYyMSw2IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFs
dWUKICAgICAgICAgCiAgICAgYm9vbCBiID0gZmFsc2U7CiAgICAgc3dpdGNoICh2YWx1ZS0+dW5p
dCkgewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19WQVJJQUJMRV9OQU1FOgotICAgICAgICAvLyBWYXJpYWJsZXMgYXJlIGNoZWNrZWQg
YXQgdGhlIHBvaW50IHRoZXkgYXJlIGRlcmVmZXJlbmNlZCBiZWNhdXNlIHVuaXQgdHlwZSBpcyBu
b3QgYXZhaWxhYmxlIGhlcmUuCi0gICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKLSNl
bmRpZgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6CiAgICAgICAgIGIg
PSAodW5pdGZsYWdzICYgRk51bWJlcik7CiAgICAgICAgIGlmICghYiAmJiBzaG91bGRBY2NlcHRV
bml0TGVzc1ZhbHVlcyh2YWx1ZSwgdW5pdGZsYWdzLCBjc3NQYXJzZXJNb2RlKSkgewpAQCAtMTc2
MSwxMSArMTY4Myw2IEBAIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUK
IAogaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6Y3JlYXRl
UHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKIHsKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAodmFsdWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19WQVJJQUJMRV9OQU1FKQotICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlVmFy
aWFibGVOYW1lVmFsdWUodmFsdWUpOwotI2VuZGlmCi0KICAgICBpZiAobV9wYXJzZWRDYWxjdWxh
dGlvbikgewogICAgICAgICBBU1NFUlQoaXNDYWxjdWxhdGlvbih2YWx1ZSkpOwogICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGN1bGF0aW9uLnJlbGVh
c2UoKSk7CkBAIC0xNzkwLDE0ICsxNzA3LDYgQEAgaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IENTUwogICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZSh2YWx1
ZS0+c3RyaW5nLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyk7CiB9CiAKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLWlubGluZSBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBD
U1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKENTU1BhcnNlclZhbHVl
KiB2YWx1ZSkKLXsKLSAgICBBU1NFUlQodmFsdWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19WQVJJQUJMRV9OQU1FKTsKLSAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZSh2YWx1ZS0+c3RyaW5nLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUUpOwot
fQotI2VuZGlmCi0KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0NvbW1hKENTU1BhcnNlclZhbHVlKiB2
YWx1ZSkKIHsgCiAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLT51bml0ID09IENTU1BhcnNlclZh
bHVlOjpPcGVyYXRvciAmJiB2YWx1ZS0+aVZhbHVlID09ICcsJzsgCkBAIC0xODQyLDEwICsxNzUx
LDYgQEAgaW5saW5lIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTUwogICAgIGlmICh2
YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RQUFggJiYgdmFsdWUtPnVuaXQg
PD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19EUENNKQogICAgICAgICByZXR1cm4gY3JlYXRlUHJp
bWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQotICAgIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklB
QkxFX05BTUUpCi0gICAgICAgIHJldHVybiBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1
ZSh2YWx1ZSk7Ci0jZW5kaWYKICAgICBpZiAodmFsdWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6
OlFfRU1TKQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUFsbG93aW5n
TWFyZ2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVMpOwog
ICAgIGlmIChpc0NhbGN1bGF0aW9uKHZhbHVlKSkKQEAgLTE5MDEsMTUgKzE4MDYsNiBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlECiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGlmICghaWQgJiYgdmFs
dWUtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FICYmIG51bSA9
PSAxKSB7Ci0gICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgY3JlYXRlUHJpbWl0aXZlVmFyaWFi
bGVOYW1lVmFsdWUodmFsdWUpLCBpbXBvcnRhbnQpOwotICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4
dCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgQVNTRVJUKHByb3BJZCAhPSBD
U1NQcm9wZXJ0eVZhcmlhYmxlKTsKLSNlbmRpZgotCiAgICAgaWYgKGlzS2V5d29yZFByb3BlcnR5
SUQocHJvcElkKSkgewogICAgICAgICBpZiAoIWlzVmFsaWRLZXl3b3JkUHJvcGVydHlBbmRWYWx1
ZShwcm9wSWQsIGlkLCBtX2NvbnRleHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAt
MzA5OCw5ICsyOTk0LDYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJ
RAogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlUZXh0VW5kZXJsaW5lTW9kZToKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZVN0
eWxlOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTUHJvcGVydHlWYXJp
YWJsZToKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRBcHBlYXJhbmNlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
YWNrZmFjZVZpc2liaWxpdHk6CkBAIC0zMzg4LDM2ICszMjgxLDYgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlRmlsbFNob3J0aGFuZChDU1NQcgogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi1ib29sIENTU1BhcnNlcjo6Y3NzVmFyaWFibGVzRW5hYmxlZCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7Ci19
Ci0KLXZvaWQgQ1NTUGFyc2VyOjpzdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24oY29uc3QgQ1NTUGFy
c2VyU3RyaW5nJiBuYW1lLCBQYXNzT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gdmFsdWUsIGJv
b2wgaW1wb3J0YW50KQotewotICAgIC8vIFdoZW4gQ1NTR3JhbW1hci55IGVuY291bnRlcnMgYW4g
aW52YWxpZCBkZWNsYXJhdGlvbiBpdCBwYXNzZXMgbnVsbCBmb3IgdGhlIENTU1BhcnNlclZhbHVl
TGlzdCwganVzdCBiYWlsLgotICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybjsKLSAgICAK
LSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcHJlZml4TGVuZ3RoID0gc2l6ZW9mKCItd2Via2l0
LXZhci0iKSAtIDE7Ci0gICAgCi0gICAgQVNTRVJUKG5hbWUubGVuZ3RoKCkgPiBwcmVmaXhMZW5n
dGgpOwotICAgIEF0b21pY1N0cmluZyB2YXJpYWJsZU5hbWUgPSBuYW1lLnN1YnN0cmluZyhwcmVm
aXhMZW5ndGgsIG5hbWUubGVuZ3RoKCkgLSBwcmVmaXhMZW5ndGgpOwotCi0gICAgU3RyaW5nQnVp
bGRlciBidWlsZGVyOwotICAgIGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSB2YWx1ZS0+c2l6
ZSgpOyBpIDwgc2l6ZTsgaSsrKSB7Ci0gICAgICAgIGlmIChpKQotICAgICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoJyAnKTsKLSAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiBjc3NWYWx1ZSA9IHZhbHVl
LT52YWx1ZUF0KGkpLT5jcmVhdGVDU1NWYWx1ZSgpOwotICAgICAgICBpZiAoIWNzc1ZhbHVlKQot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBidWlsZGVyLmFwcGVuZChjc3NWYWx1ZS0+Y3Nz
VGV4dCgpKTsKLSAgICB9Ci0gICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlWYXJpYWJsZSwgQ1NT
VmFyaWFibGVWYWx1ZTo6Y3JlYXRlKHZhcmlhYmxlTmFtZSwgYnVpbGRlci50b1N0cmluZygpLmxv
d2VyKCkpLCBpbXBvcnRhbnQsIGZhbHNlKTsKLX0KLSNlbmRpZgotCiB2b2lkIENTU1BhcnNlcjo6
YWRkQW5pbWF0aW9uVmFsdWUoUmVmUHRyPENTU1ZhbHVlPiYgbHZhbCwgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gcnZhbCkKIHsKICAgICBpZiAobHZhbCkgewpAQCAtNzA1NSwxMSArNjkxOCw2IEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QoQ1NTUHJvcGVydHkKICAgICAvLyBEaXJlY3Rpb24g
Y29tZXMgZmlyc3QuCiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJy
ZW50KCk7CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBkaXJlY3Rpb247Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgaWYgKHZhbC0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1ZBUklBQkxFX05BTUUpCi0gICAgICAgIGRpcmVjdGlvbiA9IGNyZWF0ZVByaW1pdGl2
ZVZhcmlhYmxlTmFtZVZhbHVlKHZhbCk7Ci0gICAgZWxzZQotI2VuZGlmCiAgICAgc3dpdGNoICh2
YWwtPmlkKSB7CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVBYm92ZToKICAgICAgICAgY2FzZSBDU1NW
YWx1ZUJlbG93OgpAQCAtMTEyMDQsMTAgKzExMDYyLDYgQEAgaW5saW5lIHZvaWQgQ1NTUGFyc2Vy
OjpkZXRlY3REYXNoVG9rZW4oaQogICAgICAgICAgICAgbV90b2tlbiA9IE1JTkZVTkNUSU9OOwog
ICAgICAgICBlbHNlIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG5hbWVbMTBdLCAneCcp
ICYmIGlzRXF1YWxUb0NTU0lkZW50aWZpZXIobmFtZSArIDEsICJ3ZWJraXQtbWEiKSkKICAgICAg
ICAgICAgIG1fdG9rZW4gPSBNQVhGVU5DVElPTjsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykK
LSAgICAgICAgZWxzZSBpZiAoY3NzVmFyaWFibGVzRW5hYmxlZCgpICYmIGlzQVNDSUlBbHBoYUNh
c2VsZXNzRXF1YWwobmFtZVsxMF0sICdyJykgJiYgaXNFcXVhbFRvQ1NTSWRlbnRpZmllcihuYW1l
ICsgMSwgIndlYmtpdC12YSIpKQotICAgICAgICAgICAgbV90b2tlbiA9IFZBUkZVTkNUSU9OOwot
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChsZW5ndGggPT0gMTIgJiYgaXNFcXVhbFRvQ1NTSWRlbnRp
ZmllcihuYW1lICsgMSwgIndlYmtpdC1jYWxjIikpCiAgICAgICAgIG1fdG9rZW4gPSBDQUxDRlVO
Q1RJT047CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCkBAIC0xMTY1NCwxMSArMTE1MDgsNiBAQCBy
ZXN0YXJ0QWZ0ZXJDb21tZW50OgogICAgICAgICAgICAgcGFyc2VJZGVudGlmaWVyKHJlc3VsdCwg
cmVzdWx0U3RyaW5nLCBoYXNFc2NhcGUpOwogICAgICAgICAgICAgbV90b2tlbiA9IElERU5UOwog
Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgICAgICBpZiAoY3NzVmFyaWFibGVz
RW5hYmxlZCgpICYmIGlzRXF1YWxUb0NTU0Nhc2VTZW5zaXRpdmVJZGVudGlmaWVyKHRva2VuU3Rh
cnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSArIDEsICJ3ZWJraXQtdmFyIikgJiYgdG9rZW5TdGFydDxT
cmNDaGFyYWN0ZXJUeXBlPigpWzExXSA9PSAnLScgJiYgaXNJZGVudGlmaWVyU3RhcnRBZnRlckRh
c2godG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpICsgMTIpKQotICAgICAgICAgICAgICAg
IG1fdG9rZW4gPSBWQVJfREVGSU5JVElPTjsKLSAgICAgICAgICAgIGVsc2UKLSNlbmRpZgogICAg
ICAgICAgICAgaWYgKCpjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJygn
KSB7CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IEZVTkNUSU9OOwogICAgICAgICAgICAgICAg
IGlmICghaGFzRXNjYXBlKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMTU5
ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTUsMTIgKzExNSw2IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlUXVvdGVzKENTU1Byb3Bl
cnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlQWx0KENTU1Byb3BlcnR5SUQs
IGJvb2wgaW1wb3J0YW50KTsKICAgICAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBz
dGF0aWMgYm9vbCBwYXJzZVZhbHVlKE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiwgQ1NTUHJvcGVy
dHlJRCwgY29uc3QgU3RyaW5nJiwgYm9vbCBpbXBvcnRhbnQsIERvY3VtZW50Jik7Ci0gICAgYm9v
bCBjc3NWYXJpYWJsZXNFbmFibGVkKCkgY29uc3Q7Ci0gICAgdm9pZCBzdG9yZVZhcmlhYmxlRGVj
bGFyYXRpb24oY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiwgUGFzc093blB0cjxDU1NQYXJzZXJWYWx1
ZUxpc3Q+LCBib29sIGltcG9ydGFudCk7Ci0jZW5kaWYKLQogICAgIFBhc3NSZWZQdHI8Q1NTVmFs
dWU+IHBhcnNlQXR0cihDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MpOwogCiAgICAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gcGFyc2VCYWNrZ3JvdW5kQ29sb3IoKTsKQEAgLTQzMSw5ICs0MjUsNiBAQCBw
dWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRp
dmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZVByaW1pdGl2ZVZhcmlhYmxlTmFtZVZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0j
ZW5kaWYKIAogICAgIHN0YXRpYyBVUkwgY29tcGxldGVVUkwoY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYsIGNvbnN0IFN0cmluZyYgdXJsKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlck1vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9k
ZS5oCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9k
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw5ICs2OSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlz
Q1NTUmVnaW9uc0VuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAg
ICBib29sIGlzQ1NTR3JpZExheW91dEVuYWJsZWQ7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgYm9vbCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7Ci0jZW5kaWYKICAgICBib29sIG5lZWRz
U2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIGJvb2wgZW5mb3JjZXNDU1NNSU1FVHlwZUluTm9RdWly
a3NNb2RlOwogICAgIGJvb2wgdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlv
cjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCShyZXZpc2lvbiAx
NTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsOSArMjUsNiBAQAogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIK
LSNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTkyLDkgKzg5LDYgQEAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyVmFsdWU6OmNyZQogICAgICAgICByZXR1cm4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShmVmFsdWUsIGlzSW50ID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19QQVJTRVJfSU5URUdFUiA6IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKICAgICBj
YXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19VUkk6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklBQkxFX05BTUU6Ci0jZW5kaWYKICAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0hFWENPTE9SOgogICAgICAgICByZXR1cm4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShzdHJpbmcsIHByaW1pdGl2ZVVuaXQpOwogICAgIGNhc2UgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOgpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXJWYWx1ZXMuaAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSwxMCArOTUsNiBAQCBzdHJ1Y3Qg
Q1NTUGFyc2VyU3RyaW5nIHsKICAgICBvcGVyYXRvciBTdHJpbmcoKSBjb25zdCB7IHJldHVybiBp
czhCaXQoKSA/IFN0cmluZyhtX2RhdGEuY2hhcmFjdGVyczgsIG1fbGVuZ3RoKSA6IFN0cmluZyht
X2RhdGEuY2hhcmFjdGVyczE2LCBtX2xlbmd0aCk7IH0KICAgICBvcGVyYXRvciBBdG9taWNTdHJp
bmcoKSBjb25zdCB7IHJldHVybiBpczhCaXQoKSA/IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFj
dGVyczgsIG1fbGVuZ3RoKSA6IEF0b21pY1N0cmluZyhtX2RhdGEuY2hhcmFjdGVyczE2LCBtX2xl
bmd0aCk7IH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIEF0b21pY1N0cmluZyBz
dWJzdHJpbmcodW5zaWduZWQgcG9zaXRpb24sIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7Ci0jZW5k
aWYKLQogICAgIHVuaW9uIHsKICAgICAgICAgTENoYXIqIGNoYXJhY3RlcnM4OwogICAgICAgICBV
Q2hhciogY2hhcmFjdGVyczE2OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsOSArMTIzLDYgQEAgc3RhdGlj
IGlubGluZSBib29sIGlzVmFsaWRDU1NVbml0VHlwZUZvcgogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19VTklDT0RFX1JBTkdFOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19VTktOT1dOOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkk6Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZBUklB
QkxFX05BTUU6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMjAy
LDEwICsxOTksNiBAQCB1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0CiAg
ICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9XSVRI
X05VTUJFUjsKICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgogICAgICAgICByZXR1cm4gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9MRU5HVEg7Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDYWxjVmFyaWFibGU6Ci0gICAgICAgIHJldHVy
biBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047IC8vIFRoZSB0eXBlIG9mIGEgY2FsY3Vs
YXRpb24gY29udGFpbmluZyBhIHZhcmlhYmxlIGNhbm5vdCBiZSBrbm93biB1bnRpbCB0aGUgdmFs
dWUgb2YgdGhlIHZhcmlhYmxlIGlzIGRldGVybWluZWQuCi0jZW5kaWYKICAgICBjYXNlIENhbGNP
dGhlcjoKICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsKICAg
ICB9CkBAIC00NDgsOSArNDQxLDYgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgp
CiAgICAgY2FzZSBDU1NfVVJJOgogICAgIGNhc2UgQ1NTX0FUVFI6CiAgICAgY2FzZSBDU1NfQ09V
TlRFUl9OQU1FOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTX1ZBUklB
QkxFX05BTUU6Ci0jZW5kaWYKICAgICBjYXNlIENTU19QQVJTRVJfSEVYQ09MT1I6CiAgICAgICAg
IGlmIChtX3ZhbHVlLnN0cmluZykKICAgICAgICAgICAgIG1fdmFsdWUuc3RyaW5nLT5kZXJlZigp
OwpAQCAtODM4LDkgKzgyOCw2IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0U3RyaW5n
VmFsdWUKICAgICBjYXNlIENTU19TVFJJTkc6CiAgICAgY2FzZSBDU1NfQVRUUjoKICAgICBjYXNl
IENTU19VUkk6Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgY2FzZSBDU1NfVkFSSUFC
TEVfTkFNRToKLSNlbmRpZgogICAgICAgICByZXR1cm4gbV92YWx1ZS5zdHJpbmc7CiAgICAgY2Fz
ZSBDU1NfVkFMVUVfSUQ6CiAgICAgICAgIHJldHVybiB2YWx1ZU5hbWUobV92YWx1ZS52YWx1ZUlE
KTsKQEAgLTg2MCw5ICs4NDcsNiBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldFN0cmlu
Z1ZhbHVlCiAgICAgY2FzZSBDU1NfU1RSSU5HOgogICAgIGNhc2UgQ1NTX0FUVFI6CiAgICAgY2Fz
ZSBDU1NfVVJJOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTX1ZBUklB
QkxFX05BTUU6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIG1fdmFsdWUuc3RyaW5nOwogICAgIGNh
c2UgQ1NTX1ZBTFVFX0lEOgogICAgICAgICByZXR1cm4gdmFsdWVOYW1lKG1fdmFsdWUudmFsdWVJ
RCk7CkBAIC0xMTk5LDExICsxMTgzLDYgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0
b21DU1NUZXh0KAogICAgICAgICBjYXNlIENTU19WTUFYOgogICAgICAgICAgICAgdGV4dCA9IGZv
cm1hdE51bWJlcihtX3ZhbHVlLm51bSwgInZtYXgiKTsKICAgICAgICAgICAgIGJyZWFrOwotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgot
ICAgICAgICAgICAgdGV4dCA9ICItd2Via2l0LXZhcigiICsgU3RyaW5nKG1fdmFsdWUuc3RyaW5n
KSArICcpJzsKLSAgICAgICAgICAgIGJyZWFrOwotI2VuZGlmCiAgICAgfQogCiAgICAgQVNTRVJU
KCFjc3NUZXh0Q2FjaGUoKS5jb250YWlucyh0aGlzKSk7CkBAIC0xMjEyLDQwICsxMTkxLDYgQEAg
U3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21DU1NUZXh0KAogICAgIHJldHVybiB0ZXh0
OwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcgQ1NTUHJpbWl0aXZlVmFs
dWU6OmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21p
Y1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotewotICAgIGlmIChpc1ZhcmlhYmxl
TmFtZSgpICYmIHZhcmlhYmxlcy5jb250YWlucyhtX3ZhbHVlLnN0cmluZykpCi0gICAgICAgIHJl
dHVybiB2YXJpYWJsZXMuZ2V0KG1fdmFsdWUuc3RyaW5nKTsKLSAgICBpZiAoQ1NTQ2FsY1ZhbHVl
KiBjYWxjVmFsdWUgPSBjc3NDYWxjVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIGNhbGNWYWx1ZS0+
Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgaWYgKFBh
aXIqIHBhaXJWYWx1ZSA9IGdldFBhaXJWYWx1ZSgpKQotICAgICAgICByZXR1cm4gcGFpclZhbHVl
LT5zZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICBpZiAoUmVjdCog
cmVjdFZhbCA9IGdldFJlY3RWYWx1ZSgpKQotICAgICAgICByZXR1cm4gcmVjdFZhbC0+c2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgaWYgKFF1YWQqIHF1YWRWYWwg
PSBnZXRRdWFkVmFsdWUoKSkKLSAgICAgICAgcmV0dXJuIHF1YWRWYWwtPnNlcmlhbGl6ZVJlc29s
dmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotICAgIGlmIChDU1NCYXNpY1NoYXBlKiBzaGFwZVZh
bHVlID0gZ2V0U2hhcGVWYWx1ZSgpKQotICAgICAgICByZXR1cm4gc2hhcGVWYWx1ZS0+c2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0gICAgcmV0dXJuIGN1c3RvbUNTU1Rl
eHQoKTsKLX0KLQotYm9vbCBDU1NQcmltaXRpdmVWYWx1ZTo6aGFzVmFyaWFibGVSZWZlcmVuY2Uo
KSBjb25zdAotewotICAgIGlmIChDU1NDYWxjVmFsdWUqIGNhbGNWYWx1ZSA9IGNzc0NhbGNWYWx1
ZSgpKQotICAgICAgICByZXR1cm4gY2FsY1ZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwot
ICAgIGlmIChQYWlyKiBwYWlyVmFsdWUgPSBnZXRQYWlyVmFsdWUoKSkKLSAgICAgICAgcmV0dXJu
IHBhaXJWYWx1ZS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICBpZiAoUXVhZCogcXVhZFZh
bHVlID0gZ2V0UXVhZFZhbHVlKCkpCi0gICAgICAgIHJldHVybiBxdWFkVmFsdWUtPmhhc1Zhcmlh
YmxlUmVmZXJlbmNlKCk7Ci0gICAgaWYgKFJlY3QqIHJlY3RWYWx1ZSA9IGdldFJlY3RWYWx1ZSgp
KQotICAgICAgICByZXR1cm4gcmVjdFZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAg
IGlmIChDU1NCYXNpY1NoYXBlKiBzaGFwZVZhbHVlID0gZ2V0U2hhcGVWYWx1ZSgpKQotICAgICAg
ICByZXR1cm4gc2hhcGVWYWx1ZS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKLSAgICByZXR1cm4g
aXNWYXJpYWJsZU5hbWUoKTsKLX0KLSNlbmRpZgotCiB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjph
ZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxVUkw+JiB1cmxzLCBjb25zdCBTdHls
ZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0CiB7CiAgICAgaWYgKG1fcHJpbWl0aXZl
VW5pdFR5cGUgPT0gQ1NTX1VSSSkKQEAgLTE0MTgsOSArMTM2Myw2IEBAIGJvb2wgQ1NTUHJpbWl0
aXZlVmFsdWU6OmVxdWFscyhjb25zdCBDU1MKICAgICBjYXNlIENTU19DT1VOVEVSX05BTUU6CiAg
ICAgY2FzZSBDU1NfUEFSU0VSX0lERU5USUZJRVI6CiAgICAgY2FzZSBDU1NfUEFSU0VSX0hFWENP
TE9SOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgQ1NTX1ZBUklBQkxFX05B
TUU6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIGVxdWFsKG1fdmFsdWUuc3RyaW5nLCBvdGhlci5t
X3ZhbHVlLnN0cmluZyk7CiAgICAgY2FzZSBDU1NfQ09VTlRFUjoKICAgICAgICAgcmV0dXJuIG1f
dmFsdWUuY291bnRlciAmJiBvdGhlci5tX3ZhbHVlLmNvdW50ZXIgJiYgbV92YWx1ZS5jb3VudGVy
LT5lcXVhbHMoKm90aGVyLm1fdmFsdWUuY291bnRlcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw5ICsxMzQsNiBA
QCBwdWJsaWM6CiAgICAgICAgIENTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9OVU1CRVIgPSAxMTQs
CiAgICAgICAgIENTU19DQUxDX1BFUkNFTlRBR0VfV0lUSF9MRU5HVEggPSAxMTUsCiAKLSNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgQ1NTX1ZBUklBQkxFX05BTUUgPSAxMTYsCi0j
ZW5kaWYKICAgICAgICAgQ1NTX1BST1BFUlRZX0lEID0gMTE3LAogICAgICAgICBDU1NfVkFMVUVf
SUQgPSAxMTgKICAgICB9OwpAQCAtMjAwLDkgKzE5Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIHR5cGUgPj0gQ1NTX0RQUFggJiYgdHlwZSA8PSBDU1NfRFBDTTsKICAgICB9CiAKLSNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBib29sIGlzVmFyaWFibGVOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gcHJpbWl0aXZlVHlwZSgpID09IENTU19WQVJJQUJMRV9OQU1FOyB9Ci0jZW5kaWYKICAg
ICBib29sIGlzVmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9wcmlt
aXRpdmVVbml0VHlwZSA+PSBDU1NfVlcgJiYgbV9wcmltaXRpdmVVbml0VHlwZSA8PSBDU1NfVk1B
WDsgfQogICAgIGJvb2wgaXNWaWV3cG9ydFBlcmNlbnRhZ2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NTX1ZXOyB9CiAgICAgYm9vbCBpc1ZpZXdwb3J0UGVy
Y2VudGFnZUhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgPT0gQ1NT
X1ZIOyB9CkBAIC0zMjcsMTAgKzMyMSw2IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBpbmxpbmUgb3BlcmF0b3IgVCgpIGNvbnN0OyAvLyBEZWZpbmVkIGluIENTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAogCiAgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKLSNp
ZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgY3VzdG9tU2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JikgY29uc3Q7
Ci0gICAgYm9vbCBoYXNWYXJpYWJsZVJlZmVyZW5jZSgpIGNvbnN0OwotI2VuZGlmCiAKICAgICBi
b29sIGlzUXVpcmtWYWx1ZSgpIHsgcmV0dXJuIG1faXNRdWlya1ZhbHVlOyB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNp
b24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxNCw5ICs0NzE0LDYgQEAgZW51bSBMZW5ndGhDb252
ZXJzaW9uIHsKIAogdGVtcGxhdGU8aW50IHN1cHBvcnRlZD4gTGVuZ3RoIENTU1ByaW1pdGl2ZVZh
bHVlOjpjb252ZXJ0VG9MZW5ndGgoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250
U2l6ZSkgY29uc3QKIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBBU1NFUlQoIWhh
c1ZhcmlhYmxlUmVmZXJlbmNlKCkpOwotI2VuZGlmCiAgICAgaWYgKChzdXBwb3J0ZWQgJiAoRml4
ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IEZpeGVkRmxvYXRDb252ZXJzaW9uKSkgJiYgaXNGb250UmVs
YXRpdmVMZW5ndGgoKSAmJiAoIXN0eWxlIHx8ICFyb290U3R5bGUpKQogICAgICAgICByZXR1cm4g
TGVuZ3RoKFVuZGVmaW5lZCk7CiAgICAgaWYgKChzdXBwb3J0ZWQgJiBGaXhlZEludGVnZXJDb252
ZXJzaW9uKSAmJiBpc0xlbmd0aCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxMCArMjUsNiBAQAogI2luY2x1ZGUgIlJlbmRlclN0eWxl
Q29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiQ1NTVmFyaWFibGVWYWx1ZS5oIgotI2Vu
ZGlmCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCShyZXZpc2lvbiAxNTk4Mzgp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAkod29ya2luZyBjb3B5KQpAQCAt
NTksOSArNTksNiBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9tZXRhZGF0YShwcm9wZXJ0eUlELCBp
c1NldEZyb21TaG9ydGhhbmQsIGluZGV4SW5TaG9ydGhhbmRzVmVjdG9yLCBpbXBvcnRhbnQsIGlt
cGxpY2l0LCBpc0luaGVyaXRlZFByb3BlcnR5KHByb3BlcnR5SUQpKQogICAgICAgICAsIG1fdmFs
dWUodmFsdWUpCiAgICAgewotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIEFTU0VSVCgo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eVZhcmlhYmxlKSA9PSAobV92YWx1ZSAmJiBtX3ZhbHVl
LT5pc1ZhcmlhYmxlVmFsdWUoKSkpOwotI2VuZGlmCiAgICAgfQogCiAgICAgLy8gRklYTUU6IFJl
bW92ZSB0aGlzLgpAQCAtNjksOSArNjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9tZXRhZGF0
YShtZXRhZGF0YSkKICAgICAgICAgLCBtX3ZhbHVlKHZhbHVlKQogICAgIHsKLSNpZiBFTkFCTEUo
Q1NTX1ZBUklBQkxFUykKLSAgICBBU1NFUlQoKG1ldGFkYXRhLm1fcHJvcGVydHlJRCA9PSBDU1NQ
cm9wZXJ0eVZhcmlhYmxlKSA9PSAobV92YWx1ZSAmJiBtX3ZhbHVlLT5pc1ZhcmlhYmxlVmFsdWUo
KSkpOwotI2VuZGlmCiAgICAgfQogCiAgICAgQ1NTUHJvcGVydHlJRCBpZCgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KG1fbWV0YWRhdGEubV9wcm9wZXJ0eUlEKTsg
fQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAJKHJldmlzaW9uIDE1
OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCwxNSArMzgsNiBAQCBTdHJpbmcgQ1NTUmVmbGVjdFZhbHVlOjpjdXN0b21D
U1NUZXh0KCkgCiAgICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5jc3NUZXh0KCkgKyAnICcgKyBtX29m
ZnNldC0+Y3NzVGV4dCgpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi1TdHJpbmcg
Q1NTUmVmbGVjdFZhbHVlOjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3Qg
SGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBp
ZiAobV9tYXNrKQotICAgICAgICByZXR1cm4gbV9kaXJlY3Rpb24tPmN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpICsgJyAnICsgbV9vZmZzZXQtPmN1c3RvbVNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpICsgJyAnICsgbV9tYXNrLT5zZXJpYWxp
emVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKLSAgICByZXR1cm4gbV9kaXJlY3Rpb24t
PmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpICsgJyAnICsgbV9v
ZmZzZXQtPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwotfQot
I2VuZGlmCi0KIHZvaWQgQ1NTUmVmbGVjdFZhbHVlOjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhM
aXN0SGFzaFNldDxVUkw+JiB1cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hl
ZXQpIGNvbnN0CiB7CiAgICAgaWYgKG1fbWFzaykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSZWZsZWN0VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVm
bGVjdFZhbHVlLmgJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
ZWZsZWN0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsOSArNDgsNiBAQCBwdWJsaWM6CiAg
ICAgQ1NTVmFsdWUqIG1hc2soKSBjb25zdCB7IHJldHVybiBtX21hc2suZ2V0KCk7IH0KIAogICAg
IFN0cmluZyBjdXN0b21DU1NUZXh0KCkgY29uc3Q7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci0gICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNo
TWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotI2VuZGlmCiAKICAgICB2b2lkIGFk
ZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PFVSTD4mLCBjb25zdCBTdHlsZVNoZWV0
Q29udGVudHMqKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCShyZXZpc2lv
biAxNTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MiwxMCArNjIsNiBAQAogI2luY2x1ZGUgIldlYktpdENTU1NoYWRlclZhbHVlLmgi
CiAjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCIKIAotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNlbmRpZgotCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmgiCiAjZW5k
aWYKQEAgLTIzOSwxMCArMjM1LDYgQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1Zh
bHVlJiBvdAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8V2ViS2l0Q1NTU2hh
ZGVyVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAjZW5kaWYKICNlbmRpZgotI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQotICAgICAgICBjYXNlIFZhcmlhYmxlQ2xhc3M6Ci0gICAgICAgICAgICByZXR1
cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NWYXJpYWJsZVZhbHVlPigqdGhpcywgb3RoZXIpOwotI2Vu
ZGlmCiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgogICAgICAg
ICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8U1ZHQ29sb3I+KCp0aGlzLCBvdGhlcik7CkBA
IC0zNDMsMTAgKzMzNSw2IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAg
ICAgIHJldHVybiB0b1dlYktpdENTU1NoYWRlclZhbHVlKHRoaXMpLT5jdXN0b21DU1NUZXh0KCk7
CiAjZW5kaWYKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIGNhc2UgVmFy
aWFibGVDbGFzczoKLSAgICAgICAgcmV0dXJuIHRvQ1NTVmFyaWFibGVWYWx1ZSh0aGlzKS0+dmFs
dWUoKTsKLSNlbmRpZgogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBTVkdDb2xvckNsYXNzOgog
ICAgICAgICByZXR1cm4gdG9TVkdDb2xvcih0aGlzKS0+Y3VzdG9tQ1NTVGV4dCgpOwpAQCAtMzYw
LDI0ICszNDgsNiBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgIHJldHVy
biBTdHJpbmcoKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENTU1Zh
bHVlOjpzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLXsKLSAgICBzd2l0Y2ggKGNsYXNzVHlwZSgp
KSB7Ci0gICAgY2FzZSBQcmltaXRpdmVDbGFzczoKLSAgICAgICAgcmV0dXJuIHRvQ1NTUHJpbWl0
aXZlVmFsdWUodGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJs
ZXMpOwotICAgIGNhc2UgUmVmbGVjdENsYXNzOgotICAgICAgICByZXR1cm4gdG9DU1NSZWZsZWN0
VmFsdWUodGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMp
OwotICAgIGNhc2UgVmFsdWVMaXN0Q2xhc3M6Ci0gICAgICAgIHJldHVybiB0b0NTU1ZhbHVlTGlz
dCh0aGlzKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Ci0g
ICAgY2FzZSBXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzczoKLSAgICAgICAgcmV0dXJuIHRvV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWUodGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyh2YXJpYWJsZXMpOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBjc3NUZXh0KCk7Ci0g
ICAgfQotfQotI2VuZGlmCi0KIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogewogICAgIGlmICht
X2lzVGV4dENsb25lKSB7CkBAIC00OTAsMTEgKzQ2MCw2IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ry
b3koKQogICAgICAgICByZXR1cm47CiAjZW5kaWYKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIGNhc2UgVmFyaWFibGVDbGFzczoKLSAgICAgICAgZGVsZXRlIHRvQ1NTVmFy
aWFibGVWYWx1ZSh0aGlzKTsKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCiAjaWYgRU5BQkxFKFNW
RykKICAgICBjYXNlIFNWR0NvbG9yQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSB0b1NWR0NvbG9yKHRo
aXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw5ICs1OSw2IEBA
IHB1YmxpYzoKIAogICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDc3NU
ZXh0KGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSB7IH0gLy8gRklYTUU6IE5vdCBpbXBs
ZW1lbnRlZC4KLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBTdHJpbmcgc2VyaWFsaXpl
UmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+Jikg
Y29uc3Q7Ci0jZW5kaWYKIAogICAgIGJvb2wgaXNQcmltaXRpdmVWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IFByaW1pdGl2ZUNsYXNzOyB9CiAgICAgYm9vbCBpc1ZhbHVlTGlz
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID49IFZhbHVlTGlzdENsYXNzOyB9CkBAIC0x
MDYsOSArMTAzLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNXZWJLaXRDU1NTaGFkZXJWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU1NoYWRlckNsYXNzOyB9CiAj
ZW5kaWYKICNlbmRpZiAvLyBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi0jaWYgRU5BQkxFKENTU19WQVJJ
QUJMRVMpCi0gICAgYm9vbCBpc1ZhcmlhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNz
VHlwZSA9PSBWYXJpYWJsZUNsYXNzOyB9Ci0jZW5kaWYKICAgICBib29sIGlzR3JpZFRlbXBsYXRl
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVDbGFzczsg
fQogI2lmIEVOQUJMRShTVkcpCiAgICAgYm9vbCBpc1NWR0NvbG9yKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gU1ZHQ29sb3JDbGFzcyB8fCBtX2NsYXNzVHlwZSA9PSBTVkdQYWludENs
YXNzOyB9CkBAIC0xNzcsOSArMTcxLDYgQEAgcHJvdGVjdGVkOgogI2lmIEVOQUJMRShDU1NfRklM
VEVSUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQogICAgICAgICBXZWJLaXRDU1NTaGFkZXJDbGFz
cywKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICBWYXJpYWJsZUNs
YXNzLAotI2VuZGlmCiAgICAgICAgIEdyaWRUZW1wbGF0ZUNsYXNzLAogI2lmIEVOQUJMRShTVkcp
CiAgICAgICAgIFNWR0NvbG9yQ2xhc3MsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0
LmNwcAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSwzNiArMTM1LDYgQEAgYm9vbCBDU1NWYWx1ZUxp
c3Q6OmVxdWFscyhjb25zdCBDU1NWYWx1ZQogICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS0+ZXF1
YWxzKG90aGVyKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotU3RyaW5nIENTU1Zh
bHVlTGlzdDo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci17Ci0gICAgU3RyaW5nQnVp
bGRlciByZXN1bHQ7Ci0gICAgU3RyaW5nIHNlcGFyYXRvcjsKLSAgICBzd2l0Y2ggKG1fdmFsdWVM
aXN0U2VwYXJhdG9yKSB7Ci0gICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJh
dG9yID0gQVNDSUlMaXRlcmFsKCIgIik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29tbWFT
ZXBhcmF0b3I6Ci0gICAgICAgIHNlcGFyYXRvciA9IEFTQ0lJTGl0ZXJhbCgiLCAiKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0g
QVNDSUlMaXRlcmFsKCIgLyAiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCi0gICAgdW5zaWduZWQgc2l6ZSA9IG1f
dmFsdWVzLnNpemUoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7
Ci0gICAgICAgIGlmICghcmVzdWx0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJlc3VsdC5hcHBl
bmQoc2VwYXJhdG9yKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChtX3ZhbHVlc1tpXS0+c2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykpOwotICAgIH0KLQotICAgIHJldHVybiBy
ZXN1bHQudG9TdHJpbmcoKTsKLX0KLSNlbmRpZgotCiB2b2lkIENTU1ZhbHVlTGlzdDo6YWRkU3Vi
cmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8VVJMPiYgdXJscywgY29uc3QgU3R5bGVTaGVl
dENvbnRlbnRzKiBzdHlsZVNoZWV0KSBjb25zdAogewogICAgIHNpemVfdCBzaXplID0gbV92YWx1
ZXMuc2l6ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaAkocmV2aXNpb24gMTU5
ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Miw5ICs2Miw2IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNv
bnN0OwogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU1ZhbHVlTGlzdCYpIGNvbnN0OwogICAgIGJv
b2wgZXF1YWxzKGNvbnN0IENTU1ZhbHVlJikgY29uc3Q7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCi0gICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBI
YXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotI2VuZGlmCiAKICAgICB2b2lk
IGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PFVSTD4mLCBjb25zdCBTdHlsZVNo
ZWV0Q29udGVudHMqKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVW
YWx1ZS5oCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDY5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENTU1Zh
cmlhYmxlVmFsdWVfaAotI2RlZmluZSBDU1NWYXJpYWJsZVZhbHVlX2gKLQotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotCi0jaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCi0jaW5jbHVkZSAi
Q1NTUHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgQ1NTVmFyaWFibGVWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFyaWFibGVWYWx1ZT4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFyaWFibGVWYWx1ZShuYW1lLCB2YWx1ZSkpOwot
ICAgIH0KLQotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bmFtZTsgfQotICAgIGNvbnN0IFN0cmluZyYgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVl
OyB9Ci0KLSAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYXJpYWJsZVZhbHVlJiBvdGhlcikgY29u
c3QgeyByZXR1cm4gbV9uYW1lID09IG90aGVyLm1fbmFtZSAmJiBtX3ZhbHVlID09IG90aGVyLm1f
dmFsdWU7IH0KLQotcHJpdmF0ZToKLSAgICBDU1NWYXJpYWJsZVZhbHVlKGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICAgICAgOiBDU1NWYWx1ZShWYXJp
YWJsZUNsYXNzKQotICAgICAgICAsIG1fbmFtZShuYW1lKQotICAgICAgICAsIG1fdmFsdWUodmFs
dWUpCi0gICAgewotICAgIH0KLQotICAgIGNvbnN0IEF0b21pY1N0cmluZyBtX25hbWU7Ci0gICAg
Y29uc3QgU3RyaW5nIG1fdmFsdWU7Ci19OwotCi1DU1NfVkFMVUVfVFlQRV9DQVNUUyhDU1NWYXJp
YWJsZVZhbHVlLCBpc1ZhcmlhYmxlVmFsdWUoKSkKLQotfQotCi0jZW5kaWYgLyogRU5BQkxFKENT
U19WQVJJQUJMRVMpICovCi0jZW5kaWYgLyogQ1NTVmFyaWFibGVWYWx1ZV9oICovCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvUGFpci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9QYWlyLmgJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9QYWlyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU4LDE2ICs1OCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgZXF1
YWxzKGNvbnN0IFBhaXImIG90aGVyKSBjb25zdCB7IHJldHVybiBjb21wYXJlQ1NTVmFsdWVQdHIo
bV9maXJzdCwgb3RoZXIubV9maXJzdCkgJiYgY29tcGFyZUNTU1ZhbHVlUHRyKG1fc2Vjb25kLCBv
dGhlci5tX3NlY29uZCk7IH0KIAotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIFN0cmlu
ZyBzZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcs
IFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0
ZUNTU1N0cmluZyhmaXJzdCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZCgpLT5jdXN0
b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7Ci0gICAgfQotICAgIAot
ICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdCB7IHJldHVybiBmaXJzdCgpLT5o
YXNWYXJpYWJsZVJlZmVyZW5jZSgpIHx8IHNlY29uZCgpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
OyB9Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBQYWlyKCkgOiBtX2ZpcnN0KDApLCBtX3NlY29u
ZCgwKSB7IH0KICAgICBQYWlyKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGZpcnN0LCBQ
YXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzZWNvbmQpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvUmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9SZWN0LmgJKHJl
dmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9SZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDE2ICs0Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICYmIGNvbXBhcmVDU1NW
YWx1ZVB0cihtX2JvdHRvbSwgb3RoZXIubV9ib3R0b20pOwogICAgIH0KIAotI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotICAgIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAotICAg
IHsKLSAgICAgICAgcmV0dXJuIG1fdG9wLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAg
ICAgICB8fCBtX3JpZ2h0LT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgpCi0gICAgICAgICAgICB8fCBt
X2JvdHRvbS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKQotICAgICAgICAgICAgfHwgbV9sZWZ0LT5o
YXNWYXJpYWJsZVJlZmVyZW5jZSgpOwotICAgIH0KLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAg
UmVjdEJhc2UoKSB7IH0KICAgICBSZWN0QmFzZShjb25zdCBSZWN0QmFzZSYgY2xvbmVGcm9tKQpA
QCAtODcsMTYgKzc3LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJp
bmcodG9wKCktPmNzc1RleHQoKSwgcmlnaHQoKS0+Y3NzVGV4dCgpLCBib3R0b20oKS0+Y3NzVGV4
dCgpLCBsZWZ0KCktPmNzc1RleHQoKSk7CiAgICAgfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCi0gICAgU3RyaW5nIHNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFw
PEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAotICAgIHsKLSAgICAgICAg
cmV0dXJuIGdlbmVyYXRlQ1NTU3RyaW5nKHRvcCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdW
YXJpYWJsZXModmFyaWFibGVzKSwKLSAgICAgICAgICAgIHJpZ2h0KCktPmN1c3RvbVNlcmlhbGl6
ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgYm90dG9tKCktPmN1
c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAg
bGVmdCgpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSk7Ci0g
ICAgfQotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgUmVjdCgpIHsgfQogICAgIFJlY3QoY29uc3Qg
UmVjdCYgY2xvbmVGcm9tKSA6IFJlY3RCYXNlKGNsb25lRnJvbSksIFJlZkNvdW50ZWQ8UmVjdD4o
KSB7IH0KQEAgLTExNywxNiArOTcsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBnZW5lcmF0
ZUNTU1N0cmluZyh0b3AoKS0+Y3NzVGV4dCgpLCByaWdodCgpLT5jc3NUZXh0KCksIGJvdHRvbSgp
LT5jc3NUZXh0KCksIGxlZnQoKS0+Y3NzVGV4dCgpKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykKLSAgICBTdHJpbmcgc2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0
IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+JiB2YXJpYWJsZXMpIGNvbnN0Ci0gICAgewot
ICAgICAgICByZXR1cm4gZ2VuZXJhdGVDU1NTdHJpbmcodG9wKCktPmN1c3RvbVNlcmlhbGl6ZVJl
c29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpLAotICAgICAgICAgICAgcmlnaHQoKS0+Y3VzdG9t
U2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAgICAgICAgICBib3R0
b20oKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyksCi0gICAg
ICAgICAgICBsZWZ0KCktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJs
ZXMpKTsKLSAgICB9Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBRdWFkKCkgeyB9CiAgICAgUXVh
ZChjb25zdCBRdWFkJiBjbG9uZUZyb20pIDogUmVjdEJhc2UoY2xvbmVGcm9tKSwgUmVmQ291bnRl
ZDxRdWFkPigpIHsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNw
cAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMCArMzUsNiBAQAogI2luY2x1ZGUgPHd0Zi9C
aXRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotI2luY2x1ZGUgIkNTU1ZhcmlhYmxlVmFsdWUuaCIKLSNlbmRp
ZgotCiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8d3RmL0FT
Q0lJQ1R5cGUuaD4KQEAgLTc5MywxMyArNzg5LDYgQEAgU3RyaW5nIFN0eWxlUHJvcGVydHlTZXQ6
OmFzVGV4dCgpIGNvbnN0CiAgICAgICAgIFN0cmluZyB2YWx1ZTsKIAogICAgICAgICBzd2l0Y2gg
KHByb3BlcnR5SUQpIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVZhcmlhYmxlOgotICAgICAgICAgICAgaWYgKG51bURlY2xzKyspCi0gICAgICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcpOwotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChw
cm9wZXJ0eS5jc3NUZXh0KCkpOwotICAgICAgICAgICAgY29udGludWU7Ci0jZW5kaWYKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblg6CiAgICAgICAgICAgICBwb3Np
dGlvblhQcm9wZXJ0eUluZGV4ID0gbjsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTI2NSwx
NCArMTI1NCw2IEBAIFBhc3NSZWY8TXV0YWJsZVN0eWxlUHJvcGVydHlTZXQ+IE11dGFibGUKIAog
U3RyaW5nIFN0eWxlUHJvcGVydHlTZXQ6OlByb3BlcnR5UmVmZXJlbmNlOjpjc3NOYW1lKCkgY29u
c3QKIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICBpZiAoaWQoKSA9PSBDU1NQcm9w
ZXJ0eVZhcmlhYmxlKSB7Ci0gICAgICAgIEFTU0VSVChwcm9wZXJ0eVZhbHVlKCktPmlzVmFyaWFi
bGVWYWx1ZSgpKTsKLSAgICAgICAgaWYgKCFwcm9wZXJ0eVZhbHVlKCktPmlzVmFyaWFibGVWYWx1
ZSgpKQotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IC8vIFNob3VsZCBub3QgaGFw
cGVuLCBidXQgaWYgaXQgZG9lcywgYXZvaWQgYSBiYWQgY2FzdC4KLSAgICAgICAgcmV0dXJuICIt
d2Via2l0LXZhci0iICsgdG9DU1NWYXJpYWJsZVZhbHVlKHByb3BlcnR5VmFsdWUoKSktPm5hbWUo
KTsKLSAgICB9Ci0jZW5kaWYKICAgICByZXR1cm4gZ2V0UHJvcGVydHlOYW1lU3RyaW5nKGlkKCkp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAx
NTk4MzgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MSwxMCArMTYxLDYgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSNpbmNsdWRlICJDU1NW
YXJpYWJsZVZhbHVlLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkK
ICNpbmNsdWRlICJEYXNoYm9hcmRSZWdpb24uaCIKICNlbmRpZgpAQCAtMTAzNyw5ICsxMDMzLDYg
QEAgUGFzc1JlZjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6c3R5bAogICAgIGJvb2wgaW5o
ZXJpdGVkT25seSA9IGZhbHNlOwogCiAgICAgTWF0Y2hSZXN1bHQmIHJlc3VsdCA9IGNvbGxlY3Rv
ci5tYXRjaGVkUmVzdWx0KCk7Ci0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgYXBwbHlN
YXRjaGVkUHJvcGVydGllczxWYXJpYWJsZURlZmluaXRpb25zPihyZXN1bHQsIGZhbHNlLCAwLCBy
ZXN1bHQubWF0Y2hlZFByb3BlcnRpZXMuc2l6ZSgpIC0gMSwgaW5oZXJpdGVkT25seSk7Ci0jZW5k
aWYKICAgICBhcHBseU1hdGNoZWRQcm9wZXJ0aWVzPEhpZ2hQcmlvcml0eVByb3BlcnRpZXM+KHJl
c3VsdCwgZmFsc2UsIDAsIHJlc3VsdC5tYXRjaGVkUHJvcGVydGllcy5zaXplKCkgLSAxLCBpbmhl
cml0ZWRPbmx5KTsKIAogICAgIC8vIElmIG91ciBmb250IGdvdCBkaXJ0aWVkLCBnbyBhaGVhZCBh
bmQgdXBkYXRlIGl0IG5vdy4KQEAgLTE1NTQsMTMgKzE1NDcsNiBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydGllcyhjb25zCiAgICAgICAgICAgICBjb250aW51ZTsKICNlbmRpZgog
ICAgICAgICBzd2l0Y2ggKHBhc3MpIHsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAg
ICAgY2FzZSBWYXJpYWJsZURlZmluaXRpb25zOgotICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQo
Q1NTUHJvcGVydHlWYXJpYWJsZSA8IGZpcnN0Q1NTUHJvcGVydHksIENTU192YXJpYWJsZV9pc19i
ZWZvcmVfZmlyc3RfcHJvcGVydHkpOwotICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09IENTU1By
b3BlcnR5VmFyaWFibGUpCi0gICAgICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShjdXJyZW50Lmlk
KCksIGN1cnJlbnQudmFsdWUoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgogICAgICAg
ICBjYXNlIEhpZ2hQcmlvcml0eVByb3BlcnRpZXM6CiAgICAgICAgICAgICBDT01QSUxFX0FTU0VS
VChmaXJzdENTU1Byb3BlcnR5ID09IENTU1Byb3BlcnR5Q29sb3IsIENTU19jb2xvcl9pc19maXJz
dF9wcm9wZXJ0eSk7CiAjaWYgRU5BQkxFKElPU19URVhUX0FVVE9TSVpJTkcpCkBAIC0xNTY5LDEw
ICsxNTU1LDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnRpZXMoY29ucwogICAg
ICAgICAgICAgQ09NUElMRV9BU1NFUlQoQ1NTUHJvcGVydHlab29tID09IENTU1Byb3BlcnR5Q29s
b3IgKyAxNywgQ1NTX3pvb21faXNfZW5kX29mX2ZpcnN0X3Byb3BfcmFuZ2UpOwogI2VuZGlmCiAg
ICAgICAgICAgICBDT01QSUxFX0FTU0VSVChDU1NQcm9wZXJ0eUxpbmVIZWlnaHQgPT0gQ1NTUHJv
cGVydHlab29tICsgMSwgQ1NTX2xpbmVfaGVpZ2h0X2lzX2FmdGVyX3pvb20pOwotI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQotICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09IENTU1Byb3BlcnR5
VmFyaWFibGUpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0jZW5kaWYKICAgICAgICAgICAg
IC8vIGdpdmUgc3BlY2lhbCBwcmlvcml0eSB0byBmb250LXh4eCwgY29sb3IgcHJvcGVydGllcywg
ZXRjCiAgICAgICAgICAgICBpZiAocHJvcGVydHkgPCBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQpCiAg
ICAgICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShjdXJyZW50LmlkKCksIGN1cnJlbnQudmFsdWUo
KSk7CkBAIC0xNzM2LDE0ICsxNzE4LDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseU1hdGNo
ZWRQcm9wZXJ0aQogICAgICAgICBhcHBseUluaGVyaXRlZE9ubHkgPSB0cnVlOyAKICAgICB9CiAK
LSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAvLyBGaXJzdCBhcHBseSBhbGwgdmFyaWFi
bGUgZGVmaW5pdGlvbnMsIGFzIHRoZXkgbWF5IGJlIHVzZWQgZHVyaW5nIGFwcGxpY2F0aW9uIG9m
IGxhdGVyIHByb3BlcnRpZXMuCi0gICAgYXBwbHlNYXRjaGVkUHJvcGVydGllczxWYXJpYWJsZURl
ZmluaXRpb25zPihtYXRjaFJlc3VsdCwgZmFsc2UsIDAsIG1hdGNoUmVzdWx0Lm1hdGNoZWRQcm9w
ZXJ0aWVzLnNpemUoKSAtIDEsIGFwcGx5SW5oZXJpdGVkT25seSk7Ci0gICAgYXBwbHlNYXRjaGVk
UHJvcGVydGllczxWYXJpYWJsZURlZmluaXRpb25zPihtYXRjaFJlc3VsdCwgdHJ1ZSwgbWF0Y2hS
ZXN1bHQucmFuZ2VzLmZpcnN0QXV0aG9yUnVsZSwgbWF0Y2hSZXN1bHQucmFuZ2VzLmxhc3RBdXRo
b3JSdWxlLCBhcHBseUluaGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8
VmFyaWFibGVEZWZpbml0aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1hdGNoUmVzdWx0LnJhbmdl
cy5maXJzdFVzZXJSdWxlLCBtYXRjaFJlc3VsdC5yYW5nZXMubGFzdFVzZXJSdWxlLCBhcHBseUlu
aGVyaXRlZE9ubHkpOwotICAgIGFwcGx5TWF0Y2hlZFByb3BlcnRpZXM8VmFyaWFibGVEZWZpbml0
aW9ucz4obWF0Y2hSZXN1bHQsIHRydWUsIG1hdGNoUmVzdWx0LnJhbmdlcy5maXJzdFVBUnVsZSwg
bWF0Y2hSZXN1bHQucmFuZ2VzLmxhc3RVQVJ1bGUsIGFwcGx5SW5oZXJpdGVkT25seSk7Ci0jZW5k
aWYKLQogICAgIC8vIE5vdyB3ZSBoYXZlIGFsbCBvZiB0aGUgbWF0Y2hlZCBydWxlcyBpbiB0aGUg
YXBwcm9wcmlhdGUgb3JkZXIuIFdhbGsgdGhlIHJ1bGVzIGFuZCBhcHBseQogICAgIC8vIGhpZ2gt
cHJpb3JpdHkgcHJvcGVydGllcyBmaXJzdCwgaS5lLiwgdGhvc2UgcHJvcGVydGllcyB0aGF0IG90
aGVyIHByb3BlcnRpZXMgZGVwZW5kIG9uLgogICAgIC8vIFRoZSBvcmRlciBpcyAoMSkgaGlnaC1w
cmlvcml0eSBub3QgaW1wb3J0YW50LCAoMikgaGlnaC1wcmlvcml0eSBpbXBvcnRhbnQsICgzKSBu
b3JtYWwgbm90IGltcG9ydGFudApAQCAtMjA1MSw2NyArMjAyNSw4IEBAIHN0YXRpYyBib29sIGNy
ZWF0ZUdyaWRQb3NpdGlvbihDU1NWYWx1ZSoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQotc3RhdGljIGJvb2wgaGFzVmFyaWFibGVSZWZlcmVuY2UoQ1NT
VmFsdWUqIHZhbHVlKQotewotICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7Ci0g
ICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHRvQ1NTUHJpbWl0aXZl
VmFsdWUodmFsdWUpOwotICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUtPmhhc1ZhcmlhYmxl
UmVmZXJlbmNlKCk7Ci0gICAgfQotCi0gICAgaWYgKHZhbHVlLT5pc0NhbGNWYWx1ZSgpKQotICAg
ICAgICByZXR1cm4gdG9DU1NDYWxjVmFsdWUodmFsdWUpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
OwotCi0gICAgaWYgKHZhbHVlLT5pc1JlZmxlY3RWYWx1ZSgpKSB7Ci0gICAgICAgIENTU1JlZmxl
Y3RWYWx1ZSogcmVmbGVjdFZhbHVlID0gdG9DU1NSZWZsZWN0VmFsdWUodmFsdWUpOwotICAgICAg
ICBDU1NQcmltaXRpdmVWYWx1ZSogZGlyZWN0aW9uID0gcmVmbGVjdFZhbHVlLT5kaXJlY3Rpb24o
KTsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIG9mZnNldCA9IHJlZmxlY3RWYWx1ZS0+b2Zm
c2V0KCk7Ci0gICAgICAgIENTU1ZhbHVlKiBtYXNrID0gcmVmbGVjdFZhbHVlLT5tYXNrKCk7Ci0g
ICAgICAgIHJldHVybiAoZGlyZWN0aW9uICYmIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKGRpcmVjdGlv
bikpIHx8IChvZmZzZXQgJiYgaGFzVmFyaWFibGVSZWZlcmVuY2Uob2Zmc2V0KSkgfHwgKG1hc2sg
JiYgaGFzVmFyaWFibGVSZWZlcmVuY2UobWFzaykpOwotICAgIH0KLQotICAgIGZvciAoQ1NTVmFs
dWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVlOyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKLSAg
ICAgICAgaWYgKGhhc1ZhcmlhYmxlUmVmZXJlbmNlKGkudmFsdWUoKSkpCi0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgU3R5bGVS
ZXNvbHZlcjo6cmVzb2x2ZVZhcmlhYmxlcyhDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFs
dWUsIFZlY3RvcjxzdGQ6OnBhaXI8Q1NTUHJvcGVydHlJRCwgU3RyaW5nPj4mIGtub3duRXhwcmVz
c2lvbnMpCi17Ci0gICAgc3RkOjpwYWlyPENTU1Byb3BlcnR5SUQsIFN0cmluZz4gZXhwcmVzc2lv
bihpZCwgdmFsdWUtPnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcygqbV9zdGF0ZS5zdHlsZSgp
LT52YXJpYWJsZXMoKSkpOwotCi0gICAgaWYgKGtub3duRXhwcmVzc2lvbnMuY29udGFpbnMoZXhw
cmVzc2lvbikpCi0gICAgICAgIHJldHVybjsgLy8gY3ljbGUgZGV0ZWN0ZWQuCi0KLSAgICBrbm93
bkV4cHJlc3Npb25zLmFwcGVuZChleHByZXNzaW9uKTsKLQotICAgIC8vIEZJWE1FOiBJdCB3b3Vs
ZCBiZSBmYXN0ZXIgbm90IHRvIHJlLXBhcnNlIGZyb20gc3RyaW5ncywgYnV0IGZvciBub3cgQ1NT
IHByb3BlcnR5IHZhbGlkYXRpb24gbGl2ZXMgaW5zaWRlIHRoZSBwYXJzZXIgc28gd2UgZG8gaXQg
dGhlcmUuCi0gICAgUmVmUHRyPE11dGFibGVTdHlsZVByb3BlcnR5U2V0PiByZXN1bHRTZXQgPSBN
dXRhYmxlU3R5bGVQcm9wZXJ0eVNldDo6Y3JlYXRlKCk7Ci0gICAgaWYgKCFDU1NQYXJzZXI6OnBh
cnNlVmFsdWUocmVzdWx0U2V0LmdldCgpLCBpZCwgZXhwcmVzc2lvbi5zZWNvbmQsIGZhbHNlLCBk
b2N1bWVudCgpKSkKLSAgICAgICAgcmV0dXJuOyAvLyBleHByZXNzaW9uIGZhaWxlZCB0byBwYXJz
ZS4KLQotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXN1bHRTZXQtPnByb3BlcnR5Q291
bnQoKTsgaSsrKSB7Ci0gICAgICAgIFN0eWxlUHJvcGVydHlTZXQ6OlByb3BlcnR5UmVmZXJlbmNl
IHByb3BlcnR5ID0gcmVzdWx0U2V0LT5wcm9wZXJ0eUF0KGkpOwotICAgICAgICBpZiAocHJvcGVy
dHkuaWQoKSAhPSBDU1NQcm9wZXJ0eVZhcmlhYmxlICYmIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKHBy
b3BlcnR5LnZhbHVlKCkpKQotICAgICAgICAgICAgcmVzb2x2ZVZhcmlhYmxlcyhwcm9wZXJ0eS5p
ZCgpLCBwcm9wZXJ0eS52YWx1ZSgpLCBrbm93bkV4cHJlc3Npb25zKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgYXBwbHlQcm9wZXJ0eShwcm9wZXJ0eS5pZCgpLCBwcm9wZXJ0eS52YWx1ZSgp
KTsKLSAgICB9Ci19Ci0jZW5kaWYKLQogdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5
KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKIHsKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICBpZiAoaWQgIT0gQ1NTUHJvcGVydHlWYXJpYWJsZSAmJiBoYXNWYXJpYWJs
ZVJlZmVyZW5jZSh2YWx1ZSkpIHsKLSAgICAgICAgVmVjdG9yPHN0ZDo6cGFpcjxDU1NQcm9wZXJ0
eUlELCBTdHJpbmc+PiBrbm93bkV4cHJlc3Npb25zOwotICAgICAgICByZXNvbHZlVmFyaWFibGVz
KGlkLCB2YWx1ZSwga25vd25FeHByZXNzaW9ucyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0j
ZW5kaWYKLQogICAgIC8vIENTUyB2YXJpYWJsZXMgZG9uJ3QgcmVzb2x2ZSBzaG9ydGhhbmRzIGF0
IHBhcnNpbmcgdGltZSwgc28gdGhpcyBzaG91bGQgYmUgKmFmdGVyKiBoYW5kbGluZyB2YXJpYWJs
ZXMuCiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghaXNFeHBhbmRlZFNob3J0aGFuZChpZCksICJT
aG9ydGhhbmQgcHJvcGVydHkgaWQgPSAlZCB3YXNuJ3QgZXhwYW5kZWQgYXQgcGFyc2luZyB0aW1l
IiwgaWQpOwogCkBAIC0yMTMwLDE2ICsyMDQ1LDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBs
eVByb3BlcnR5KENTU1BybwogICAgIGlmIChpc0luaGVyaXQgJiYgIXN0YXRlLnBhcmVudFN0eWxl
KCktPmhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVzKCkgJiYgIUNTU1Byb3BlcnR5Ojpp
c0luaGVyaXRlZFByb3BlcnR5KGlkKSkKICAgICAgICAgc3RhdGUucGFyZW50U3R5bGUoKS0+c2V0
SGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKTsKIAotI2lmIEVOQUJMRShDU1NfVkFS
SUFCTEVTKQotICAgIGlmIChpZCA9PSBDU1NQcm9wZXJ0eVZhcmlhYmxlKSB7Ci0gICAgICAgIENT
U1ZhcmlhYmxlVmFsdWUqIHZhcmlhYmxlID0gdG9DU1NWYXJpYWJsZVZhbHVlKHZhbHVlKTsKLSAg
ICAgICAgQVNTRVJUKCF2YXJpYWJsZS0+bmFtZSgpLmlzRW1wdHkoKSk7Ci0gICAgICAgIEFTU0VS
VCghdmFyaWFibGUtPnZhbHVlKCkuaXNFbXB0eSgpKTsKLSAgICAgICAgc3RhdGUuc3R5bGUoKS0+
c2V0VmFyaWFibGUodmFyaWFibGUtPm5hbWUoKSwgdmFyaWFibGUtPnZhbHVlKCkpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KICAgICAvLyBDaGVjayBsb29rdXAgdGFibGUgZm9y
IGltcGxlbWVudGF0aW9ucyBhbmQgdXNlIHdoZW4gYXZhaWxhYmxlLgogICAgIGNvbnN0IFByb3Bl
cnR5SGFuZGxlciYgaGFuZGxlciA9IG1fZGVwcmVjYXRlZFN0eWxlQnVpbGRlci5wcm9wZXJ0eUhh
bmRsZXIoaWQpOwogICAgIGlmIChoYW5kbGVyLmlzVmFsaWQoKSkgewpAQCAtMzAwMSw5ICsyOTA2
LDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1BybwogICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUb3A6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVVuaWNvZGVCaWRpOgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQot
ICAgIGNhc2UgQ1NTUHJvcGVydHlWYXJpYWJsZToKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlWZXJ0aWNhbEFsaWduOgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25EZWxheToKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAkocmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUzLDkgKzM1Myw2IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhcHBseU1hdGNoZWRQcm9wZXJ0aWVzKGNvbnN0IE1hdGNoUmVzdWx0JiwgY29u
c3QgRWxlbWVudCopOwogCiAgICAgZW51bSBTdHlsZUFwcGxpY2F0aW9uUGFzcyB7Ci0jaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCi0gICAgICAgIFZhcmlhYmxlRGVmaW5pdGlvbnMsCi0jZW5kaWYK
ICAgICAgICAgSGlnaFByaW9yaXR5UHJvcGVydGllcywKICAgICAgICAgTG93UHJpb3JpdHlQcm9w
ZXJ0aWVzCiAgICAgfTsKQEAgLTM2Myw5ICszNjAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBw
bHlNYXRjaGVkUHJvcGVydGllcyhjb25zdCBNYXRjaFJlc3VsdCYsIGJvb2wgaW1wb3J0YW50LCBp
bnQgc3RhcnRJbmRleCwgaW50IGVuZEluZGV4LCBib29sIGluaGVyaXRlZE9ubHkpOwogICAgIHRl
bXBsYXRlIDxTdHlsZUFwcGxpY2F0aW9uUGFzcyBwYXNzPgogICAgIHZvaWQgYXBwbHlQcm9wZXJ0
aWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTZXQqIHByb3BlcnRpZXMsIFN0eWxlUnVsZSosIGJvb2wg
aXNJbXBvcnRhbnQsIGJvb2wgaW5oZXJpdGVkT25seSwgUHJvcGVydHlXaGl0ZWxpc3RUeXBlID0g
UHJvcGVydHlXaGl0ZWxpc3ROb25lKTsKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICB2
b2lkIHJlc29sdmVWYXJpYWJsZXMoQ1NTUHJvcGVydHlJRCwgQ1NTVmFsdWUqLCBWZWN0b3I8c3Rk
OjpwYWlyPENTU1Byb3BlcnR5SUQsIFN0cmluZz4+JiBrbm93bkV4cHJlc3Npb25zKTsKLSNlbmRp
ZgogICAgIHN0YXRpYyBib29sIGlzVmFsaWRSZWdpb25TdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
SUQpOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkQ3Vl
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAkocmV2aXNpb24gMTU5ODM4KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzgsMTMgKzc4LDYgQEAgU3RyaW5nIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpjdXN0
b21DUwogICAgIHJldHVybiB0cmFuc2Zvcm1WYWx1ZVRvQ3NzU3RyaW5nKG1fdHlwZSwgQ1NTVmFs
dWVMaXN0OjpjdXN0b21DU1NUZXh0KCkpOwogfQogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMp
Ci1TdHJpbmcgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmN1c3RvbVNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVz
KSBjb25zdAotewotICAgIHJldHVybiB0cmFuc2Zvcm1WYWx1ZVRvQ3NzU3RyaW5nKG1fdHlwZSwg
Q1NTVmFsdWVMaXN0OjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KSk7Ci19Ci0jZW5kaWYKLQogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OldlYktpdENTU1RyYW5z
Zm9ybVZhbHVlKGNvbnN0IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlJiBjbG9uZUZyb20pCiAgICAg
OiBDU1NWYWx1ZUxpc3QoY2xvbmVGcm9tKQogICAgICwgbV90eXBlKGNsb25lRnJvbS5tX3R5cGUp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaAko
cmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9y
bVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDkgKzY3LDYgQEAgcHVibGljOgogCiAgICAg
U3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKICAgICBib29sIGVxdWFscyhjb25zdCBXZWJL
aXRDU1NUcmFuc2Zvcm1WYWx1ZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBvdGhl
ci5tX3R5cGUgJiYgQ1NTVmFsdWVMaXN0OjplcXVhbHMob3RoZXIpOyB9Ci0jaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCi0gICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxl
cyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OwotI2VuZGlmCiAK
ICAgICBUcmFuc2Zvcm1PcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3R5cGU7IH0KICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwJKHJldmlzaW9uIDE1
OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQCBkaWUgIldlJ3ZlIHJlYWNoZWQgbW9yZSB0aGFuIDEwMjQgQ1NTIHBy
CiBteSAlbmFtZXNIYXNoOwogbXkgQGR1cGxpY2F0ZXMgPSAoKTsKIAotbXkgJG51bVByZWRlZmlu
ZWRQcm9wZXJ0aWVzID0gMjsKK215ICRudW1QcmVkZWZpbmVkUHJvcGVydGllcyA9IDE7CiBteSBA
bmFtZXMgPSAoKTsKIG15ICVuYW1lSXNJbmhlcml0ZWQ7CiBteSAlbmFtZVRvSWQ7CkBAIC0yMDQs
NyArMjA0LDYgQEAgU3RyaW5nIGdldEpTUHJvcGVydHlOYW1lKENTU1Byb3BlcnR5SUQgaQogCiBz
dGF0aWMgY29uc3QgYm9vbCBpc0luaGVyaXRlZFByb3BlcnR5VGFibGVbbnVtQ1NTUHJvcGVydGll
cyArICRudW1QcmVkZWZpbmVkUHJvcGVydGllc10gPSB7CiAgICAgZmFsc2UsIC8vIENTU1Byb3Bl
cnR5SW52YWxpZAotICAgIGZhbHNlLCAvLyBDU1NQcm9wZXJ0eVZhcmlhYmxlCiBFT0YKIAogZm9y
ZWFjaCBteSAkbmFtZSAoQG5hbWVzKSB7CkBAIC0yNTAsOSArMjQ5LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBlbnVtIENTU1Byb3BlcnR5SUQgewogICAgIENTU1Byb3BlcnR5SW52YWxpZCA9
IDAsCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgQ1NTUHJvcGVydHlWYXJpYWJsZSA9
IDEsCi0jZW5kaWYKIEVPRgogCiBteSAkZmlyc3QgPSAkbnVtUHJlZGVmaW5lZFByb3BlcnRpZXM7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gMTU5ODM4KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NSw5ICsx
NjUsNiBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICNpZiBFTkFCTEUoQ1NTX1NU
SUNLWV9QT1NJVElPTikKICAgICAsIG1fY3NzU3RpY2t5UG9zaXRpb25FbmFibGVkKHRydWUpCiAj
ZW5kaWYKLSNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKLSAgICAsIG1fY3NzVmFyaWFibGVzRW5h
YmxlZChmYWxzZSkKLSNlbmRpZgogICAgICwgbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3Io
ZmFsc2UpCiAgICAgLCBtX3RpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChmYWxzZSkKICAgICAsIG1f
ZG5zUHJlZmV0Y2hpbmdFbmFibGVkKGZhbHNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAko
cmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTMsMTQgKzE5Myw2IEBAIHB1YmxpYzoKICAgICBib29sIGNzc1N0aWNr
eVBvc2l0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAotI2lm
IEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZvaWQgc2V0Q1NTVmFyaWFibGVzRW5hYmxlZChi
b29sIGVuYWJsZWQpIHsgbV9jc3NWYXJpYWJsZXNFbmFibGVkID0gZW5hYmxlZDsgfQotICAgIGJv
b2wgY3NzVmFyaWFibGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY3NzVmFyaWFibGVzRW5h
YmxlZDsgfQotI2Vsc2UKLSAgICB2b2lkIHNldENTU1ZhcmlhYmxlc0VuYWJsZWQoYm9vbCkgeyB9
Ci0gICAgYm9vbCBjc3NWYXJpYWJsZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
LSNlbmRpZgotCiAgICAgdm9pZCBzZXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoYm9vbCk7
CiAgICAgYm9vbCBzaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoKSBjb25zdCB7IHJldHVybiBt
X3Nob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcjsgfQogCkBAIC0zMDcsOSArMjk5LDYgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoQ1NTX1NUSUNLWV9QT1NJVElPTikKICAgICBib29sIG1fY3NzU3Rp
Y2t5UG9zaXRpb25FbmFibGVkIDogMTsKICNlbmRpZgotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVT
KQotICAgIGJvb2wgbV9jc3NWYXJpYWJsZXNFbmFibGVkIDogMTsKLSNlbmRpZgogICAgIGJvb2wg
bV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAgIGJvb2wgbV90aWxlZEJhY2tp
bmdTdG9yZUVuYWJsZWQgOiAxOwogICAgIGJvb2wgbV9kbnNQcmVmZXRjaGluZ0VuYWJsZWQgOiAx
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJ
KHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNjksMTEgKzM2OSw2IEBAIHB1YmxpYzoKIAog
ICAgIGNvbnN0IFBzZXVkb1N0eWxlQ2FjaGUqIGNhY2hlZFBzZXVkb1N0eWxlcygpIGNvbnN0IHsg
cmV0dXJuIG1fY2FjaGVkUHNldWRvU3R5bGVzLmdldCgpOyB9CiAKLSNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKLSAgICB2b2lkIHNldFZhcmlhYmxlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByYXJlSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV92YXJp
YWJsZXMuYWNjZXNzKCktPnNldFZhcmlhYmxlKG5hbWUsIHZhbHVlKTsgfQotICAgIGNvbnN0IEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTdHJpbmc+KiB2YXJpYWJsZXMoKSB7IHJldHVybiAmKHJhcmVJ
bmhlcml0ZWREYXRhLT5tX3ZhcmlhYmxlcy0+bV9kYXRhKTsgfQotI2VuZGlmCi0KICAgICBib29s
IGFmZmVjdGVkQnlIb3ZlcigpIGNvbnN0IHsgcmV0dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZl
Y3RlZEJ5SG92ZXIoKTsgfQogICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZSgpIGNvbnN0IHsgcmV0
dXJuIG5vbmluaGVyaXRlZF9mbGFncy5hZmZlY3RlZEJ5QWN0aXZlKCk7IH0KICAgICBib29sIGFm
ZmVjdGVkQnlEcmFnKCkgY29uc3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLmFmZmVjdGVk
QnlEcmFnKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAJKHJldmlzaW9uIDE1OTgzOCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAgKzYwLDYgQEAgc3RydWN0IFNhbWVTaXplQXNTdHls
ZVJhcmVJbmhlcml0ZWREYXRhIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgQ29sb3Ig
dG91Y2hDb2xvcnM7CiAjZW5kaWYKLQotI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgIHZv
aWQqIHZhcmlhYmxlRGF0YVJlZnNbMV07Ci0jZW5kaWYKIH07CiAKIENPTVBJTEVfQVNTRVJUKHNp
emVvZihTdHlsZVJhcmVJbmhlcml0ZWREYXRhKSA9PSBzaXplb2YoU2FtZVNpemVBc1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEpLCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhX3Nob3VsZF9iaXRfcGFjayk7
CkBAIC0xMzYsOSArMTMyLDYgQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5o
ZXJpdAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLCB0YXBIaWdobGlnaHRDb2xvcihS
ZW5kZXJTdHlsZTo6aW5pdGlhbFRhcEhpZ2hsaWdodENvbG9yKCkpCiAjZW5kaWYKLSNpZiBFTkFC
TEUoQ1NTX1ZBUklBQkxFUykKLSAgICAsIG1fdmFyaWFibGVzKFN0eWxlVmFyaWFibGVEYXRhOjpj
cmVhdGUoKSkKLSNlbmRpZgogewogfQogCkBAIC0yMjMsOSArMjE2LDYgQEAgU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAg
ICAgLCB0YXBIaWdobGlnaHRDb2xvcihvLnRhcEhpZ2hsaWdodENvbG9yKQogI2VuZGlmCi0jaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgLCBtX3ZhcmlhYmxlcyhvLm1fdmFyaWFibGVzKQot
I2VuZGlmCiB7CiB9CiAKQEAgLTMyOSw5ICszMTksNiBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0oCiAjZW5kaWYKICAgICAgICAgJiYgbV9ydWJ5UG9zaXRpb24gPT0g
by5tX3J1YnlQb3NpdGlvbgogICAgICAgICAmJiBtX2xpbmVTbmFwID09IG8ubV9saW5lU25hcAot
I2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQotICAgICAgICAmJiBtX3ZhcmlhYmxlcyA9PSBvLm1f
dmFyaWFibGVzCi0jZW5kaWYKICAgICAgICAgJiYgbV9saW5lQWxpZ24gPT0gby5tX2xpbmVBbGln
bgogICAgICAgICAmJiBTdHlsZUltYWdlOjppbWFnZXNFcXVpdmFsZW50KGxpc3RTdHlsZUltYWdl
LmdldCgpLCBvLmxpc3RTdHlsZUltYWdlLmdldCgpKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAko
cmV2aXNpb24gMTU5ODM4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTEgKzMxLDYgQEAKICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Zy5oPgogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0jaW5jbHVkZSAiRGF0YVJlZi5oIgot
I2luY2x1ZGUgIlN0eWxlVmFyaWFibGVEYXRhLmgiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShJT1Nf
VEVYVF9BVVRPU0laSU5HKQogI2luY2x1ZGUgIlRleHRTaXplQWRqdXN0bWVudC5oIgogI2VuZGlm
CkBAIC0xNjAsMTAgKzE1NSw2IEBAIHB1YmxpYzoKICAgICBDb2xvciB0YXBIaWdobGlnaHRDb2xv
cjsKICNlbmRpZgogCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0gICAgRGF0YVJlZjxTdHls
ZVZhcmlhYmxlRGF0YT4gbV92YXJpYWJsZXM7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBTdHls
ZVJhcmVJbmhlcml0ZWREYXRhKCk7CiAgICAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBT
dHlsZVJhcmVJbmhlcml0ZWREYXRhJik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVWYXJpYWJsZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWYXJpYWJsZURhdGEuaAkocmV2aXNpb24gMTU5ODM4KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFibGVEYXRhLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0KLSNpZm5kZWYgU3R5bGVWYXJpYWJsZURhdGFfaAot
I2RlZmluZSBTdHlsZVZhcmlhYmxlRGF0YV9oCi0jaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCi0K
LSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdI
YXNoLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ3Vyc29yTGlzdDsKLWNsYXNz
IFF1b3Rlc0RhdGE7Ci1jbGFzcyBTaGFkb3dEYXRhOwotCi1jbGFzcyBTdHlsZVZhcmlhYmxlRGF0
YSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlVmFyaWFibGVEYXRhPiB7Ci1wdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWY8U3R5bGVWYXJpYWJsZURhdGE+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU3R5bGVWYXJpYWJsZURhdGEoKSk7IH0KLSAgICBQYXNzUmVmPFN0eWxlVmFyaWFi
bGVEYXRhPiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVZhcmlhYmxl
RGF0YSgqdGhpcykpOyB9Ci0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVWYXJpYWJs
ZURhdGEmIG90aGVyKSBjb25zdCB7IHJldHVybiBvdGhlci5tX2RhdGEgPT0gbV9kYXRhOyB9Ci0g
ICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlVmFyaWFibGVEYXRhJiBvdGhlcikgY29uc3Qg
eyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KLQotICAgIHZvaWQgc2V0VmFyaWFibGUoY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKSB7IG1fZGF0YS5zZXQo
bmFtZSwgdmFsdWUpOyB9Ci0KLSAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiBtX2Rh
dGE7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IFN0eWxlVmFyaWFibGVEYXRhKCkgOiBSZWZDb3Vu
dGVkPFN0eWxlVmFyaWFibGVEYXRhPigpIHsgfQotICAgIFN0eWxlVmFyaWFibGVEYXRhKGNvbnN0
IFN0eWxlVmFyaWFibGVEYXRhJiBvdGhlcikgOiBSZWZDb3VudGVkPFN0eWxlVmFyaWFibGVEYXRh
PigpLCBtX2RhdGEoSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmluZz4ob3RoZXIubV9kYXRhKSkg
eyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvKiBFTkFCTEUoQ1NT
X1ZBUklBQkxFUykgKi8KLSNlbmRpZiAvKiBTdHlsZVZhcmlhYmxlRGF0YV9oICovCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAJKHJldmlzaW9uIDE1
OTgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY4LDcgKzY4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogSW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIDogbV9v
cmlnaW5hbENTU0V4Y2x1c2lvbnNFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuY3NzRXhjbHVzaW9uc0VuYWJsZWQoKSkKICAgICAsIG1fb3JpZ2luYWxDU1NT
aGFwZXNFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3Nz
U2hhcGVzRW5hYmxlZCgpKQotICAgICwgbV9vcmlnaW5hbENTU1ZhcmlhYmxlc0VuYWJsZWQoc2V0
dGluZ3MuY3NzVmFyaWFibGVzRW5hYmxlZCgpKQogI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAg
ICwgbV9vcmlnaW5hbFNoYWRvd0RPTUVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zaGFkb3dET01FbmFibGVkKCkpCiAgICAgLCBtX29yaWdpbmFsQXV0aG9y
U2hhZG93RE9NRm9yQW55RWxlbWVudEVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5hdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50RW5hYmxlZCgpKQpAQCAt
MTAyLDcgKzEwMSw2IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8K
IHsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0V4
Y2x1c2lvbnNFbmFibGVkKG1fb3JpZ2luYWxDU1NFeGNsdXNpb25zRW5hYmxlZCk7CiAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NTaGFwZXNFbmFibGVk
KG1fb3JpZ2luYWxDU1NTaGFwZXNFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRDU1NWYXJpYWJs
ZXNFbmFibGVkKG1fb3JpZ2luYWxDU1NWYXJpYWJsZXNFbmFibGVkKTsKICNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dFNoYWRvd0RPTUVuYWJsZWQobV9vcmlnaW5hbFNoYWRvd0RPTUVuYWJsZWQpOwogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0QXV0aG9yU2hhZG93RE9NRm9y
QW55RWxlbWVudEVuYWJsZWQobV9vcmlnaW5hbEF1dGhvclNoYWRvd0RPTUZvckFueUVsZW1lbnRF
bmFibGVkKTsKQEAgLTM5MSwxOCArMzg5LDYgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRD
U1NTaGFwZXNFbmFibAogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0Q1NTU2hhcGVzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBJbnRlcm5hbFNldHRp
bmdzOjpzZXRDU1NWYXJpYWJsZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCi17Ci0gICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKLSAgICBzZXR0
aW5ncygpLT5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKGVuYWJsZWQpOwotfQotCi1ib29sIEludGVy
bmFsU2V0dGluZ3M6OmNzc1ZhcmlhYmxlc0VuYWJsZWQoRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oZmFsc2UpOwotICAgIHJl
dHVybiBzZXR0aW5ncygpLT5jc3NWYXJpYWJsZXNFbmFibGVkKCk7Ci19Ci0KIHZvaWQgSW50ZXJu
YWxTZXR0aW5nczo6c2V0Q2FuU3RhcnRNZWRpYShib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogewogICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAkocmV2aXNpb24gMTU5ODM4
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU0LDcgKzU0LDYgQEAgcHVibGljOgogCiAgICAgICAgIGJvb2wgbV9vcmlnaW5h
bENTU0V4Y2x1c2lvbnNFbmFibGVkOwogICAgICAgICBib29sIG1fb3JpZ2luYWxDU1NTaGFwZXNF
bmFibGVkOwotICAgICAgICBib29sIG1fb3JpZ2luYWxDU1NWYXJpYWJsZXNFbmFibGVkOwogI2lm
IEVOQUJMRShTSEFET1dfRE9NKQogICAgICAgICBib29sIG1fb3JpZ2luYWxTaGFkb3dET01FbmFi
bGVkOwogICAgICAgICBib29sIG1fb3JpZ2luYWxBdXRob3JTaGFkb3dET01Gb3JBbnlFbGVtZW50
RW5hYmxlZDsKQEAgLTEyMiw4ICsxMjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNZWRpYVR5
cGVPdmVycmlkZShjb25zdCBTdHJpbmcmIG1lZGlhVHlwZSwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdm9pZCBzZXRDU1NTaGFwZXNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9u
Q29kZSYpOwotICAgIHZvaWQgc2V0Q1NTVmFyaWFibGVzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmKTsKLSAgICBib29sIGNzc1ZhcmlhYmxlc0VuYWJsZWQoRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc2V0Q2FuU3RhcnRNZWRpYShib29sLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChjb25zdCBTdHJpbmcmIGtpbmQs
IGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw4ICs0NCw2IEBACiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRNZWRpYVR5cGVPdmVy
cmlkZShET01TdHJpbmcgbWVkaWFUeXBlT3ZlcnJpZGUpOwogICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIHNldENTU1NoYXBlc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
LSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldENTU1ZhcmlhYmxlc0VuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBib29sZWFuIGNzc1ZhcmlhYmxlc0Vu
YWJsZWQoKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldENhblN0YXJ0TWVkaWEoYm9v
bGVhbiBlbmFibGVkKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEVkaXRpbmdCZWhh
dmlvcihET01TdHJpbmcgYmVoYXZpb3IpOwogICAgIHZvaWQgc2V0TGFuZ0F0dHJpYnV0ZUF3YXJl
Rm9ybUNvbnRyb2xVSUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTExLTI4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZmVhdHVyZTogQ1NTIHZhcmlhYmxlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MTE5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMy0xMS0yNyAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jb20+CiAKICAgICAgICAgW0dUS10g
U3VwcG9ydCBjdXN0b20gdHlwZXMgZm9yIGRyYWcgYW5kIGRyb3AgZGF0YQpJbmRleDogU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2IEBAIEVO
QUJMRV9DU1NfU0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU0hBUEVT
ID0gRU5BQkxFX0NTU19TSEFQRVM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJM
RV9DU1NfU1RJQ0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNf
VU5QUkVGSVhFRCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7
Ci1FTkFCTEVfQ1NTX1ZBUklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVT
ID0gOwogRU5BQkxFX0NTUzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTiA9
IEVOQUJMRV9DU1NfVEVYVF9ERUNPUkFUSU9OOwpAQCAtMTg3LDQgKzE4Niw0IEBAIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKIEVOQUJMRV9GVExfSklUID0gOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19FWENMVVNJT05TKSAkKEVOQUJMRV9DU1NfRklMVEVSUykgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TSEFERVJTKSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OKSAkKEVOQUJMRV9DU1NfVFJBTlNG
T1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQpICQoRU5BQkxFX0NTU19WQVJJQUJMRVMpICQoRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0RFQ09SQVRJT04pICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9EUkFHR0FCTEVfUkVHSU9OKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSUykgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSElHSF9EUElfQ0FO
VkFTKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lGUkFNRV9TRUFNTEVTUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1NQRUVDSCkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BMVUdJTl9QUk9YWV9GT1JfVklERU8pICQoRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQpICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfU0NSSVBURURfU1BFRUNIKSAkKEVOQUJMRV9TSEFET1dfRE9N
KSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1FMX0RBVEFCQVNFKSAkKEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RIUkVB
REVEX0hUTUxfUEFSU0VSKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQU5J
TUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRkVBVFVSRV9ERUZJTkVTXyQoUExBVEZP
Uk1fTkFNRSkpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChF
TkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJ
VElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEKSAkKEVO
QUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NB
TlZBUykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QTFVHSU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RP
TSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NRTF9EQVRBQkFTRSkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9USFJF
QURFRF9IVE1MX1BBUlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRG
T1JNX05BTUUpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTgzOCkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDEzLTExLTI4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmUgZmVhdHVyZTogQ1NTIHZhcmlhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKwogMjAxMy0xMS0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEZpeCB0aGUgaU9TIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9u
IDE1OTgzOCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2IEBAIEVOQUJMRV9DU1Nf
U0hBREVSUyA9IEVOQUJMRV9DU1NfU0hBREVSUzsKIEVOQUJMRV9DU1NfU0hBUEVTID0gRU5BQkxF
X0NTU19TSEFQRVM7CiBFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiA9IEVOQUJMRV9DU1NfU1RJ
Q0tZX1BPU0lUSU9OOwogRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhF
RCA9IEVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQ7Ci1FTkFCTEVf
Q1NTX1ZBUklBQkxFUyA9IDsKIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTID0gOwogRU5B
QkxFX0NTUzNfVEVYVCA9IDsKIEVOQUJMRV9DU1MzX1RFWFRfREVDT1JBVElPTiA9IEVOQUJMRV9D
U1MzX1RFWFRfREVDT1JBVElPTjsKQEAgLTE4Nyw0ICsxODYsNCBAQCBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCiBFTkFCTEVfRlRMX0pJVCA9IDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0JMT0IpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX0ZJTFRFUlMpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0hBREVSUykgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTikgJChFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5J
TUFUSU9OU19VTlBSRUZJWEVEKSAkKEVOQUJMRV9DU1NfVkFSSUFCTEVTKSAkKEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9ERUNPUkFUSU9OKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRFJBR0dBQkxFX1JFR0lPTikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJ
TFRFUlMpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0hJR0hfRFBJX0NBTlZBUykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JRlJBTUVfU0VBTUxFU1MpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QTFVH
SU5fUFJPWFlfRk9SX1ZJREVPKSAkKEVOQUJMRV9QUk9HUkVTU19FTEVNRU5UKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1NDUklQVEVEX1NQRUVDSCkgJChFTkFCTEVfU0hBRE9XX0RPTSkgJChFTkFC
TEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NR
TF9EQVRBQkFTRSkgJChFTkFCTEVfU1VCUElYRUxfTEFZT1VUKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVNUExBVEVf
RUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9USFJFQURFRF9IVE1M
X1BBUlNFUikgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEZFQVRVUkVfREVGSU5FU18kKFBMQVRGT1JNX05BTUUp
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpICQoRU5BQkxFX0NT
U19GSUxURVJTKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NIQURF
UlMpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19TVElDS1lfUE9TSVRJT04pICQo
RU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElPTlNfVU5QUkVGSVhFRCkgJChFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfREVDT1JBVElPTikgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0RSQUdHQUJMRV9SRUdJT04pICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9ISUdIX0RQSV9DQU5WQVMpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSUZSQU1FX1NFQU1MRVNTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfU1BFRUNI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UEFHRV9WSVNJQklMSVRZX0FQSSkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUExV
R0lOX1BST1hZX0ZPUl9WSURFTykgJChFTkFCTEVfUFJPR1JFU1NfRUxFTUVOVCkgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9TQ1JJUFRFRF9TUEVFQ0gpICQoRU5BQkxFX1NIQURPV19ET00pICQoRU5B
QkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
UUxfREFUQUJBU0UpICQoRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVEhSRUFERURfSFRN
TF9QQVJTRVIpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BTklNQVRJT05T
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChGRUFUVVJFX0RFRklORVNfJChQTEFURk9STV9OQU1F
KSk7CkluZGV4OiBTb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2F1dG90b29scy9TZXR1cFdlYktpdEZlYXR1cmVzLm00CShyZXZpc2lv
biAxNTk4MzgpCisrKyBTb3VyY2UvYXV0b3Rvb2xzL1NldHVwV2ViS2l0RmVhdHVyZXMubTQJKHdv
cmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNiBAQCAkc3JjZGlyL1Rvb2xzL2d0ay9nZW5lcmF0
ZS1mZWF0dXJlLWRlZmluCiAgICAgRU5BQkxFX0NTU19TSEFQRVM9MCBcCiAgICAgRU5BQkxFX0NT
U19TVElDS1lfUE9TSVRJT049MSBcCiAgICAgRU5BQkxFX0NTU19UUkFOU0ZPUk1TX0FOSU1BVElP
TlNfVU5QUkVGSVhFRD0wIFwKLSAgICBFTkFCTEVfQ1NTX1ZBUklBQkxFUz0wIFwKICAgICBFTkFC
TEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUz0wIFwKICAgICBFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSPTAgXAogICAgIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwKSW5kZXg6IFNvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCShyZXZpc2lvbiAxNTk4MzgpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNiBAQCBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfQ1NTX0lNQUdFX1NFVCBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9DU1NfU1RJQ0tZX1BPU0lUSU9OIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0NTU19WQVJJQUJMRVMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IgT04pCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQkocmV2aXNpb24gMTU5ODM4KQorKysgU291
cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDYg
QEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFXwogV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JFR0lPTlMgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NUSUNLWV9QT1NJVElPTiBPTikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfVkFSSUFCTEVTIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RP
V05MT0FEX0FUVFJJQlVURSBPTikKSW5kZXg6IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UJKHJl
dmlzaW9uIDE1OTgzOCkKKysrIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQkod29y
a2luZyBjb3B5KQpAQCAtMzksNyArMzksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NTIFNo
YXBlcyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19T
VElDS1lfUE9TSVRJT04gIlRvZ2dsZSBDU1Mgc3RpY2t5IHBvc2l0aW9uIHN1cHBvcnQiIE9GRikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9O
U19VTlBSRUZJWEVEICJUb2dnbGUgc3VwcG9ydCBmb3IgdW5wcmVmaXhlZCBDU1MgYW5pbWF0aW9u
cyBhbmQgdHJhbnNmb3JtcyIgT04pCi0gICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NT
U19WQVJJQUJMRVMgIlRvZ2dsZSBDU1MgVmFyaWFibGVzIHN1cHBvcnQiIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSICJUb2dnbGUgQ3Vz
dG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCAiVG9nZ2xlIEhUTUw1IGRhdGFsaXN0IHN1cHBvcnQi
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UyAiVG9nZ2xlIEhUTUw1IGRhdGEgdHJhbnNmZXIgaXRlbXMgc3VwcG9ydCIgT0ZGKQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTU5ODM4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTMtMTEtMjggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBmZWF0dXJlOiBDU1MgdmFyaWFibGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQxMTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbToKKwogMjAxMy0xMS0yOCAgRMOhbmllbCBCw6F0eWFpICA8QmF0eWFpLkRhbmllbEBzdHVk
LnUtc3plZ2VkLmh1PgogCiAgICAgICAgIENoZWNrb3V0IHNob3VsZCBvd24gdGhlIHNjbSBvYmpl
Y3QgaW4gSG9zdApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQko
cmV2aXNpb24gMTU5ODM4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw2IEBAIG15ICgKICAgICAkY3NzU3RpY2t5
UG9zaXRpb25TdXBwb3J0LAogICAgICRjc3NDb21wb3NpdGluZ1N1cHBvcnQsCiAgICAgJGNzc0Fu
aW1hdGlvbnNUcmFuc2Zvcm1zVW5wcmVmaXhlZFN1cHBvcnQsCi0gICAgJGNzc1ZhcmlhYmxlc1N1
cHBvcnQsCiAgICAgJGN1c3RvbVNjaGVtZUhhbmRsZXJTdXBwb3J0LAogICAgICRkYXRhVHJhbnNm
ZXJJdGVtc1N1cHBvcnQsCiAgICAgJGRhdGFsaXN0RWxlbWVudFN1cHBvcnQsCkBAIC0yMzQsOSAr
MjMzLDYgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJjc3MtdHJhbnNmb3Jt
cy1hbmltYXRpb25zLXVucHJlZml4ZWQiLCBkZXNjID0+ICJUb2dnbGUgc3VwcG9ydCBmb3IgdW5w
cmVmaXhlZCBDU1MgYW5pbWF0aW9ucyBhbmQgdHJhbnNmb3JtcyIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9DU1NfVFJBTlNGT1JNU19BTklNQVRJT05TX1VOUFJFRklYRUQiLCBkZWZhdWx0ID0+
IDEsIHZhbHVlID0+IFwkY3NzQW5pbWF0aW9uc1RyYW5zZm9ybXNVbnByZWZpeGVkU3VwcG9ydCB9
LAogCi0gICAgeyBvcHRpb24gPT4gImNzcy12YXJpYWJsZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NT
IFZhcmlhYmxlIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX1ZBUklBQkxF
UyIsIGRlZmF1bHQgPT4gKGlzQmxhY2tCZXJyeSgpIHx8IGlzRWZsKCkgfHwgaXNHdGsoKSksIHZh
bHVlID0+IFwkY3NzVmFyaWFibGVzU3VwcG9ydCB9LAotCiAgICAgeyBvcHRpb24gPT4gImN1c3Rv
bS1zY2hlbWUtaGFuZGxlciIsIGRlc2MgPT4gIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIi
LCBkZWZhdWx0ID0+IChpc0JsYWNrQmVycnkoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRjdXN0
b21TY2hlbWVIYW5kbGVyU3VwcG9ydCB9LAogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTk4MzgpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4MiBAQAor
MjAxMy0xMS0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVtb3ZlIGZlYXR1cmU6IENTUyB2YXJpYWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzOiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9ib3JkZXItd2lkdGgtZXhwZWN0ZWQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvYm9yZGVyLXdpZHRoLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL2J1aWxkLXN1cHBvcnRzLXZhcmlh
Ymxlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVz
L2J1aWxkLXN1cHBvcnRzLXZhcmlhYmxlcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Y3NzL3ZhcmlhYmxlcy9jYWxjLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9jc3MvdmFyaWFibGVzL2NhbGMtaW5zaWRlLWNhbGMtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnNpZGUtY2FsYy5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFsdWUtZXhw
ZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1p
bnZhbGlkLXZhbHVlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVz
L2NhbGMtaW52YWxpZC12YXJpYWJsZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFyaWFibGUuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1uZWdhdGVkLXZhcmlhYmxlLWV4cGVj
dGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtbmVn
YXRlZC12YXJpYWJsZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxl
cy9jYWxjLXZ3LWNyYXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy92YXJpYWJsZXMvY2FsYy12dy1jcmFzaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Y3NzL3ZhcmlhYmxlcy9jYWxjLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFy
aWFibGVzL2Nhc2Utc2Vuc2l0aXZlLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9jc3MvdmFyaWFibGVzL2Nhc2Utc2Vuc2l0aXZlLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9jc3MvdmFyaWFibGVzL2NvbG9ycy10ZXN0LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL2NvbG9ycy10ZXN0Lmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL2NvbXBsZXgtY3ljbGUtZXhwZWN0ZWQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvY29tcGxleC1jeWNsZS5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9jb21wdXRlZC1zdHls
ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9j
b21wdXRlZC1zdHlsZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxl
cy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZyb20tdmFyaWFibGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZyb20t
dmFyaWFibGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvaW5o
ZXJpdGVkLXZhbHVlcy1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3ZhcmlhYmxlcy9pbmhlcml0ZWQtdmFsdWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9jc3MvdmFyaWFibGVzL2lubGluZS1zdHlsZXMtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvaW5saW5lLXN0eWxlcy5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLWZvbnQtcmVmZXJlbmNlLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC1m
b250LXJlZmVyZW5jZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxl
cy9pbnZhbGlkLXNob3J0aGFuZC1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZh
c3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXNob3J0aGFuZC5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhbHVlLWxpc3QtY3Jhc2gtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhbHVl
LWxpc3QtY3Jhc2guaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMv
aW52YWxpZC12YXJpYWJsZS12YWx1ZS1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhcmlhYmxlLXZhbHVlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL211bHRpLWxldmVsLWN5Y2xlLWV4cGVjdGVk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL211bHRpLWxldmVs
LWN5Y2xlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3JlZGVm
aW5pdGlvbi1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3Zhcmlh
Ymxlcy9yZWRlZmluaXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJp
YWJsZXMvcm9vdC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvcm9vdC1iYWNrZ3JvdW5kLXNpemUuaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvc2hvcnRoYW5kLWV4cGVjdGVkLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Nob3J0aGFuZC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9zaW1wbGUtY3ljbGUtZXhwZWN0
ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvc2ltcGxlLWN5
Y2xlLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3RyYW5zZm9y
bS10ZXN0LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFi
bGVzL3RyYW5zZm9ybS10ZXN0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFy
aWFibGVzL3VuZGVmaW5lZC1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
Y3NzL3ZhcmlhYmxlcy91bmRlZmluZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy92YXJpYWJsZXMvdXNlLWJlZm9yZS1kZWZpbmVkLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3VzZS1iZWZvcmUtZGVmaW5lZC5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItZmlsdGVyLWV4cGVjdGVkLnR4
dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWZpbHRlci5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJveC1y
ZWZsZWN0LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFi
bGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1wYWlyLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcGFpci5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXF1YWQtZXhwZWN0ZWQu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1x
dWFkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNp
ZGUtc2hhcGUtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJp
YWJsZXMvdmFyLWluc2lkZS1zaGFwZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3ZhcmlhYmxlcy92YXItaW5zaWRlLXNob3J0aGFuZC1leHBlY3RlZC5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXNob3J0aGFuZC5odG1sOiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS1jaGFpbi1leHBl
Y3RlZC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJs
ZS1jaGFpbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXJp
YWJsZS11bnBhcnNlYWJsZS12YWx1ZS1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLXVucGFyc2VhYmxlLXZhbHVlLWNyYXNo
Lmh0bWw6IFJlbW92ZWQuCisKIDIwMTMtMTEtMjcgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY29tPgogCiAgICAgICAgIFtHVEtdIFN1cHBvcnQgY3Vz
dG9tIHR5cGVzIGZvciBkcmFnIGFuZCBkcm9wIGRhdGEKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy9ib3JkZXItd2lkdGgtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvYm9yZGVyLXdpZHRoLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9ib3Jk
ZXItd2lkdGgtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTxz
dHlsZT4KLWRpdiB7Ci0gICAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgICBib3JkZXItc3R5bGU6
IHNvbGlkOwotICAgIGJvcmRlci13aWR0aDogM3B4IDEwcHg7Ci19Ci08L3N0eWxlPgotPGRpdj5U
aGlzIHRleHQgc2hvdWxkIGhhdmUgdG9wIGFuZCBib3R0b20gYm9yZGVycyBvZiAzcHggYW5kIGxl
ZnQgYW5kIHJpZ2h0IGJvcmRlcnMgb2YgMTBweDwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2JvcmRlci13aWR0aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9ib3JkZXItd2lkdGguaHRtbAkocmV2aXNpb24gMTU5ODM4
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2JvcmRlci13aWR0aC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotZGl2
IHsKLSAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKLSAgYm9y
ZGVyLXdpZHRoOiAtd2Via2l0LXZhcihhKSAtd2Via2l0LXZhcihiKTsKLSAgLXdlYmtpdC12YXIt
YTogM3B4OwotICAtd2Via2l0LXZhci1iOiAxMHB4Ci19Ci08L3N0eWxlPgotPGRpdj5UaGlzIHRl
eHQgc2hvdWxkIGhhdmUgdG9wIGFuZCBib3R0b20gYm9yZGVycyBvZiAzcHggYW5kIGxlZnQgYW5k
IHJpZ2h0IGJvcmRlcnMgb2YgMTBweDwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL2J1aWxkLXN1cHBvcnRzLXZhcmlhYmxlcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2J1aWxkLXN1cHBvcnRzLXZhcmlh
Ymxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy9idWlsZC1zdXBwb3J0cy12YXJpYWJsZXMtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVlFUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL2J1aWxkLXN1cHBvcnRzLXZhcmlhYmxlcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9idWlsZC1zdXBwb3J0cy12YXJpYWJsZXMuaHRt
bAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2J1
aWxkLXN1cHBvcnRzLXZhcmlhYmxlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBA
QAotPGJvZHk+Tk88L2JvZHk+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFy
aWFibGVzRW5hYmxlZCh0cnVlKTsKLWlmIChpbnRlcm5hbHMuc2V0dGluZ3MuY3NzVmFyaWFibGVz
RW5hYmxlZCgpKQotICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gIllFUyI7Ci08L3Njcmlw
dD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWV4cGVjdGVkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2NhbGMtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHN0eWxlPgotZGl2IHsKLSAgICBib3JkZXItY29s
b3I6IGdyZWVuOwotICAgIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdpZHRoOiAz
cHggMTBweDsKLX0KLTwvc3R5bGU+Ci08ZGl2PlRoaXMgdGV4dCBzaG91bGQgaGF2ZSB0b3AgYW5k
IGJvdHRvbSBib3JkZXJzIG9mIDNweCBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVycyBvZiAxMHB4
PC9kaXY+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2Fs
Yy1pbnNpZGUtY2FsYy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWluc2lkZS1jYWxjLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWluc2lkZS1j
YWxjLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgYm9yZGVyLWNvbG9yOiBncmVl
bjsKLSAgICBib3JkZXItc3R5bGU6IHNvbGlkOwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0
IHNob3VsZCBoYXZlIHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW5zaWRlLWNhbGMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnNpZGUt
Y2FsYy5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvY2FsYy1pbnNpZGUtY2FsYy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdz
LnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7
Ci0gIGJvcmRlci1jb2xvcjogZ3JlZW47Ci0gIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gIGJvcmRl
ci13aWR0aDogLXdlYmtpdC1jYWxjKC13ZWJraXQtdmFyKGEpICsgMXB4KTsKLSAgLXdlYmtpdC12
YXItYTogLXdlYmtpdC1jYWxjKDFweCArIDNweCk7Ci19Ci08L3N0eWxlPgotPGRpdj5UaGlzIHRl
eHQgc2hvdWxkIGhhdmUgdGhlIGRlZmF1bHQgYm9yZGVyIHdpZHRoPC9kaXY+Ci08L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnZhbGlkLXZhbHVlLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L2NhbGMtaW52YWxpZC12YWx1ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnZhbGlkLXZhbHVlLWV4cGVjdGVk
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgICBib3Jk
ZXItc3R5bGU6IHNvbGlkOwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZl
IHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxpZC12YWx1ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFsdWUuaHRt
bAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2Nh
bGMtaW52YWxpZC12YWx1ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENT
U1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIGJv
cmRlci1jb2xvcjogZ3JlZW47Ci0gIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gIGJvcmRlci13aWR0
aDogLXdlYmtpdC1jYWxjKC13ZWJraXQtdmFyKGEpICsgMXB4KTsKLSAgLXdlYmtpdC12YXItYTog
YmxhY2s7Ci19Ci08L3N0eWxlPgotPGRpdj5UaGlzIHRleHQgc2hvdWxkIGhhdmUgdGhlIGRlZmF1
bHQgYm9yZGVyIHdpZHRoPC9kaXY+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvY2FsYy1pbnZhbGlkLXZhcmlhYmxlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxpZC12YXJpYWJs
ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvY2FsYy1pbnZhbGlkLXZhcmlhYmxlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4K
LWRpdiB7Ci0gICAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgICBib3JkZXItc3R5bGU6IHNvbGlk
OwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRoZSBkZWZhdWx0IGJv
cmRlciB3aWR0aDwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2NhbGMtaW52YWxpZC12YXJpYWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFyaWFibGUuaHRtbAkocmV2aXNp
b24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxp
ZC12YXJpYWJsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1Zhcmlh
Ymxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIGJvcmRlci1j
b2xvcjogZ3JlZW47Ci0gIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gIGJvcmRlci13aWR0aDogLXdl
YmtpdC1jYWxjKC13ZWJraXQtdmFyKGEpICsgMXB4KTsKLX0KLTwvc3R5bGU+Ci08ZGl2PlRoaXMg
dGV4dCBzaG91bGQgaGF2ZSB0aGUgZGVmYXVsdCBib3JkZXIgd2lkdGg8L2Rpdj4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLW5lZ2F0ZWQtdmFyaWFi
bGUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvY2FsYy1uZWdhdGVkLXZhcmlhYmxlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgz
OCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLW5lZ2F0ZWQtdmFyaWFi
bGUtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPHN0eWxlPgotZGl2IHsKLSAgICBib3JkZXItY29sb3I6IGdyZWVu
OwotICAgIGJvcmRlci1zdHlsZTogc29saWQ7Ci19Ci08L3N0eWxlPgotPGRpdj5UaGlzIHRleHQg
c2hvdWxkIGhhdmUgdGhlIGRlZmF1bHQgYm9yZGVyIHdpZHRoPC9kaXY+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1uZWdhdGVkLXZhcmlhYmxlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtbmVn
YXRlZC12YXJpYWJsZS5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvY2FsYy1uZWdhdGVkLXZhcmlhYmxlLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0Pgot
PHN0eWxlPgotZGl2IHsKLSAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgYm9yZGVyLXN0eWxlOiBz
b2xpZDsKLSAgYm9yZGVyLXdpZHRoOiAtd2Via2l0LWNhbGMoLS13ZWJraXQtdmFyKGEpICsgMXB4
KTsKLSAgLXdlYmtpdC12YXItYTogNXB4OwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNo
b3VsZCBoYXZlIHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtdnctY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLXZ3LWNy
YXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL2NhbGMtdnctY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xICswLDAgQEAKLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNo
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtdnctY3Jhc2guaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy12dy1j
cmFzaC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvY2FsYy12dy1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci19Ci08L3NjcmlwdD4KLTxzdHlsZT4KLSNm
b28gewotICAtd2Via2l0LXZhci12YXIyMzogLXdlYmtpdC1jYWxjKDB2dyk7Ci19Ci08L3N0eWxl
PgotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCi08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLmh0bWwJKHJldmlzaW9u
IDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxz
Y3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsK
LTwvc2NyaXB0PgotPHN0eWxlPgotZGl2IHsKLSAgYm9yZGVyLWNvbG9yOiBncmVlbjsKLSAgYm9y
ZGVyLXN0eWxlOiBzb2xpZDsKLSAgYm9yZGVyLXdpZHRoOiAtd2Via2l0LWNhbGMoLXdlYmtpdC12
YXIoYSkgKyAtd2Via2l0LXZhcihiKSkgLXdlYmtpdC1jYWxjKC13ZWJraXQtdmFyKGMpICogLXdl
YmtpdC12YXIoZCkpOwotICAtd2Via2l0LXZhci1hOiAycHg7Ci0gIC13ZWJraXQtdmFyLWI6IDFw
eDsKLSAgLXdlYmtpdC12YXItYzogNTsKLSAgLXdlYmtpdC12YXItZDogMnB4OwotCi19Ci08L3N0
eWxlPgotPGRpdj5UaGlzIHRleHQgc2hvdWxkIGhhdmUgdG9wIGFuZCBib3R0b20gYm9yZGVycyBv
ZiAzcHggYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnMgb2YgMTBweDwvZGl2PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2Nhc2Utc2Vuc2l0aXZlLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2Nh
c2Utc2Vuc2l0aXZlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYXNlLXNlbnNpdGl2ZS1leHBlY3RlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxkaXY+
VGhpcyB0ZXh0IHNob3VsZCBoYXZlIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgbm8gbGVm
dCBwYWRkaW5nLjwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2Nhc2Utc2Vuc2l0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2Nhc2Utc2Vuc2l0aXZlLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYXNlLXNlbnNpdGl2ZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2Ny
aXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08
L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIGJhY2tncm91bmQtY29sb3I6IC13ZWJraXQtdmFy
KE5hTWUpOwotICAtd2Via2l0LXZhci1uQW1FOiBncmVlbjsKLSAgcGFkZGluZy1sZWZ0OiAtd2Vi
a2l0LXZhcihwYWRkaW5nKTsKLSAgLVdFQktJVC1WQVItcGFkZGluZzogMjAwcHg7Ci19Ci08L3N0
eWxlPgotPGRpdj5UaGlzIHRleHQgc2hvdWxkIGhhdmUgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5k
IGFuZCBubyBsZWZ0IHBhZGRpbmcuPC9kaXY+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvY29sb3JzLXRlc3QtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29sb3JzLXRlc3QtZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2Nv
bG9ycy10ZXN0LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCwwIEBACi08
c3R5bGU+Ci1ib2R5IHsKLSAgICBjb2xvcjogZ3JlZW47Ci0gICAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKLX0KLTwvc3R5
bGU+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gVGhl
cmUgc2hvdWxkIGJlIG5vIHJlZCB2aXNpYmxlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL2NvbG9ycy10ZXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2NvbG9ycy10ZXN0Lmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb2xvcnMtdGVzdC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDEzICswLDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NT
VmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotYm9keSB7Ci0gICAg
LXdlYmtpdC12YXItZm9yZWdyb3VuZDogZ3JlZW47Ci0gICAgLXdlYmtpdC12YXItYmFja2dyb3Vu
ZDogcmdiKDI1NSwgMjU1LCAyNTUpOwotICAgIGNvbG9yOiAtd2Via2l0LXZhcihmb3JlZ3JvdW5k
KTsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogLXdl
YmtpdC12YXIoYmFja2dyb3VuZCk7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBn
cmVlbiBvbiBhIHdoaXRlIGJhY2tncm91bmQuIFRoZXJlIHNob3VsZCBiZSBubyByZWQgdmlzaWJs
ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb21wbGV4LWN5Y2xlLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L2NvbXBsZXgtY3ljbGUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NvbXBsZXgtY3ljbGUtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBk
b2VzIG5vdCByZXN1bHQgaW4gYSBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9jb21wbGV4LWN5Y2xlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2NvbXBsZXgtY3ljbGUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NvbXBsZXgtY3ljbGUuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNl
dENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJvZHkgewot
ICAgIC13ZWJraXQtdmFyLWE6IC13ZWJraXQtdmFyKGYpOwotICAgIC13ZWJraXQtdmFyLWI6IC13
ZWJraXQtdmFyKGEpOwotICAgIC13ZWJraXQtdmFyLWM6IC13ZWJraXQtdmFyKGIpOwotICAgIC13
ZWJraXQtdmFyLWQ6IC13ZWJraXQtdmFyKGMpOwotICAgIC13ZWJraXQtdmFyLWU6IC13ZWJraXQt
dmFyKGQpOwotICAgIC13ZWJraXQtdmFyLWY6IC13ZWJraXQtdmFyKGUpOwotICAgIGNvbG9yOiAt
d2Via2l0LXZhcihhKTsKLX0KLTwvc3R5bGU+Ci1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBp
dCBkb2VzIG5vdCByZXN1bHQgaW4gYSBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29t
cHV0ZWQtc3R5bGUtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAK
LTxzdHlsZT4KLWJvZHkgewotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotfQotPC9zdHlsZT4KLTxi
b2R5PgotVGVzdCBwYXNzZWQgLSBjb21wdXRlZCBmb250IHdlaWdodCBpcyBib2xkCi08L2JvZHk+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29tcHV0ZWQtc3R5bGUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29tcHV0ZWQt
c3R5bGUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2NvbXB1dGVkLXN0eWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMjEgKzAsMCBA
QAotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRy
dWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICAtd2Via2l0LXZhci1hOiBib2xk
OwotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7Ci0gICAgZm9udC13ZWlnaHQ6IC13ZWJraXQtdmFy
KGEpOwotfQotPC9zdHlsZT4KLTxib2R5PgotVGVzdCBmYWlsZWQgLSBKUyBkaWQgbm90IHJ1bgot
PC9ib2R5PgotPHNjcmlwdD4KLXZhciBlbGVtZW50ID0gZG9jdW1lbnQuYm9keTsKLXZhciB3ZWln
aHQgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZh
bHVlKCJmb250LXdlaWdodCIpOwotaWYgKHdlaWdodCA9PSAiYm9sZCIpCi0gIGVsZW1lbnQuaW5u
ZXJIVE1MID0gIlRlc3QgcGFzc2VkIC0gY29tcHV0ZWQgZm9udCB3ZWlnaHQgaXMgYm9sZCI7Ci1l
bHNlCi0gIGVsZW1lbnQuaW5uZXJIVE1MID0gIlRlc3QgZmFpbGVkIC0gY29tcHV0ZWQgY29sb3Ig
aXMgIiArIHdlaWdodDsKLTwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2RlZmVycmVkLWltYWdlLWxvYWQtZnJvbS12YXJpYWJsZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2RlZmVycmVkLWltYWdl
LWxvYWQtZnJvbS12YXJpYWJsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1OTgzOCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZyb20tdmFy
aWFibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVRoaXMgdGVz
dCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL2RlZmVycmVkLWltYWdlLWxvYWQtZnJvbS12YXJpYWJsZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1p
bWFnZS1sb2FkLWZyb20tdmFyaWFibGUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2RlZmVycmVkLWltYWdlLWxvYWQtZnJvbS12YXJpYWJs
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRy
dWUpOwotfQotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotICAtd2Via2l0LXZhci1hOiB1cmwo
MSk7Ci0gIC13ZWJraXQtbWFzazogLXdlYmtpdC12YXIoYSk7Ci19Ci08L3N0eWxlPgotPGRpdj48
L2Rpdj4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2luaGVyaXRlZC12YWx1ZXMtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5o
ZXJpdGVkLXZhbHVlcy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5oZXJpdGVkLXZhbHVlcy1leHBlY3RlZC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPHN0eWxlPgotZGl2IHsKLSAgICBjb2xvcjog
Z3JlZW47Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwotfQotPC9z
dHlsZT4KLTxkaXY+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dy
b3VuZC4gVGhlcmUgc2hvdWxkIGJlIG5vIHJlZCB2aXNpYmxlLgotPC9kaXY+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5oZXJpdGVkLXZhbHVlcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbmhlcml0ZWQtdmFsdWVzLmh0
bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9p
bmhlcml0ZWQtdmFsdWVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotPHNj
cmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwot
PC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICAtd2Via2l0LXZhci1mb3JlZ3JvdW5kOiBn
cmVlbjsKLSAgICAtd2Via2l0LXZhci1iYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ci19
Ci1kaXYgewotICAgIGNvbG9yOiAtd2Via2l0LXZhcihmb3JlZ3JvdW5kKTsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogLXdlYmtpdC12YXIoYmFja2dy
b3VuZCk7Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4gb24g
YSB3aGl0ZSBiYWNrZ3JvdW5kLiBUaGVyZSBzaG91bGQgYmUgbm8gcmVkIHZpc2libGUuCi08L2Rp
dj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbmxpbmUtc3R5bGVzLWV4
cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L2lubGluZS1zdHlsZXMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2lubGluZS1zdHlsZXMtZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLTxkaXYgc3R5bGU9ImNvbG9yOiBncmVlbjsiPgot
VGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbiBvbiBhIHdoaXRlIGJhY2tncm91bmQuCi08L2Rpdj4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbmxpbmUtc3R5bGVzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2lubGluZS1zdHls
ZXMuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFi
bGVzL2lubGluZS1zdHlsZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTxz
Y3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsK
LTwvc2NyaXB0PgotPGJvZHkgc3R5bGU9Ii13ZWJraXQtdmFyLWE6IGdyZWVuOyI+Ci08ZGl2IHN0
eWxlPSJjb2xvcjogLXdlYmtpdC12YXIoYSk7Ij4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4g
b24gYSB3aGl0ZSBiYWNrZ3JvdW5kLgotPC9kaXY+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC1mb250LXJlZmVyZW5jZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtZm9u
dC1yZWZlcmVuY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC1mb250LXJlZmVyZW5jZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYg
aXQgZG9lcyBub3QgY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
aW52YWxpZC1mb250LXJlZmVyZW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLWZvbnQtcmVmZXJlbmNlLmh0bWwJKHJldmlzaW9uIDE1
OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLWZvbnQtcmVm
ZXJlbmNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFi
bGVzRW5hYmxlZCh0cnVlKTsKLX0KLTwvc2NyaXB0PgotPHN0eWxlPgotYm9keSB7Ci0gIGZvbnQ6
IC13ZWJraXQtdmFyKHZhcjYpIGhhbmd1bCBtb25nb2xpYW47Ci19Ci08L3N0eWxlPgotVGhpcyB0
ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCi08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC1zaG9ydGhhbmQtZXhwZWN0ZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxp
ZC1zaG9ydGhhbmQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtc2hvcnRoYW5kLWV4cGVjdGVkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi08ZGl2PgotVGhpcyB0ZXh0IHNob3VsZCBub3Qg
YmUgc3Vycm91bmRlZCBieSBhIGJvcmRlci4KLTwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2ludmFsaWQtc2hvcnRoYW5kLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtc2hvcnRoYW5kLmh0bWwJKHJldmlz
aW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXNo
b3J0aGFuZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLTxzY3JpcHQ+Ci1p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0
PgotPHN0eWxlPgotZGl2IHsKLSAgICAtd2Via2l0LXZhci1hOiAxMHB4IHNvbGlkIGdyZWVuOwot
ICAgIGJvcmRlcjogMTBweCAtd2Via2l0LXZhcihhKSBibHVlOwotfQotPC9zdHlsZT4KLTxkaXY+
Ci1UaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBzdXJyb3VuZGVkIGJ5IGEgYm9yZGVyLgotPC9kaXY+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC12YWx1ZS1saXN0
LWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92
YXJpYWJsZXMvaW52YWxpZC12YWx1ZS1saXN0LWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFsdWUt
bGlzdC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotVGhp
cyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC12YWx1ZS1saXN0LWNyYXNoLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFsdWUt
bGlzdC1jcmFzaC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvaW52YWxpZC12YWx1ZS1saXN0LWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTEgKzAsMCBAQAotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJs
ZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotLXdlYmtpdC12YXIt
YTogLXdlYmtpdC12YXIoYikgJiMwOwotfQotPC9zdHlsZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNz
ZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2ludmFsaWQtdmFyaWFibGUtdmFsdWUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC12YXJpYWJsZS12YWx1ZS1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92
YXJpYWJsZXMvaW52YWxpZC12YXJpYWJsZS12YWx1ZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzAsMCBAQAotPGRpdj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgYmxhY2suCi08
L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhcmlh
YmxlLXZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFi
bGVzL2ludmFsaWQtdmFyaWFibGUtdmFsdWUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFyaWFibGUtdmFsdWUuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRp
bmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRp
diB7Ci0gICAgLXdlYmtpdC12YXItYTogZ3JlZW47Ci0gICAgLXdlYmtpdC12YXItYTogMTBweDsK
LSAgICBjb2xvcjogLXdlYmtpdC12YXIoYSk7Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4
dCBzaG91bGQgYmUgYmxhY2suCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9tdWx0aS1sZXZlbC1jeWNsZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9tdWx0aS1sZXZlbC1jeWNsZS1leHBlY3RlZC5o
dG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
bXVsdGktbGV2ZWwtY3ljbGUtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsw
LDAgQEAKLTxkaXY+Ci08ZGl2PgotPGRpdj4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIHRo
aXMgdGV4dCBpcyBibGFjaywgYW5kIHRoZSB0ZXN0IGRvZXMgbm90IHJlc3VsdCBpbiBhIGNyYXNo
LgotPC9kaXY+Ci08L2Rpdj4KLTwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL211bHRpLWxldmVsLWN5Y2xlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL211bHRpLWxldmVsLWN5Y2xlLmh0bWwJKHJldmlzaW9uIDE1OTgz
OCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9tdWx0aS1sZXZlbC1jeWNsZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIzICswLDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxl
PgotLmEgewotICAgIC13ZWJraXQtdmFyLWE6IC13ZWJraXQtdmFyKGIpOwotICAgIC13ZWJraXQt
dmFyLWI6IHJlZDsKLX0KLS5iIHsKLSAgICAtd2Via2l0LXZhci1iOiAtd2Via2l0LXZhcihhKTsK
LX0KLS5jIHsKLSAgICAtd2Via2l0LXZhci1jOiAtd2Via2l0LXZhcihhKTsKLSAgICBjb2xvcjog
LXdlYmtpdC12YXIoYyk7Ci19Ci08L3N0eWxlPgotPGRpdiBpZD0iYSI+Ci08ZGl2IGlkPSJiIj4K
LTxkaXYgaWQ9ImMiPgotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgdGhpcyB0ZXh0IGlzIGJs
YWNrLCBhbmQgdGhlIHRlc3QgZG9lcyBub3QgcmVzdWx0IGluIGEgY3Jhc2guCi08L2Rpdj4KLTwv
ZGl2PgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcmVkZWZp
bml0aW9uLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3JlZGVmaW5pdGlvbi1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcmVkZWZpbml0aW9uLWV4cGVjdGVkLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08ZGl2IHN0eWxlPSJjb2xvcjogcmVk
OyI+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIHJlZC4KLTwvZGl2PgotPGRpdiBpZD0iYSIgc3R5bGU9
ImNvbG9yOiBncmVlbjsiPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbi4KLTwvZGl2PgotPGRp
diBpZD0iYiIgc3R5bGU9ImNvbG9yOiBibHVlOyI+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGJsdWUu
Ci08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9yZWRlZmluaXRp
b24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcmVk
ZWZpbml0aW9uLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9yZWRlZmluaXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMCww
IEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQo
dHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJvZHkgewotICAgIC13ZWJraXQtdmFyLWE6IHJl
ZDsKLX0KLSNhIHsKLSAgICAtd2Via2l0LXZhci1hOiBncmVlbjsKLX0KLSNiIHsKLSAgICAtd2Vi
a2l0LXZhci1hOiBibHVlOwotfQotZGl2IHsKLSAgICBjb2xvcjogLXdlYmtpdC12YXIoYSk7Ci19
Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgcmVkLgotPC9kaXY+Ci08ZGl2
IGlkPSJhIj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uCi08L2Rpdj4KLTxkaXYgaWQ9ImIi
PgotVGhpcyB0ZXh0IHNob3VsZCBiZSBibHVlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvcm9vdC1iYWNrZ3JvdW5kLXNpemUtZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcm9vdC1iYWNrZ3JvdW5k
LXNpemUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL3Jvb3QtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotVGhpcyB0
ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCi08L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcm9vdC1iYWNrZ3JvdW5kLXNpemUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvcm9vdC1iYWNrZ3Jv
dW5kLXNpemUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Jvb3QtYmFja2dyb3VuZC1zaXplLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxl
ZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotOnJvb3QgewotICAtd2Via2l0LWJhY2tncm91
bmQtc2l6ZTogLXdlYmtpdC1jYWxjKC13ZWJraXQtdmFyKGEpKTsKLX0KLTwvc3R5bGU+Ci08c3R5
bGU+PC9zdHlsZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNo
LgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Nob3J0aGFu
ZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy9zaG9ydGhhbmQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Nob3J0aGFuZC1leHBlY3RlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPHN0eWxlPgotZGl2IHsKLSAgICBib3JkZXI6IDEwcHgg
c29saWQgZ3JlZW47Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgc3Vy
cm91bmRlZCBieSBhIGdyZWVuIGJvcmRlci4gVGhlcmUgc2hvdWxkIG5vdCBiZSBhIHJlZCBib3Jk
ZXIuCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9zaG9ydGhh
bmQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc2hv
cnRoYW5kLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9zaG9ydGhhbmQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08
c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7
Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgLXdlYmtpdC12YXItbXlib3JkZXI6IDEw
cHggc29saWQgZ3JlZW47Ci0gICAgYm9yZGVyOiAxMHB4IGRhc2hlZCByZWQ7Ci0gICAgYm9yZGVy
OiAtd2Via2l0LXZhcihteWJvcmRlcik7Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBz
aG91bGQgYmUgc3Vycm91bmRlZCBieSBhIGdyZWVuIGJvcmRlci4gVGhlcmUgc2hvdWxkIG5vdCBi
ZSBhIHJlZCBib3JkZXIuCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy9zaW1wbGUtY3ljbGUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvc2ltcGxlLWN5Y2xlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9zaW1wbGUtY3ljbGUt
ZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgaXMg
c3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCByZXN1bHQgaW4gYSBjcmFzaC4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9zaW1wbGUtY3ljbGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc2ltcGxlLWN5Y2xlLmh0bWwJKHJldmlz
aW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9zaW1wbGUtY3lj
bGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMCArMCwwIEBACi08c2NyaXB0PgotaW50ZXJu
YWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLWJvZHkgewotICAgIC13ZWJraXQtdmFyLWE6IC13ZWJraXQtdmFyKGEpOwotICAgIGNv
bG9yOiAtd2Via2l0LXZhcihhKTsKLX0KLTwvc3R5bGU+Ci1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1
bCBpZiBpdCBkb2VzIG5vdCByZXN1bHQgaW4gYSBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy90cmFuc2Zvcm0tdGVzdC1leHBlY3RlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90cmFuc2Zvcm0tdGVzdC1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvdHJhbnNmb3JtLXRlc3QtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsw
LDAgQEAKLTxzdHlsZT4KLWRpdiB7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIC13
ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMC44NjYsMC41LC0wLjUsMC44NjYsMCwwKTsKLSAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKLX0KLTwvc3R5bGU+Ci08ZGl2PlJvdGF0ZWQ8L2Rpdj4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90cmFuc2Zvcm0tdGVzdC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90cmFuc2Zvcm0t
dGVzdC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdHJhbnNmb3JtLXRlc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBA
Ci08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1
ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OwotICAgIC13ZWJraXQtdmFyLWE6IDAuODY2OwotICAgIC13ZWJraXQtdmFyLWI6IDAuNTsKLSAg
ICAtd2Via2l0LXZhci1jOiAtMC41OwotICAgIC13ZWJraXQtdmFyLWQ6IDA7Ci0gICAgLXdlYmtp
dC10cmFuc2Zvcm06IG1hdHJpeCgtd2Via2l0LXZhcihhKSwtd2Via2l0LXZhcihiKSwtd2Via2l0
LXZhcihjKSwtd2Via2l0LXZhcihhKSwtd2Via2l0LXZhcihkKSwtd2Via2l0LXZhcihkKSk7Ci0g
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci19Ci08L3N0eWxlPgotPGRpdj5Sb3RhdGVkPC9k
aXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdW5kZWZpbmVkLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Vu
ZGVmaW5lZC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvdW5kZWZpbmVkLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEgKzAsMCBAQAotVGVzdCBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNhdXNlIGEgY3Jh
c2guCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdW5kZWZpbmVkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VuZGVmaW5lZC5o
dG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
dW5kZWZpbmVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMCwwIEBACi08c2NyaXB0Pgot
aW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3Njcmlw
dD4KLTxzdHlsZT4KLWJvZHkgewotICAgIGJvcmRlcjogLXdlYmtpdC12YXIobXlib3JkZXIpOwot
fQotPC9zdHlsZT4KLVRlc3Qgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBjYXVzZSBhIGNyYXNo
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VzZS1iZWZvcmUtZGVmaW5l
ZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy91c2UtYmVmb3JlLWRlZmluZWQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VzZS1iZWZvcmUtZGVmaW5lZC1leHBl
Y3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzAsMCBAQAotPHN0eWxlPgotZGl2IHsK
LSAgICBjb2xvcjogZ3JlZW47Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBzaG91bGQg
YmUgZ3JlZW4gb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLiBUaGVyZSBzaG91bGQgYmUgbm8gcmVkIHZp
c2libGUuCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy91c2Ut
YmVmb3JlLWRlZmluZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92
YXJpYWJsZXMvdXNlLWJlZm9yZS1kZWZpbmVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy91c2UtYmVmb3JlLWRlZmluZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdz
LnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7
Ci0gICAgY29sb3I6IC13ZWJraXQtdmFyKGEpOwotICAgIC13ZWJraXQtdmFyLWE6IC13ZWJraXQt
dmFyKGIpOwotfQotYm9keSB7Ci0gICAgLXdlYmtpdC12YXItYjogLXdlYmtpdC12YXIoYyk7Ci0g
ICAgLXdlYmtpdC12YXItYzogZ3JlZW47Ci19Ci08L3N0eWxlPgotPGRpdj4KLVRoaXMgdGV4dCBz
aG91bGQgYmUgZ3JlZW4gb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLiBUaGVyZSBzaG91bGQgYmUgbm8g
cmVkIHZpc2libGUuCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy92YXItZmlsdGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdmFyLWZpbHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItZmlsdGVyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBp
ZiBpdCBkb2VzIG5vdCBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy92YXItZmlsdGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL3Zhci1maWx0ZXIuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1maWx0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwx
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLWludGVybmFscy5zZXR0
aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1i
b2R5IHsKLSAgLXdlYmtpdC12YXItYTogdXJsKDEpOwotICAtd2Via2l0LWZpbHRlcjogLXdlYmtp
dC12YXIoYSk7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9l
cyBub3QgY3Jhc2guCi08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJveC1yZWZsZWN0LWV4cGVj
dGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy92YXItaW5zaWRlLWJveC1yZWZsZWN0LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHN0eWxlPgotZGl2IHsK
LSAgLXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgNXB4OwotfQotPC9zdHlsZT4KLTxkaXY+VGhp
cyB0ZXh0IHNob3VsZCBiZSByZWZsZWN0ZWQgb24gdGhlIHJpZ2h0LjwvZGl2PgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxl
Y3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFy
LWluc2lkZS1ib3gtcmVmbGVjdC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0
PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1Zh
cmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIC13ZWJr
aXQtYm94LXJlZmxlY3Q6IC13ZWJraXQtdmFyKGEpIC13ZWJraXQtY2FsYygtd2Via2l0LXZhcihi
KSk7Ci0gIC13ZWJraXQtdmFyLWE6IGJlbG93OwotICAtd2Via2l0LXZhci1iOiA1cHg7Ci19Ci08
L3N0eWxlPgotPGRpdj5UaGlzIHRleHQgc2hvdWxkIGJlIHJlZmxlY3RlZCBvbiB0aGUgcmlnaHQu
PC9kaXY+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFy
LWluc2lkZS1wYWlyLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcGFpci1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAx
NTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1wYWly
LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLWJvZHkgewotICAgIGJvcmRlcjogMXB4IHNvbGlkIGdy
ZWVuOwotICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweCA2cHg7Ci19Ci08L3N0eWxlPgot
VGhpcyB0ZXh0IHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgZ3JlZW4gYm9yZGVyIHdpdGggYSBy
b3VuZGVkIHRvcCBsZWZ0IGNvcm5lci4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXBhaXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1wYWlyLmh0bWwJKHJldmlzaW9uIDE1
OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXBhaXIu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1i
b2R5IHsKLSAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKLSAgICBib3JkZXItdG9wLWxlZnQt
cmFkaXVzOiAtd2Via2l0LXZhcihhKSAtd2Via2l0LXZhcihiKTsKLSAgICAtd2Via2l0LXZhci1h
OiAzcHg7Ci0gICAgLXdlYmtpdC12YXItYjogNnB4OwotfQotPC9zdHlsZT4KLVRoaXMgdGV4dCBz
aG91bGQgYmUgc3Vycm91bmRlZCBieSBhIGdyZWVuIGJvcmRlciB3aXRoIGEgcm91bmRlZCB0b3Ag
bGVmdCBjb3JuZXIuCi08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvdmFyLWluc2lkZS1xdWFkLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcXVhZC1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lk
ZS1xdWFkLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLWJvZHkgewotICAgIGJvcmRlci1jb2xvcjog
Z3JlZW47Ci0gICAgYm9yZGVyLXdpZHRoOiAxcHggMnB4IDNweCA0cHg7Ci0gICAgYm9yZGVyLXN0
eWxlOiBzb2xpZDsKLX0KLTwvc3R5bGU+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIHN1cnJvdW5kZWQg
YnkgYSBncmVlbiBib3JkZXIgd2l0aCAxcHggdG9wLCAycHggcmlnaHQsIDNweCBib3R0b20sIDRw
eCBsZWZ0LgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zh
ci1pbnNpZGUtcXVhZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy92YXItaW5zaWRlLXF1YWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcXVhZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1Zhcmlh
Ymxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJvZHkgewotICAgIGJvcmRl
ci1jb2xvcjogZ3JlZW47Ci0gICAgYm9yZGVyLXdpZHRoOiAtd2Via2l0LXZhcihhKSAtd2Via2l0
LXZhcihiKSAtd2Via2l0LXZhcihjKSAtd2Via2l0LXZhcihkKTsKLSAgICBib3JkZXItc3R5bGU6
IHNvbGlkOwotICAgIC13ZWJraXQtdmFyLWE6IDFweDsKLSAgICAtd2Via2l0LXZhci1iOiAycHg7
Ci0gICAgLXdlYmtpdC12YXItYzogM3B4OwotICAgIC13ZWJraXQtdmFyLWQ6IDRweDsKLX0KLTwv
c3R5bGU+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIHN1cnJvdW5kZWQgYnkgYSBncmVlbiBib3JkZXIg
d2l0aCAxcHggdG9wLCAycHggcmlnaHQsIDNweCBib3R0b20sIDRweCBsZWZ0LgotPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hhcGUtZXhw
ZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
dmFyLWluc2lkZS1zaGFwZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1zaGFwZS1leHBlY3RlZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldENTU0V4Y2x1c2lvbnNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci0uYSB7
Ci0gICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IGVsbGlwc2UoMTAwcHgsIDEwMHB4LCAxMDBweCwg
MTAwcHgpOwotfQotLmIgewotICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiBjaXJjbGUoMTAwcHgs
IDEwMHB4LCAxMDBweCk7Ci19Ci0uYyB7Ci0gICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3Rh
bmdsZSgxMDBweCwgMTAwcHgsIDEwMHB4LCAxMDBweCk7Ci19Ci0uZCB7Ci0gICAgaGVpZ2h0OiAx
MDBweDsKLSAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcG9seWdvbigxMCUgMTAwJSwgMTAwJSA1
MCUsIDUwJSAxMCUpOwotfQotPC9zdHlsZT4KLTxkaXYgY2xhc3M9ImEiPgotU29tZSB0ZXh0IGlu
c2lkZSBhbiBhcmVhIGluc2lkZSB3aGljaCBpbmxpbmUgY29udGVudCBjYW4gZmxvdy4KLTwvZGl2
PgotPGRpdiBjbGFzcz0iYiI+Ci1Tb21lIHRleHQgaW5zaWRlIGFuIGFyZWEgaW5zaWRlIHdoaWNo
IGlubGluZSBjb250ZW50IGNhbiBmbG93LgotPC9kaXY+Ci08ZGl2IGNsYXNzPSJjIj4KLVNvbWUg
dGV4dCBpbnNpZGUgYW4gYXJlYSBpbnNpZGUgd2hpY2ggaW5saW5lIGNvbnRlbnQgY2FuIGZsb3cu
Ci08L2Rpdj4KLTxkaXYgY2xhc3M9ImQiPgotU29tZSB0ZXh0IGluc2lkZSBhbiBhcmVhIGluc2lk
ZSB3aGljaCBpbmxpbmUgY29udGVudCBjYW4gZmxvdy4KLTwvZGl2PgotPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hhcGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1zaGFw
ZS5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvdmFyLWluc2lkZS1zaGFwZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQyICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsK
LSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7Ci19
Ci08L3NjcmlwdD4KLTxzdHlsZT4KLTpyb290IHsKLSAgICAtd2Via2l0LXZhci1hOiAxMDBweDsK
LSAgICAtd2Via2l0LXZhci1iOiAxMDAlOwotICAgIC13ZWJraXQtdmFyLWM6IDUwJTsKLSAgICAt
d2Via2l0LXZhci1kOiAxMCU7Ci19Ci0uYSB7Ci0gICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IGVs
bGlwc2UoLXdlYmtpdC12YXIoYSksIC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSwgLXdl
YmtpdC12YXIoYSkpOwotfQotLmIgewotICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiBjaXJjbGUo
LXdlYmtpdC12YXIoYSksIC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSk7Ci19Ci0uYyB7
Ci0gICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHJlY3RhbmdsZSgtd2Via2l0LXZhcihhKSwgLXdl
YmtpdC12YXIoYSksIC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSk7Ci19Ci0uZCB7Ci0g
ICAgaGVpZ2h0OiAtd2Via2l0LXZhcihhKTsKLSAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogcG9s
eWdvbigtd2Via2l0LXZhcihkKSAtd2Via2l0LXZhcihiKSwgLXdlYmtpdC12YXIoYikgLXdlYmtp
dC12YXIoYyksIC13ZWJraXQtdmFyKGMpIC13ZWJraXQtdmFyKGQpKTsKLX0KLTwvc3R5bGU+Ci08
ZGl2IGNsYXNzPSJhIj4KLVNvbWUgdGV4dCBpbnNpZGUgYW4gYXJlYSBpbnNpZGUgd2hpY2ggaW5s
aW5lIGNvbnRlbnQgY2FuIGZsb3cuCi08L2Rpdj4KLTxkaXYgY2xhc3M9ImIiPgotU29tZSB0ZXh0
IGluc2lkZSBhbiBhcmVhIGluc2lkZSB3aGljaCBpbmxpbmUgY29udGVudCBjYW4gZmxvdy4KLTwv
ZGl2PgotPGRpdiBjbGFzcz0iYyI+Ci1Tb21lIHRleHQgaW5zaWRlIGFuIGFyZWEgaW5zaWRlIHdo
aWNoIGlubGluZSBjb250ZW50IGNhbiBmbG93LgotPC9kaXY+Ci08ZGl2IGNsYXNzPSJkIj4KLVNv
bWUgdGV4dCBpbnNpZGUgYW4gYXJlYSBpbnNpZGUgd2hpY2ggaW5saW5lIGNvbnRlbnQgY2FuIGZs
b3cuCi08L2Rpdj4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy92YXItaW5zaWRlLXNob3J0aGFuZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXNob3J0aGFuZC1leHBlY3RlZC5o
dG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
dmFyLWluc2lkZS1zaG9ydGhhbmQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3
ICswLDAgQEAKLTxzdHlsZT4KLWJvZHkgewotICAgIGJvcmRlcjogMTBweCBzb2xpZCBncmVlbjsK
LX0KLTwvc3R5bGU+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIHN1cnJvdW5kZWQgYnkgYSBncmVlbiBi
b3JkZXIuIFRoZXJlIHNob3VsZCBiZSBubyByZWQgdmlzaWJsZS4KLQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hvcnRoYW5kLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hvcnRoYW5k
Lmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy92YXItaW5zaWRlLXNob3J0aGFuZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAg
QEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0
cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotYm9keSB7Ci0gICAgLXdlYmtpdC12YXItTXlCb3Jk
ZXJDb2xvcjogZ3JlZW47Ci0gICAgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDsKLSAgICBib3JkZXI6
IDEwcHggc29saWQgLXdlYmtpdC12YXIoTXlCb3JkZXJDb2xvcik7Ci19Ci08L3N0eWxlPgotVGhp
cyB0ZXh0IHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgZ3JlZW4gYm9yZGVyLiBUaGVyZSBzaG91
bGQgYmUgbm8gcmVkIHZpc2libGUuCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy92YXJpYWJsZS1jaGFpbi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS1jaGFpbi1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUt
Y2hhaW4tZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTxzdHls
ZT4KLWRpdiB7Ci0gICAgY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1UaGlzIHRl
eHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gVGhlcmUgc2hvdWxkIGJl
IG5vIHJlZCB2aXNpYmxlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdmFyaWFibGUtY2hhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtY2hhaW4uaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLWNoYWluLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTcgKzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5z
ZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsK
LSAgICAtd2Via2l0LXZhci1jOiBncmVlbjsKLSAgICAtd2Via2l0LXZhci1iOiAtd2Via2l0LXZh
cihjKTsKLX0KLWRpdiB7Ci0gICAgY29sb3I6IHJlZDsKLSAgICAtd2Via2l0LXZhci1hOiAtd2Vi
a2l0LXZhcihiKTsKLSAgICBjb2xvcjogLXdlYmtpdC12YXIoYSk7Ci19Ci08L3N0eWxlPgotPGRp
dj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4gb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLiBUaGVy
ZSBzaG91bGQgYmUgbm8gcmVkIHZpc2libGUuCi08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS11bnBhcnNlYWJsZS12YWx1ZS1jcmFzaC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhcmlh
YmxlLXVucGFyc2VhYmxlLXZhbHVlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU5ODM4
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLXVucGFyc2VhYmxl
LXZhbHVlLWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1U
aGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS11bnBhcnNlYWJsZS12YWx1ZS1jcmFz
aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXJp
YWJsZS11bnBhcnNlYWJsZS12YWx1ZS1jcmFzaC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtdW5wYXJzZWFibGUtdmFsdWUt
Y3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMCwwIEBACi08c2NyaXB0PgotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotaW50ZXJu
YWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLWRpdiB7Ci0gICAgLXdlYmtpdC12YXItYjogMXB4cHg7Ci19Ci08L3N0eWxlPgotVGhp
cyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvYm9yZGVyLXdpZHRoLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2JvcmRlci13aWR0aC1leHBl
Y3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvYm9yZGVyLXdpZHRoLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCAr
MCwwIEBACi08c3R5bGU+Ci1kaXYgewotICAgIGJvcmRlci1jb2xvcjogZ3JlZW47Ci0gICAgYm9y
ZGVyLXN0eWxlOiBzb2xpZDsKLSAgICBib3JkZXItd2lkdGg6IDNweCAxMHB4OwotfQotPC9zdHls
ZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRvcCBhbmQgYm90dG9tIGJvcmRlcnMgb2Yg
M3B4IGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzIG9mIDEwcHg8L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9ib3JkZXItd2lkdGguaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvYm9yZGVyLXdpZHRoLmh0bWwJKHJldmlz
aW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9ib3JkZXItd2lk
dGguaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08c2NyaXB0PgotaW50ZXJu
YWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxz
dHlsZT4KLWRpdiB7Ci0gIGJvcmRlci1jb2xvcjogZ3JlZW47Ci0gIGJvcmRlci1zdHlsZTogc29s
aWQ7Ci0gIGJvcmRlci13aWR0aDogLXdlYmtpdC12YXIoYSkgLXdlYmtpdC12YXIoYik7Ci0gIC13
ZWJraXQtdmFyLWE6IDNweDsKLSAgLXdlYmtpdC12YXItYjogMTBweAotfQotPC9zdHlsZT4KLTxk
aXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRvcCBhbmQgYm90dG9tIGJvcmRlcnMgb2YgM3B4IGFu
ZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzIG9mIDEwcHg8L2Rpdj4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9idWlsZC1zdXBwb3J0cy12YXJpYWJsZXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9idWlsZC1zdXBw
b3J0cy12YXJpYWJsZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvYnVpbGQtc3VwcG9ydHMtdmFyaWFibGVzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBACi1ZRVMKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9idWlsZC1zdXBwb3J0cy12YXJpYWJsZXMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvYnVpbGQtc3VwcG9ydHMtdmFy
aWFibGVzLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9idWlsZC1zdXBwb3J0cy12YXJpYWJsZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSw5ICswLDAgQEAKLTxib2R5Pk5PPC9ib2R5PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotaW50ZXJuYWxzLnNldHRpbmdz
LnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci1pZiAoaW50ZXJuYWxzLnNldHRpbmdzLmNz
c1ZhcmlhYmxlc0VuYWJsZWQoKSkKLSAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJZRVMi
OwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy9jYWxjLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAg
Ym9yZGVyLWNvbG9yOiBncmVlbjsKLSAgICBib3JkZXItc3R5bGU6IHNvbGlkOwotICAgIGJvcmRl
ci13aWR0aDogM3B4IDEwcHg7Ci19Ci08L3N0eWxlPgotPGRpdj5UaGlzIHRleHQgc2hvdWxkIGhh
dmUgdG9wIGFuZCBib3R0b20gYm9yZGVycyBvZiAzcHggYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRl
cnMgb2YgMTBweDwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2NhbGMtaW5zaWRlLWNhbGMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnNpZGUtY2FsYy1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2Fs
Yy1pbnNpZGUtY2FsYy1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c3R5bGU+Ci1kaXYgewotICAgIGJvcmRlci1j
b2xvcjogZ3JlZW47Ci0gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKLX0KLTwvc3R5bGU+Ci08ZGl2
PlRoaXMgdGV4dCBzaG91bGQgaGF2ZSB0aGUgZGVmYXVsdCBib3JkZXIgd2lkdGg8L2Rpdj4KLTwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWluc2lkZS1j
YWxjLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2Nh
bGMtaW5zaWRlLWNhbGMuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2NhbGMtaW5zaWRlLWNhbGMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwxNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWludGVybmFs
cy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5
bGU+Ci1kaXYgewotICBib3JkZXItY29sb3I6IGdyZWVuOwotICBib3JkZXItc3R5bGU6IHNvbGlk
OwotICBib3JkZXItd2lkdGg6IC13ZWJraXQtY2FsYygtd2Via2l0LXZhcihhKSArIDFweCk7Ci0g
IC13ZWJraXQtdmFyLWE6IC13ZWJraXQtY2FsYygxcHggKyAzcHgpOwotfQotPC9zdHlsZT4KLTxk
aXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2Pgot
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxp
ZC12YWx1ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5
ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxpZC12YWx1
ZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08c3R5bGU+Ci1kaXYgewotICAgIGJvcmRlci1jb2xvcjogZ3JlZW47
Ci0gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKLX0KLTwvc3R5bGU+Ci08ZGl2PlRoaXMgdGV4dCBz
aG91bGQgaGF2ZSB0aGUgZGVmYXVsdCBib3JkZXIgd2lkdGg8L2Rpdj4KLTwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFsdWUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnZhbGlk
LXZhbHVlLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9jYWxjLWludmFsaWQtdmFsdWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWludGVybmFscy5zZXR0
aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1k
aXYgewotICBib3JkZXItY29sb3I6IGdyZWVuOwotICBib3JkZXItc3R5bGU6IHNvbGlkOwotICBi
b3JkZXItd2lkdGg6IC13ZWJraXQtY2FsYygtd2Via2l0LXZhcihhKSArIDFweCk7Ci0gIC13ZWJr
aXQtdmFyLWE6IGJsYWNrOwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZl
IHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxpZC12YXJpYWJsZS1leHBlY3RlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFs
aWQtdmFyaWFibGUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtaW52YWxpZC12YXJpYWJsZS1leHBlY3RlZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08c3R5bGU+Ci1kaXYgewotICAgIGJvcmRlci1jb2xvcjogZ3JlZW47Ci0gICAgYm9yZGVyLXN0
eWxlOiBzb2xpZDsKLX0KLTwvc3R5bGU+Ci08ZGl2PlRoaXMgdGV4dCBzaG91bGQgaGF2ZSB0aGUg
ZGVmYXVsdCBib3JkZXIgd2lkdGg8L2Rpdj4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9jYWxjLWludmFsaWQtdmFyaWFibGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1pbnZhbGlkLXZhcmlhYmxlLmh0
bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9j
YWxjLWludmFsaWQtdmFyaWFibGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNCArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5z
ZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewot
ICBib3JkZXItY29sb3I6IGdyZWVuOwotICBib3JkZXItc3R5bGU6IHNvbGlkOwotICBib3JkZXIt
d2lkdGg6IC13ZWJraXQtY2FsYygtd2Via2l0LXZhcihhKSArIDFweCk7Ci19Ci08L3N0eWxlPgot
PGRpdj5UaGlzIHRleHQgc2hvdWxkIGhhdmUgdGhlIGRlZmF1bHQgYm9yZGVyIHdpZHRoPC9kaXY+
Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1uZWdh
dGVkLXZhcmlhYmxlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2NhbGMtbmVnYXRlZC12YXJpYWJsZS1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy1uZWdh
dGVkLXZhcmlhYmxlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgYm9yZGVyLWNv
bG9yOiBncmVlbjsKLSAgICBib3JkZXItc3R5bGU6IHNvbGlkOwotfQotPC9zdHlsZT4KLTxkaXY+
VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRoZSBkZWZhdWx0IGJvcmRlciB3aWR0aDwvZGl2PgotPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtbmVnYXRlZC12
YXJpYWJsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy9jYWxjLW5lZ2F0ZWQtdmFyaWFibGUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMtbmVnYXRlZC12YXJpYWJsZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2Ny
aXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08
L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIGJvcmRlci1jb2xvcjogZ3JlZW47Ci0gIGJvcmRl
ci1zdHlsZTogc29saWQ7Ci0gIGJvcmRlci13aWR0aDogLXdlYmtpdC1jYWxjKC0td2Via2l0LXZh
cihhKSArIDFweCk7Ci0gIC13ZWJraXQtdmFyLWE6IDVweDsKLX0KLTwvc3R5bGU+Ci08ZGl2PlRo
aXMgdGV4dCBzaG91bGQgaGF2ZSB0aGUgZGVmYXVsdCBib3JkZXIgd2lkdGg8L2Rpdj4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLXZ3LWNyYXNoLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
Y2FsYy12dy1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLXZ3LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSArMCwwIEBACi1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2Vz
IG5vdCBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYWxjLXZ3
LWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L2NhbGMtdnctY3Jhc2guaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL2NhbGMtdnctY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwx
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotfQotPC9zY3JpcHQ+Ci08
c3R5bGU+Ci0jZm9vIHsKLSAgLXdlYmtpdC12YXItdmFyMjM6IC13ZWJraXQtY2FsYygwdncpOwot
fQotPC9zdHlsZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNo
LgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NhbGMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FsYy5odG1s
CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2Fs
Yy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJs
ZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gIGJvcmRlci1jb2xvcjogZ3Jl
ZW47Ci0gIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gIGJvcmRlci13aWR0aDogLXdlYmtpdC1jYWxj
KC13ZWJraXQtdmFyKGEpICsgLXdlYmtpdC12YXIoYikpIC13ZWJraXQtY2FsYygtd2Via2l0LXZh
cihjKSAqIC13ZWJraXQtdmFyKGQpKTsKLSAgLXdlYmtpdC12YXItYTogMnB4OwotICAtd2Via2l0
LXZhci1iOiAxcHg7Ci0gIC13ZWJraXQtdmFyLWM6IDU7Ci0gIC13ZWJraXQtdmFyLWQ6IDJweDsK
LQotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIHRvcCBhbmQgYm90dG9t
IGJvcmRlcnMgb2YgM3B4IGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzIG9mIDEwcHg8L2Rpdj4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYXNlLXNlbnNp
dGl2ZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9jYXNlLXNlbnNpdGl2ZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08ZGl2PlRoaXMgdGV4dCBzaG91bGQgaGF2ZSBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQg
YW5kIG5vIGxlZnQgcGFkZGluZy48L2Rpdj4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9jYXNlLXNlbnNpdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jYXNlLXNlbnNpdGl2ZS5odG1sCShyZXZpc2lvbiAx
NTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY2FzZS1zZW5zaXRpdmUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVk
KHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotICBiYWNrZ3JvdW5kLWNvbG9yOiAt
d2Via2l0LXZhcihOYU1lKTsKLSAgLXdlYmtpdC12YXItbkFtRTogZ3JlZW47Ci0gIHBhZGRpbmct
bGVmdDogLXdlYmtpdC12YXIocGFkZGluZyk7Ci0gIC1XRUJLSVQtVkFSLXBhZGRpbmc6IDIwMHB4
OwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBoYXZlIGEgdHJhbnNwYXJlbnQg
YmFja2dyb3VuZCBhbmQgbm8gbGVmdCBwYWRkaW5nLjwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NvbG9ycy10ZXN0LWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NvbG9ycy10ZXN0LWV4
cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy9jb2xvcnMtdGVzdC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDgg
KzAsMCBAQAotPHN0eWxlPgotYm9keSB7Ci0gICAgY29sb3I6IGdyZWVuOwotICAgIGJhY2tncm91
bmQtY29sb3I6IHJlZDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7
Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbiBvbiBhIHdoaXRlIGJhY2tn
cm91bmQuIFRoZXJlIHNob3VsZCBiZSBubyByZWQgdmlzaWJsZS4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb2xvcnMtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb2xvcnMtdGVzdC5odG1sCShyZXZpc2lvbiAxNTk4
MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29sb3JzLXRlc3QuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSwxMyArMCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRp
bmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJv
ZHkgewotICAgIC13ZWJraXQtdmFyLWZvcmVncm91bmQ6IGdyZWVuOwotICAgIC13ZWJraXQtdmFy
LWJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTsKLSAgICBjb2xvcjogLXdlYmtpdC12YXIo
Zm9yZWdyb3VuZCk7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotICAgIGJhY2tncm91bmQt
Y29sb3I6IC13ZWJraXQtdmFyKGJhY2tncm91bmQpOwotfQotPC9zdHlsZT4KLVRoaXMgdGV4dCBz
aG91bGQgYmUgZ3JlZW4gb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLiBUaGVyZSBzaG91bGQgYmUgbm8g
cmVkIHZpc2libGUuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29tcGxl
eC1jeWNsZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9jb21wbGV4LWN5Y2xlLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb21wbGV4LWN5Y2xlLWV4cGVjdGVk
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3Nm
dWwgaWYgaXQgZG9lcyBub3QgcmVzdWx0IGluIGEgY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvY29tcGxleC1jeWNsZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb21wbGV4LWN5Y2xlLmh0bWwJKHJldmlzaW9uIDE1
OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9jb21wbGV4LWN5Y2xlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFscy5z
ZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+
Ci1ib2R5IHsKLSAgICAtd2Via2l0LXZhci1hOiAtd2Via2l0LXZhcihmKTsKLSAgICAtd2Via2l0
LXZhci1iOiAtd2Via2l0LXZhcihhKTsKLSAgICAtd2Via2l0LXZhci1jOiAtd2Via2l0LXZhcihi
KTsKLSAgICAtd2Via2l0LXZhci1kOiAtd2Via2l0LXZhcihjKTsKLSAgICAtd2Via2l0LXZhci1l
OiAtd2Via2l0LXZhcihkKTsKLSAgICAtd2Via2l0LXZhci1mOiAtd2Via2l0LXZhcihlKTsKLSAg
ICBjb2xvcjogLXdlYmtpdC12YXIoYSk7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXN0IGlzIHN1Y2Nl
c3NmdWwgaWYgaXQgZG9lcyBub3QgcmVzdWx0IGluIGEgY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvY29tcHV0ZWQtc3R5bGUtZXhw
ZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
OCArMCwwIEBACi08c3R5bGU+Ci1ib2R5IHsKLSAgICBmb250LXdlaWdodDogYm9sZDsKLX0KLTwv
c3R5bGU+Ci08Ym9keT4KLVRlc3QgcGFzc2VkIC0gY29tcHV0ZWQgZm9udCB3ZWlnaHQgaXMgYm9s
ZAotPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2NvbXB1dGVk
LXN0eWxlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L2NvbXB1dGVkLXN0eWxlLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9jb21wdXRlZC1zdHlsZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIxICswLDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVz
RW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotYm9keSB7Ci0gICAgLXdlYmtpdC12
YXItYTogYm9sZDsKLSAgICBmb250LXdlaWdodDogbm9ybWFsOwotICAgIGZvbnQtd2VpZ2h0OiAt
d2Via2l0LXZhcihhKTsKLX0KLTwvc3R5bGU+Ci08Ym9keT4KLVRlc3QgZmFpbGVkIC0gSlMgZGlk
IG5vdCBydW4KLTwvYm9keT4KLTxzY3JpcHQ+Ci12YXIgZWxlbWVudCA9IGRvY3VtZW50LmJvZHk7
Ci12YXIgd2VpZ2h0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZSgiZm9udC13ZWlnaHQiKTsKLWlmICh3ZWlnaHQgPT0gImJvbGQiKQotICBl
bGVtZW50LmlubmVySFRNTCA9ICJUZXN0IHBhc3NlZCAtIGNvbXB1dGVkIGZvbnQgd2VpZ2h0IGlz
IGJvbGQiOwotZWxzZQotICBlbGVtZW50LmlubmVySFRNTCA9ICJUZXN0IGZhaWxlZCAtIGNvbXB1
dGVkIGNvbG9yIGlzICIgKyB3ZWlnaHQ7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZyb20tdmFyaWFibGUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9kZWZl
cnJlZC1pbWFnZS1sb2FkLWZyb20tdmFyaWFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNTk4
MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvZGVmZXJyZWQtaW1hZ2UtbG9h
ZC1mcm9tLXZhcmlhYmxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMCwwIEBA
Ci1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZyb20tdmFy
aWFibGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
ZGVmZXJyZWQtaW1hZ2UtbG9hZC1mcm9tLXZhcmlhYmxlLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9kZWZlcnJlZC1pbWFnZS1sb2FkLWZy
b20tdmFyaWFibGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVz
RW5hYmxlZCh0cnVlKTsKLX0KLTwvc2NyaXB0PgotPHN0eWxlPgotZGl2IHsKLSAgLXdlYmtpdC12
YXItYTogdXJsKDEpOwotICAtd2Via2l0LW1hc2s6IC13ZWJraXQtdmFyKGEpOwotfQotPC9zdHls
ZT4KLTxkaXY+PC9kaXY+Ci1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBj
cmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbmhlcml0ZWQtdmFs
dWVzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2luaGVyaXRlZC12YWx1ZXMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2luaGVyaXRlZC12YWx1ZXMtZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICswLDAgQEAKLTxzdHlsZT4KLWRpdiB7Ci0g
ICAgY29sb3I6IGdyZWVuOwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1
KTsKLX0KLTwvc3R5bGU+Ci08ZGl2PgotVGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbiBvbiBhIHdo
aXRlIGJhY2tncm91bmQuIFRoZXJlIHNob3VsZCBiZSBubyByZWQgdmlzaWJsZS4KLTwvZGl2PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2luaGVyaXRlZC12YWx1ZXMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5oZXJpdGVk
LXZhbHVlcy5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92
YXJpYWJsZXMvaW5oZXJpdGVkLXZhbHVlcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICsw
LDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxl
ZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotYm9keSB7Ci0gICAgLXdlYmtpdC12YXItZm9y
ZWdyb3VuZDogZ3JlZW47Ci0gICAgLXdlYmtpdC12YXItYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1
LCAyNTUpOwotfQotZGl2IHsKLSAgICBjb2xvcjogLXdlYmtpdC12YXIoZm9yZWdyb3VuZCk7Ci0g
ICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotICAgIGJhY2tncm91bmQtY29sb3I6IC13ZWJraXQt
dmFyKGJhY2tncm91bmQpOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1UaGlzIHRleHQgc2hvdWxkIGJl
IGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gVGhlcmUgc2hvdWxkIGJlIG5vIHJlZCB2aXNp
YmxlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5saW5l
LXN0eWxlcy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9pbmxpbmUtc3R5bGVzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbmxpbmUtc3R5bGVzLWV4cGVjdGVk
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi08ZGl2IHN0eWxlPSJjb2xvcjog
Z3JlZW47Ij4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4gb24gYSB3aGl0ZSBiYWNrZ3JvdW5k
LgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW5saW5lLXN0
eWxlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9p
bmxpbmUtc3R5bGVzLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy9pbmxpbmUtc3R5bGVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCAr
MCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJs
ZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxib2R5IHN0eWxlPSItd2Via2l0LXZhci1hOiBncmVlbjsi
PgotPGRpdiBzdHlsZT0iY29sb3I6IC13ZWJraXQtdmFyKGEpOyI+Ci1UaGlzIHRleHQgc2hvdWxk
IGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4KLTwvZGl2PgotPC9ib2R5PgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtZm9udC1yZWZlcmVuY2UtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9p
bnZhbGlkLWZvbnQtcmVmZXJlbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTU5ODM4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtZm9udC1yZWZlcmVuY2UtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVRoaXMgdGVzdCBpcyBzdWNj
ZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL2ludmFsaWQtZm9udC1yZWZlcmVuY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZC1mb250LXJlZmVyZW5jZS5odG1sCShy
ZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxp
ZC1mb250LXJlZmVyZW5jZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci19Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJvZHkg
ewotICBmb250OiAtd2Via2l0LXZhcih2YXI2KSBoYW5ndWwgbW9uZ29saWFuOwotfQotPC9zdHls
ZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtc2hvcnRoYW5k
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFi
bGVzL2ludmFsaWQtc2hvcnRoYW5kLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXNob3J0aGFuZC1leHBlY3Rl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzAsMCBAQAotPGRpdj4KLVRoaXMgdGV4dCBz
aG91bGQgbm90IGJlIHN1cnJvdW5kZWQgYnkgYSBib3JkZXIuCi08L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXNob3J0aGFuZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXNob3J0aGFuZC5o
dG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
aW52YWxpZC1zaG9ydGhhbmQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMCwwIEBACi08
c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7
Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWRpdiB7Ci0gICAgLXdlYmtpdC12YXItYTogMTBweCBzb2xp
ZCBncmVlbjsKLSAgICBib3JkZXI6IDEwcHggLXdlYmtpdC12YXIoYSkgYmx1ZTsKLX0KLTwvc3R5
bGU+Ci08ZGl2PgotVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgc3Vycm91bmRlZCBieSBhIGJvcmRl
ci4KLTwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQt
dmFsdWUtbGlzdC1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFsdWUtbGlzdC1jcmFzaC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZh
bGlkLXZhbHVlLWxpc3QtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsw
LDAgQEAKLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFsdWUtbGlzdC1jcmFz
aC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZh
bGlkLXZhbHVlLWxpc3QtY3Jhc2guaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFsdWUtbGlzdC1jcmFzaC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDExICswLDAgQEAKLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci1pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxlPgotZGl2IHsKLS13
ZWJraXQtdmFyLWE6IC13ZWJraXQtdmFyKGIpICYjMDsKLX0KLTwvc3R5bGU+Ci1UaGlzIHRlc3Qg
aXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhcmlhYmxlLXZhbHVlLWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFyaWFi
bGUtdmFsdWUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWQtdmFyaWFibGUtdmFsdWUtZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLTxkaXY+Ci1UaGlzIHRleHQgc2hvdWxkIGJl
IGJsYWNrLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52
YWxpZC12YXJpYWJsZS12YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhcmlhYmxlLXZhbHVlLmh0bWwJKHJldmlzaW9uIDE1OTgz
OCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkLXZhcmlhYmxlLXZh
bHVlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotPHNjcmlwdD4KLWludGVy
bmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08
c3R5bGU+Ci1kaXYgewotICAgIC13ZWJraXQtdmFyLWE6IGdyZWVuOwotICAgIC13ZWJraXQtdmFy
LWE6IDEwcHg7Ci0gICAgY29sb3I6IC13ZWJraXQtdmFyKGEpOwotfQotPC9zdHlsZT4KLTxkaXY+
Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGJsYWNrLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvbXVsdGktbGV2ZWwtY3ljbGUtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvbXVsdGktbGV2ZWwtY3ljbGUt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL211bHRpLWxldmVsLWN5Y2xlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNyArMCwwIEBACi08ZGl2PgotPGRpdj4KLTxkaXY+Ci1UaGlzIHRlc3QgaXMgc3VjY2Vz
c2Z1bCBpZiB0aGlzIHRleHQgaXMgYmxhY2ssIGFuZCB0aGUgdGVzdCBkb2VzIG5vdCByZXN1bHQg
aW4gYSBjcmFzaC4KLTwvZGl2PgotPC9kaXY+Ci08L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy9tdWx0aS1sZXZlbC1jeWNsZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9tdWx0aS1sZXZlbC1jeWNsZS5odG1sCShyZXZp
c2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvbXVsdGktbGV2
ZWwtY3ljbGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyMyArMCwwIEBACi08c2NyaXB0Pgot
aW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJsZWQodHJ1ZSk7Ci08L3Njcmlw
dD4KLTxzdHlsZT4KLS5hIHsKLSAgICAtd2Via2l0LXZhci1hOiAtd2Via2l0LXZhcihiKTsKLSAg
ICAtd2Via2l0LXZhci1iOiByZWQ7Ci19Ci0uYiB7Ci0gICAgLXdlYmtpdC12YXItYjogLXdlYmtp
dC12YXIoYSk7Ci19Ci0uYyB7Ci0gICAgLXdlYmtpdC12YXItYzogLXdlYmtpdC12YXIoYSk7Ci0g
ICAgY29sb3I6IC13ZWJraXQtdmFyKGMpOwotfQotPC9zdHlsZT4KLTxkaXYgaWQ9ImEiPgotPGRp
diBpZD0iYiI+Ci08ZGl2IGlkPSJjIj4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIHRoaXMg
dGV4dCBpcyBibGFjaywgYW5kIHRoZSB0ZXN0IGRvZXMgbm90IHJlc3VsdCBpbiBhIGNyYXNoLgot
PC9kaXY+Ci08L2Rpdj4KLTwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFi
bGVzL3JlZGVmaW5pdGlvbi1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9yZWRlZmluaXRpb24tZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3JlZGVmaW5pdGlvbi1l
eHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPGRpdiBzdHlsZT0i
Y29sb3I6IHJlZDsiPgotVGhpcyB0ZXh0IHNob3VsZCBiZSByZWQuCi08L2Rpdj4KLTxkaXYgaWQ9
ImEiIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij4KLVRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uCi08
L2Rpdj4KLTxkaXYgaWQ9ImIiIHN0eWxlPSJjb2xvcjogYmx1ZTsiPgotVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBibHVlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
cmVkZWZpbml0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL3JlZGVmaW5pdGlvbi5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy92YXJpYWJsZXMvcmVkZWZpbml0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEsMjYgKzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJs
ZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICAtd2Via2l0
LXZhci1hOiByZWQ7Ci19Ci0jYSB7Ci0gICAgLXdlYmtpdC12YXItYTogZ3JlZW47Ci19Ci0jYiB7
Ci0gICAgLXdlYmtpdC12YXItYTogYmx1ZTsKLX0KLWRpdiB7Ci0gICAgY29sb3I6IC13ZWJraXQt
dmFyKGEpOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIHJlZC4KLTwv
ZGl2PgotPGRpdiBpZD0iYSI+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuLgotPC9kaXY+Ci08
ZGl2IGlkPSJiIj4KLVRoaXMgdGV4dCBzaG91bGQgYmUgYmx1ZS4KLTwvZGl2PgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Jvb3QtYmFja2dyb3VuZC1zaXplLWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Jvb3Qt
YmFja2dyb3VuZC1zaXplLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9yb290LWJhY2tncm91bmQtc2l6ZS1leHBlY3RlZC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgotPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Jvb3QtYmFja2dyb3VuZC1z
aXplLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Jv
b3QtYmFja2dyb3VuZC1zaXplLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9yb290LWJhY2tncm91bmQtc2l6ZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1Zhcmlh
Ymxlc0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLTpyb290IHsKLSAgLXdlYmtp
dC1iYWNrZ3JvdW5kLXNpemU6IC13ZWJraXQtY2FsYygtd2Via2l0LXZhcihhKSk7Ci19Ci08L3N0
eWxlPgotPHN0eWxlPjwvc3R5bGU+Ci1UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBpdCBkb2Vz
IG5vdCBjcmFzaC4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxl
cy9zaG9ydGhhbmQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvc2hvcnRoYW5kLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9zaG9ydGhhbmQtZXhwZWN0ZWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTxzdHlsZT4KLWRpdiB7Ci0gICAgYm9y
ZGVyOiAxMHB4IHNvbGlkIGdyZWVuOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1UaGlzIHRleHQgc2hv
dWxkIGJlIHN1cnJvdW5kZWQgYnkgYSBncmVlbiBib3JkZXIuIFRoZXJlIHNob3VsZCBub3QgYmUg
YSByZWQgYm9yZGVyLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvc2hvcnRoYW5kLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL3Nob3J0aGFuZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvc2hvcnRoYW5kLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMg
KzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFi
bGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotICAgIC13ZWJraXQtdmFyLW15
Ym9yZGVyOiAxMHB4IHNvbGlkIGdyZWVuOwotICAgIGJvcmRlcjogMTBweCBkYXNoZWQgcmVkOwot
ICAgIGJvcmRlcjogLXdlYmtpdC12YXIobXlib3JkZXIpOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1U
aGlzIHRleHQgc2hvdWxkIGJlIHN1cnJvdW5kZWQgYnkgYSBncmVlbiBib3JkZXIuIFRoZXJlIHNo
b3VsZCBub3QgYmUgYSByZWQgYm9yZGVyLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvc2ltcGxlLWN5Y2xlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3NpbXBsZS1jeWNsZS1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc2lt
cGxlLWN5Y2xlLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotVGhp
cyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgcmVzdWx0IGluIGEgY3Jhc2guCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc2ltcGxlLWN5Y2xlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3NpbXBsZS1jeWNsZS5o
dG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
c2ltcGxlLWN5Y2xlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzAsMCBAQAotPHNjcmlw
dD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9z
Y3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICAtd2Via2l0LXZhci1hOiAtd2Via2l0LXZhcihh
KTsKLSAgICBjb2xvcjogLXdlYmtpdC12YXIoYSk7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXN0IGlz
IHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgcmVzdWx0IGluIGEgY3Jhc2guCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdHJhbnNmb3JtLXRlc3QtZXhwZWN0ZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdHJhbnNmb3JtLXRl
c3QtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL3RyYW5zZm9ybS10ZXN0LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTEsOCArMCwwIEBACi08c3R5bGU+Ci1kaXYgewotICAgIGRpc3BsYXk6IGlubGluZS1ibG9j
azsKLSAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDAuODY2LDAuNSwtMC41LDAuODY2LDAs
MCk7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Ci19Ci08L3N0eWxlPgotPGRpdj5Sb3Rh
dGVkPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdHJhbnNmb3Jt
LXRlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
dHJhbnNmb3JtLXRlc3QuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL3RyYW5zZm9ybS10ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTUgKzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNF
bmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKLSAgICAtd2Via2l0LXZhci1hOiAwLjg2NjsKLSAgICAtd2Via2l0LXZhci1i
OiAwLjU7Ci0gICAgLXdlYmtpdC12YXItYzogLTAuNTsKLSAgICAtd2Via2l0LXZhci1kOiAwOwot
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoLXdlYmtpdC12YXIoYSksLXdlYmtpdC12YXIo
YiksLXdlYmtpdC12YXIoYyksLXdlYmtpdC12YXIoYSksLXdlYmtpdC12YXIoZCksLXdlYmtpdC12
YXIoZCkpOwotICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTxkaXY+
Um90YXRlZDwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VuZGVm
aW5lZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy91bmRlZmluZWQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VuZGVmaW5lZC1leHBlY3RlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICswLDAgQEAKLVRlc3Qgc3VjY2Vzc2Z1bCBpZiBpdCBkb2VzIG5vdCBj
YXVzZSBhIGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VuZGVm
aW5lZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy91
bmRlZmluZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3VuZGVmaW5lZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAot
PHNjcmlwdD4KLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUp
OwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICBib3JkZXI6IC13ZWJraXQtdmFyKG15
Ym9yZGVyKTsKLX0KLTwvc3R5bGU+Ci1UZXN0IHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY2F1
c2UgYSBjcmFzaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy91c2UtYmVm
b3JlLWRlZmluZWQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdXNlLWJlZm9yZS1kZWZpbmVkLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy91c2UtYmVmb3JlLWRl
ZmluZWQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICswLDAgQEAKLTxzdHls
ZT4KLWRpdiB7Ci0gICAgY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1UaGlzIHRl
eHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gVGhlcmUgc2hvdWxkIGJl
IG5vIHJlZCB2aXNpYmxlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdXNlLWJlZm9yZS1kZWZpbmVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL3VzZS1iZWZvcmUtZGVmaW5lZC5odG1sCShyZXZpc2lvbiAxNTk4
MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdXNlLWJlZm9yZS1kZWZpbmVk
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTYgKzAsMCBAQAotPHNjcmlwdD4KLWludGVybmFs
cy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5
bGU+Ci1kaXYgewotICAgIGNvbG9yOiAtd2Via2l0LXZhcihhKTsKLSAgICAtd2Via2l0LXZhci1h
OiAtd2Via2l0LXZhcihiKTsKLX0KLWJvZHkgewotICAgIC13ZWJraXQtdmFyLWI6IC13ZWJraXQt
dmFyKGMpOwotICAgIC13ZWJraXQtdmFyLWM6IGdyZWVuOwotfQotPC9zdHlsZT4KLTxkaXY+Ci1U
aGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dyb3VuZC4gVGhlcmUgc2hv
dWxkIGJlIG5vIHJlZCB2aXNpYmxlLgotPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvdmFyLWZpbHRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1maWx0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWZpbHRlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotVGhpcyB0ZXN0IGlzIHN1
Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvdmFyLWZpbHRlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy92YXItZmlsdGVyLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItZmlsdGVyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1p
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci1pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0Pgot
PHN0eWxlPgotYm9keSB7Ci0gIC13ZWJraXQtdmFyLWE6IHVybCgxKTsKLSAgLXdlYmtpdC1maWx0
ZXI6IC13ZWJraXQtdmFyKGEpOwotfQotPC9zdHlsZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVs
IGlmIGl0IGRvZXMgbm90IGNyYXNoLgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QtZXhwZWN0ZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVm
bGVjdC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC1leHBlY3RlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxzdHls
ZT4KLWRpdiB7Ci0gIC13ZWJraXQtYm94LXJlZmxlY3Q6IGJlbG93IDVweDsKLX0KLTwvc3R5bGU+
Ci08ZGl2PlRoaXMgdGV4dCBzaG91bGQgYmUgcmVmbGVjdGVkIG9uIHRoZSByaWdodC48L2Rpdj4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRl
LWJveC1yZWZsZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1kaXYg
ewotICAtd2Via2l0LWJveC1yZWZsZWN0OiAtd2Via2l0LXZhcihhKSAtd2Via2l0LWNhbGMoLXdl
YmtpdC12YXIoYikpOwotICAtd2Via2l0LXZhci1hOiBiZWxvdzsKLSAgLXdlYmtpdC12YXItYjog
NXB4OwotfQotPC9zdHlsZT4KLTxkaXY+VGhpcyB0ZXh0IHNob3VsZCBiZSByZWZsZWN0ZWQgb24g
dGhlIHJpZ2h0LjwvZGl2PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL3Zhci1pbnNpZGUtcGFpci1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXBhaXItZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1p
bnNpZGUtcGFpci1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICBib3JkZXI6IDFw
eCBzb2xpZCBncmVlbjsKLSAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHggNnB4OwotfQot
PC9zdHlsZT4KLVRoaXMgdGV4dCBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBhIGdyZWVuIGJvcmRl
ciB3aXRoIGEgcm91bmRlZCB0b3AgbGVmdCBjb3JuZXIuCi08L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1wYWlyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcGFpci5odG1sCShy
ZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWlu
c2lkZS1wYWlyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTYgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0Pgot
PHN0eWxlPgotYm9keSB7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Ci0gICAgYm9yZGVy
LXRvcC1sZWZ0LXJhZGl1czogLXdlYmtpdC12YXIoYSkgLXdlYmtpdC12YXIoYik7Ci0gICAgLXdl
YmtpdC12YXItYTogM3B4OwotICAgIC13ZWJraXQtdmFyLWI6IDZweDsKLX0KLTwvc3R5bGU+Ci1U
aGlzIHRleHQgc2hvdWxkIGJlIHN1cnJvdW5kZWQgYnkgYSBncmVlbiBib3JkZXIgd2l0aCBhIHJv
dW5kZWQgdG9wIGxlZnQgY29ybmVyLgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtcXVhZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXF1YWQtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L3Zhci1pbnNpZGUtcXVhZC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgICBib3Jk
ZXItY29sb3I6IGdyZWVuOwotICAgIGJvcmRlci13aWR0aDogMXB4IDJweCAzcHggNHB4OwotICAg
IGJvcmRlci1zdHlsZTogc29saWQ7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBz
dXJyb3VuZGVkIGJ5IGEgZ3JlZW4gYm9yZGVyIHdpdGggMXB4IHRvcCwgMnB4IHJpZ2h0LCAzcHgg
Ym90dG9tLCA0cHggbGVmdC4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy92YXItaW5zaWRlLXF1YWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1xdWFkLmh0bWwJKHJldmlzaW9uIDE1OTgzOCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXF1YWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9zY3JpcHQ+Ci08c3R5bGU+Ci1ib2R5IHsK
LSAgICBib3JkZXItY29sb3I6IGdyZWVuOwotICAgIGJvcmRlci13aWR0aDogLXdlYmtpdC12YXIo
YSkgLXdlYmtpdC12YXIoYikgLXdlYmtpdC12YXIoYykgLXdlYmtpdC12YXIoZCk7Ci0gICAgYm9y
ZGVyLXN0eWxlOiBzb2xpZDsKLSAgICAtd2Via2l0LXZhci1hOiAxcHg7Ci0gICAgLXdlYmtpdC12
YXItYjogMnB4OwotICAgIC13ZWJraXQtdmFyLWM6IDNweDsKLSAgICAtd2Via2l0LXZhci1kOiA0
cHg7Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5IGEgZ3Jl
ZW4gYm9yZGVyIHdpdGggMXB4IHRvcCwgMnB4IHJpZ2h0LCAzcHggYm90dG9tLCA0cHggbGVmdC4K
LTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRl
LXNoYXBlLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Zhci1pbnNpZGUtc2hhcGUtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hhcGUtZXhw
ZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRDU1NFeGNsdXNpb25zRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0
eWxlPgotLmEgewotICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiBlbGxpcHNlKDEwMHB4LCAxMDBw
eCwgMTAwcHgsIDEwMHB4KTsKLX0KLS5iIHsKLSAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogY2ly
Y2xlKDEwMHB4LCAxMDBweCwgMTAwcHgpOwotfQotLmMgewotICAgIC13ZWJraXQtc2hhcGUtaW5z
aWRlOiByZWN0YW5nbGUoMTAwcHgsIDEwMHB4LCAxMDBweCwgMTAwcHgpOwotfQotLmQgewotICAg
IGhlaWdodDogMTAwcHg7Ci0gICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHBvbHlnb24oMTAlIDEw
MCUsIDEwMCUgNTAlLCA1MCUgMTAlKTsKLX0KLTwvc3R5bGU+Ci08ZGl2IGNsYXNzPSJhIj4KLVNv
bWUgdGV4dCBpbnNpZGUgYW4gYXJlYSBpbnNpZGUgd2hpY2ggaW5saW5lIGNvbnRlbnQgY2FuIGZs
b3cuCi08L2Rpdj4KLTxkaXYgY2xhc3M9ImIiPgotU29tZSB0ZXh0IGluc2lkZSBhbiBhcmVhIGlu
c2lkZSB3aGljaCBpbmxpbmUgY29udGVudCBjYW4gZmxvdy4KLTwvZGl2PgotPGRpdiBjbGFzcz0i
YyI+Ci1Tb21lIHRleHQgaW5zaWRlIGFuIGFyZWEgaW5zaWRlIHdoaWNoIGlubGluZSBjb250ZW50
IGNhbiBmbG93LgotPC9kaXY+Ci08ZGl2IGNsYXNzPSJkIj4KLVNvbWUgdGV4dCBpbnNpZGUgYW4g
YXJlYSBpbnNpZGUgd2hpY2ggaW5saW5lIGNvbnRlbnQgY2FuIGZsb3cuCi08L2Rpdj4KLTwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXNoYXBl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1p
bnNpZGUtc2hhcGUuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtc2hhcGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPHNjcmlwdD4KLWlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxlc0VuYWJs
ZWQodHJ1ZSk7Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNFbmFibGVk
KHRydWUpOwotfQotPC9zY3JpcHQ+Ci08c3R5bGU+Ci06cm9vdCB7Ci0gICAgLXdlYmtpdC12YXIt
YTogMTAwcHg7Ci0gICAgLXdlYmtpdC12YXItYjogMTAwJTsKLSAgICAtd2Via2l0LXZhci1jOiA1
MCU7Ci0gICAgLXdlYmtpdC12YXItZDogMTAlOwotfQotLmEgewotICAgIC13ZWJraXQtc2hhcGUt
aW5zaWRlOiBlbGxpcHNlKC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSwgLXdlYmtpdC12
YXIoYSksIC13ZWJraXQtdmFyKGEpKTsKLX0KLS5iIHsKLSAgICAtd2Via2l0LXNoYXBlLWluc2lk
ZTogY2lyY2xlKC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSwgLXdlYmtpdC12YXIoYSkp
OwotfQotLmMgewotICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiByZWN0YW5nbGUoLXdlYmtpdC12
YXIoYSksIC13ZWJraXQtdmFyKGEpLCAtd2Via2l0LXZhcihhKSwgLXdlYmtpdC12YXIoYSkpOwot
fQotLmQgewotICAgIGhlaWdodDogLXdlYmtpdC12YXIoYSk7Ci0gICAgLXdlYmtpdC1zaGFwZS1p
bnNpZGU6IHBvbHlnb24oLXdlYmtpdC12YXIoZCkgLXdlYmtpdC12YXIoYiksIC13ZWJraXQtdmFy
KGIpIC13ZWJraXQtdmFyKGMpLCAtd2Via2l0LXZhcihjKSAtd2Via2l0LXZhcihkKSk7Ci19Ci08
L3N0eWxlPgotPGRpdiBjbGFzcz0iYSI+Ci1Tb21lIHRleHQgaW5zaWRlIGFuIGFyZWEgaW5zaWRl
IHdoaWNoIGlubGluZSBjb250ZW50IGNhbiBmbG93LgotPC9kaXY+Ci08ZGl2IGNsYXNzPSJiIj4K
LVNvbWUgdGV4dCBpbnNpZGUgYW4gYXJlYSBpbnNpZGUgd2hpY2ggaW5saW5lIGNvbnRlbnQgY2Fu
IGZsb3cuCi08L2Rpdj4KLTxkaXYgY2xhc3M9ImMiPgotU29tZSB0ZXh0IGluc2lkZSBhbiBhcmVh
IGluc2lkZSB3aGljaCBpbmxpbmUgY29udGVudCBjYW4gZmxvdy4KLTwvZGl2PgotPGRpdiBjbGFz
cz0iZCI+Ci1Tb21lIHRleHQgaW5zaWRlIGFuIGFyZWEgaW5zaWRlIHdoaWNoIGlubGluZSBjb250
ZW50IGNhbiBmbG93LgotPC9kaXY+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvdmFyLWluc2lkZS1zaG9ydGhhbmQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1zaG9ydGhhbmQt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Zhci1pbnNpZGUtc2hvcnRoYW5kLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNyArMCwwIEBACi08c3R5bGU+Ci1ib2R5IHsKLSAgICBib3JkZXI6IDEwcHggc29s
aWQgZ3JlZW47Ci19Ci08L3N0eWxlPgotVGhpcyB0ZXh0IHNob3VsZCBiZSBzdXJyb3VuZGVkIGJ5
IGEgZ3JlZW4gYm9yZGVyLiBUaGVyZSBzaG91bGQgYmUgbm8gcmVkIHZpc2libGUuCi0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLXNob3J0aGFuZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRl
LXNob3J0aGFuZC5odG1sCShyZXZpc2lvbiAxNTk4MzgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvdmFyLWluc2lkZS1zaG9ydGhhbmQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MSwxMiArMCwwIEBACi08c2NyaXB0PgotaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1ZhcmlhYmxl
c0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KLTxzdHlsZT4KLWJvZHkgewotICAgIC13ZWJraXQt
dmFyLU15Qm9yZGVyQ29sb3I6IGdyZWVuOwotICAgIGJvcmRlcjogMTBweCBzb2xpZCByZWQ7Ci0g
ICAgYm9yZGVyOiAxMHB4IHNvbGlkIC13ZWJraXQtdmFyKE15Qm9yZGVyQ29sb3IpOwotfQotPC9z
dHlsZT4KLVRoaXMgdGV4dCBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBhIGdyZWVuIGJvcmRlci4g
VGhlcmUgc2hvdWxkIGJlIG5vIHJlZCB2aXNpYmxlLgotCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtY2hhaW4tZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtY2hhaW4tZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMTU5ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVz
L3ZhcmlhYmxlLWNoYWluLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMCww
IEBACi08c3R5bGU+Ci1kaXYgewotICAgIGNvbG9yOiBncmVlbjsKLX0KLTwvc3R5bGU+Ci08ZGl2
PgotVGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbiBvbiBhIHdoaXRlIGJhY2tncm91bmQuIFRoZXJl
IHNob3VsZCBiZSBubyByZWQgdmlzaWJsZS4KLTwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLWNoYWluLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLWNoYWluLmh0bWwJKHJldmlzaW9uIDE1
OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS1jaGFpbi5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE3ICswLDAgQEAKLTxzY3JpcHQ+Ci1pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgotPHN0eWxl
PgotYm9keSB7Ci0gICAgLXdlYmtpdC12YXItYzogZ3JlZW47Ci0gICAgLXdlYmtpdC12YXItYjog
LXdlYmtpdC12YXIoYyk7Ci19Ci1kaXYgewotICAgIGNvbG9yOiByZWQ7Ci0gICAgLXdlYmtpdC12
YXItYTogLXdlYmtpdC12YXIoYik7Ci0gICAgY29sb3I6IC13ZWJraXQtdmFyKGEpOwotfQotPC9z
dHlsZT4KLTxkaXY+Ci1UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEgd2hpdGUgYmFja2dy
b3VuZC4gVGhlcmUgc2hvdWxkIGJlIG5vIHJlZCB2aXNpYmxlLgotPC9kaXY+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtdW5wYXJzZWFibGUtdmFsdWUtY3Jh
c2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy92YXJpYWJsZS11bnBhcnNlYWJsZS12YWx1ZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDE1OTgzOCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXJpYWJsZS11
bnBhcnNlYWJsZS12YWx1ZS1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEg
KzAsMCBAQAotVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgaXQgZG9lcyBub3QgY3Jhc2guCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyaWFibGUtdW5wYXJzZWFibGUt
dmFsdWUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdmFyaWFibGUtdW5wYXJzZWFibGUtdmFsdWUtY3Jhc2guaHRtbAkocmV2aXNpb24gMTU5
ODM4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3ZhcmlhYmxlLXVucGFyc2Vh
YmxlLXZhbHVlLWNyYXNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzAsMCBAQAotPHNj
cmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLWludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwotPC9z
Y3JpcHQ+Ci08c3R5bGU+Ci1kaXYgewotICAgIC13ZWJraXQtdmFyLWI6IDFweHB4OwotfQotPC9z
dHlsZT4KLVRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGl0IGRvZXMgbm90IGNyYXNoLgo=
</data>
<flag name="review"
          id="241278"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>