<?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>237022</bug_id>
          
          <creation_ts>2022-02-22 00:09:38 -0800</creation_ts>
          <short_desc>Thread safety analysis macros are confusing for non-Lock use-cases</short_desc>
          <delta_ts>2022-02-23 02:01:23 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>236832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844578</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-22 00:09:38 -0800</bug_when>
    <thetext>Thread safety analysis macros are confusing for non-Lock use-cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844584</commentid>
    <comment_count>1</comment_count>
      <attachid>452838</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-22 00:37:25 -0800</bug_when>
    <thetext>Created attachment 452838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844640</commentid>
    <comment_count>2</comment_count>
      <attachid>452855</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-22 04:07:22 -0800</bug_when>
    <thetext>Created attachment 452855
Option B without the renames</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844687</commentid>
    <comment_count>3</comment_count>
      <attachid>452855</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-22 07:21:44 -0800</bug_when>
    <thetext>Comment on attachment 452855
Option B without the renames

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844733</commentid>
    <comment_count>4</comment_count>
      <attachid>452838</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2022-02-22 09:03:09 -0800</bug_when>
    <thetext>Comment on attachment 452838
Patch

Removing the r? flag from the first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844931</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-02-22 16:44:29 -0800</bug_when>
    <thetext>Stopped https://ews-build.webkit.org/#/builders/70/builds/1025, the 3 failures it flagged are already known.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844936</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2022-02-22 16:47:27 -0800</bug_when>
    <thetext>The 3 failures flagged by https://ews-build.webkit.org/#/builders/70/builds/1025 are already known, so I stopped the build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845055</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-23 02:00:25 -0800</bug_when>
    <thetext>Committed r290361 (247679@main): &lt;https://commits.webkit.org/247679@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452855.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845056</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-23 02:01:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/89344972&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452838</attachid>
            <date>2022-02-22 00:37:25 -0800</date>
            <delta_ts>2022-02-22 09:03:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237022-20220222103722.patch</filename>
            <type>text/plain</type>
            <size>281182</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTU4M2U2ZDMyOGRkYjg2N2JiYjI3MWIzNDY3YWVkNmI4YjQ1NWU3Li5kY2JjODQyZjc0Mjg0ZDM4
YjE2ZjBjMjkwZWJmYWRmNWUzYWI4Mzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAyMi0wMi0yMiAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFRocmVhZCBzYWZldHkgYW5hbHlzaXMgbWFjcm9zIGFyZSBjb25mdXNp
bmcgZm9yIG5vbi1Mb2NrIHVzZS1jYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVuYW1lIHRoZSBtYWNyb3Mgd2l0aCBXVEZfKl9MT0NLIHRvIFdU
Rl8qX0NBUEFCSUxJVFkgdG8gc3VwcG9ydCBub24tTG9jayB1c2UtY2FzZXMuCisKKworICAgICAg
ICAqIEFQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tOgorICAgICAgICAoV1RGX1JFUVVJUkVTX0NBUEFC
SUxJVFkpOgorICAgICAgICAqIEFQSS9nbGliL0pTQ1ZpcnR1YWxNYWNoaW5lLmNwcDoKKyAgICAg
ICAgKiBhc3NlbWJsZXIvUGVyZkxvZy5oOgorICAgICAgICAqIGJ5dGVjb2RlL1N0cnVjdHVyZVN0
dWJJbmZvLmg6CisgICAgICAgICogYnl0ZWNvZGUvU3VwZXJTYW1wbGVyLmNwcDoKKyAgICAgICAg
KiBkZmcvREZHQ29tbW9uRGF0YS5jcHA6CisgICAgICAgICogZGZnL0RGR1BsYW4uaDoKKyAgICAg
ICAgKiBkaXNhc3NlbWJsZXIvRGlzYXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKiBoZWFwL0Jsb2Nr
RGlyZWN0b3J5LmNwcDoKKyAgICAgICAgKEpTQzo6QmxvY2tEaXJlY3Rvcnk6OnBhcmFsbGVsTm90
RW1wdHlCbG9ja1NvdXJjZSk6CisgICAgICAgICogaGVhcC9CbG9ja0RpcmVjdG9yeS5oOgorICAg
ICAgICAoSlNDOjpCbG9ja0RpcmVjdG9yeTo6V1RGX1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAg
ICAgICogaGVhcC9Db2RlQmxvY2tTZXQuaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrU2V0OjpX
VEZfUkVUVVJOU19DQVBBQklMSVRZKToKKyAgICAgICAgKiBoZWFwL0hlYXAuaDoKKyAgICAgICAg
KiBoZWFwL0lzb1N1YnNwYWNlUGVyVk0uaDoKKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9yLmg6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ29ubmVj
dGlvbkNsaWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUlu
c3BlY3RvclNvY2tldEVuZHBvaW50Lmg6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0
b3IuY3BwOgorICAgICAgICAoSlNDOjpkdW1wSklUTWVtb3J5KToKKyAgICAgICAgKiBqaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5oOgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQWxsb2NhdG9yQmFz
ZTo6V1RGX1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAgICAgICogcnVudGltZS9EZWZlcnJlZFdv
cmtUaW1lci5oOgorICAgICAgICAqIHJ1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oOgorICAgICAg
ICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjpXVEZfUkVUVVJOU19DQVBBQklMSVRZKToKKyAgICAg
ICAgKEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAg
ICAgICAqIHRvb2xzL0Z1bmN0aW9uT3ZlcnJpZGVzLmg6CisgICAgICAgIChKU0M6OkZ1bmN0aW9u
T3ZlcnJpZGVzOjpXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSk6CisgICAgICAgICogdG9vbHMvVk1J
bnNwZWN0b3IuaDoKKyAgICAgICAgKEpTQzo6Vk1JbnNwZWN0b3I6OldURl9SRVRVUk5TX0NBUEFC
SUxJVFkpOgorICAgICAgICAoSlNDOjpWTUluc3BlY3Rvcjo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkpOgorICAgICAgICAqIHdhc20vV2FzbUJCUVBsYW4uaDoKKyAgICAgICAgKiB3YXNtL1dhc21D
YWxsZWVSZWdpc3RyeS5oOgorICAgICAgICAoSlNDOjpXYXNtOjpDYWxsZWVSZWdpc3RyeTo6V1RG
X1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAgICAgIChKU0M6Oldhc206OkNhbGxlZVJlZ2lzdHJ5
OjpXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSk6CisgICAgICAgICogd2FzbS9XYXNtRW50cnlQbGFu
Lmg6CisgICAgICAgICogd2FzbS9XYXNtTExJbnRQbGFuLmg6CisgICAgICAgICogd2FzbS9XYXNt
T01HUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbU9TUkVudHJ5UGxhbi5oOgorICAgICAgICAq
IHdhc20vV2FzbVBsYW4uaDoKKyAgICAgICAgKiB3YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5o
OgorICAgICAgICAqIHdhc20vV2FzbVN0cmVhbWluZ1BsYW4uaDoKKwogMjAyMi0wMi0yMSAgUm9i
aW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEZvcm1h
dCB0aGUgb3V0cHV0IG9mIC0tcmVwb3J0VG90YWxQaGFzZVRpbWVzPTEgbW9yZSBuaWNlbHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggZWEyNjhmNmNkYzk0NDM1YWRlMDhiYzZhMTM3YjhiNWVlYmVjZGQ3YS4uM2UwNzljOTA0MWYw
ZTU2MTcwY2IzMmI0Mjg1YjFhZWNlNzgyNDA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5MiBAQAorMjAyMi0w
Mi0yMiAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIFRo
cmVhZCBzYWZldHkgYW5hbHlzaXMgbWFjcm9zIGFyZSBjb25mdXNpbmcgZm9yIG5vbi1Mb2NrIHVz
ZS1jYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhyZWFkIHNhZmV0eSBhbmFseXNpcyBwcm92ZXMgdGhhdCBhIGNhcGFiaWxpdHkgaXMgYWNxdWly
ZWQgb3Igbm90IGFjcXVpcmVkLgorICAgICAgICBDaGFuZ2UgdGhlIHNlbWFudGljcyBvZiB0aHJl
YWQgc2FmZXR5IGFuYWx5c2lzIGFwcGxpY2F0aW9uIGluIFdlYktpdDoKKyAgICAgICAgICBCZWZv
cmUsIHdlIGhhZCBvbmx5IG9uZSBjYXBhYmlsaXR5LCAibG9jayIuCisgICAgICAgICAgQWZ0ZXIs
IHdlIGhhdmUgYXJiaXRyYXJ5IGFtb3VudCBvZiBjYXBhYmlsaXRpZXMsIG9uZSBvZiB3aGljaCBp
cyAibG9jayIuCisKKyAgICAgICAgUmVuYW1lIHRocmVhZCBzYWZldHkgYW5hbHlzaXMgbWFjcm9z
IHRvIHN1cHBvcnQgbm9uLUxvY2sgdXNlLWNhc2VzIGJldHRlci4KKworICAgICAgICBMb2NrIHVz
ZS1jYXNlOgorICAgICAgICBCZWZvcmU6CisgICAgICAgICAgY2xhc3MgV1RGX0NBUEFCSUxJVFlf
TE9DSyBMb2NrIHsgLi4uIH07CisgICAgICAgICAgIldURjo6TG9jayBoYXMgdGhlIGxvY2sgY2Fw
YWJpbGl0eSB0aGF0IGNhbiBiZSBhY3F1aXJlZC4iCisKKyAgICAgICAgQWZ0ZXI6CisgICAgICAg
ICAgY2xhc3MgV1RGX0NBUEFCSUxJVFkoImxvY2siKSBMb2NrIHsgLi4uIH07CisgICAgICAgICAg
IldURjo6TG9jayBoYXMgYSBjYXBhYmlsaXR5IGNhbGxlZCAnbG9jaycgdGhhdCBjYW4gYmUgYWNx
dWlyZWQuIgorCisgICAgICAgIE5vbi1sb2NrIHVzZS1jYXNlOgorICAgICAgICBCZWZvcmU6Cisg
ICAgICAgICAgY2xhc3MgV1RGX0NBUEFCSUxJVFlfTE9DSyBUaHJlYWRBc3NlcnRpb24geyAuLi4g
fTsKKyAgICAgICAgICAiV1RGOjpUaHJlYWRBc3NlcnRpb24gaXMgb2J2aW91c2x5IG5vdCBhIGxv
Y2sgYnV0IHdlIHVzZSB0aGUgbG9jayBjYXBhYmlsaXR5IG1hY2hpbmVyeSB0byBvYnRhaW4gdGhl
IGFuYWx5c2lzIHN1cHBvcnQuCisgICAgICAgICAgIEl0IGJlaGF2ZXMgbGlrZSB0aGUgbG9jayBj
YXBhYmlsaXR5IGFuZCBjYW4gYmUgYWNxdWlyZWQuIgorCisgICAgICAgIEFmdGVyOgorICAgICAg
ICAgIGNsYXNzIFdURl9DQVBBQklMSVRZKCJpcyBjdXJyZW50IikgVGhyZWFkQXNzZXJ0aW9uIHsg
Li4uIH07CisgICAgICAgICAgIldURjo6VGhyZWFkQXNzZXJ0aW9uIGhhcyBhIGNhcGFiaWxpdHkg
Y2FsbGVkICdpcyBjdXJyZW50JyB0aGF0IGNhbiBiZSBhY3F1aXJlZC4iCisKKyAgICAgICAgVGhl
IGRvY3VtZW50YXRpb24gc3RyaW5nICJsb2NrIiwgImlzIGN1cnJlbnQiIHdpbGwgYXBwZWFyIGlu
IHRoZSBjb21waWxlIGVycm9yIG1lc3NhZ2VzIHRvIGNsYXJpZnkgdGhlCisgICAgICAgIHZpb2xh
dGlvbnMuCisKKyAgICAgICAgUmVuYW1lIHRoZSBtYWNyb3Mgd2l0aCBXVEZfKl9MT0NLIHRvIFdU
Rl8qX0NBUEFCSUxJVFkgdG8gbWFrZSB0aGUgbWVudGFsIGNvbm5lY3Rpb24gYmV0dGVyLgorICAg
ICAgICBFeGFtcGxlOiBXVEZfR1VBUkRFRF9CWV9MT0NLKCkgdG8gV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWSgpCisKKyAgICAgICAgICBjbGFzcyBXVEZfQ0FQQUJJTElUWSgibG9jayIpIExvY2sg
eyAuLi4gfTsKKyAgICAgICAgICBjbGFzcyBNeUNsYXNzIHsKKyAgICAgICAgICAgICAgLi4uCisg
ICAgICAgICAgICAgIExvY2sgbV9sb2NrOworICAgICAgICAgICAgICBpbnQgbXlUaHJlYWRWYXIg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgICAgICAgIH07CisgICAgICAg
ICAgIm15VGhyZWFkVmFyIHZhcmlhYmxlIGlzIGd1YXJkZWQgYnkgdGhlIGNhcGFiaWxpdHkgdGhh
dCB0aGUgdHlwZSBvZiBtX2xvY2sgaG9sZHMuIgorICAgICAgICAgICJtX2xvY2sgaXMgb2YgdHlw
ZSBMb2NrLiBMb2NrIGhhcyBhIGNhcGFiaWxpdHkgY2FsbGVkICdsb2NrJyIuCisKKyAgICAgICAg
KiB3dGYvQXNzZXJ0aW9ucy5jcHA6CisgICAgICAgICogd3RmL0F1dG9tYXRpY1RocmVhZC5oOgor
ICAgICAgICAqIHd0Zi9Db25kaXRpb24uaDoKKyAgICAgICAgKiB3dGYvQ3Jvc3NUaHJlYWRRdWV1
ZS5oOgorICAgICAgICAqIHd0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmg6CisgICAgICAgIChX
VEY6OkNyb3NzVGhyZWFkVGFza0hhbmRsZXI6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgor
ICAgICAgICAqIHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHA6CisgICAgICAg
ICogd3RmL0RhdGFNdXRleC5oOgorICAgICAgICAqIHd0Zi9GYXN0TWFsbG9jLmNwcDoKKyAgICAg
ICAgKiB3dGYvTGFuZ3VhZ2UuY3BwOgorICAgICAgICAoV1RGOjpXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWSk6CisgICAgICAgICogd3RmL0xvY2suaDoKKyAgICAgICAgKFdURjo6V1RGX0FTU0VSVFNf
QUNRVUlSRURfQ0FQQUJJTElUWSk6CisgICAgICAgICogd3RmL0xvZ2dlci5oOgorICAgICAgICAo
V1RGOjpMb2dnZXI6OldURl9SRVRVUk5TX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHd0Zi9NZXNz
YWdlUXVldWUuaDoKKyAgICAgICAgKiB3dGYvT1NMb2dQcmludFN0cmVhbS5oOgorICAgICAgICAq
IHd0Zi9QYXJhbGxlbEhlbHBlclBvb2wuaDoKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxKb2JzR2Vu
ZXJpYy5oOgorICAgICAgICAoV1RGOjpQYXJhbGxlbEVudmlyb25tZW50OjpUaHJlYWRQcml2YXRl
OjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxWZWN0
b3JJdGVyYXRvci5oOgorICAgICAgICAoV1RGOjpQYXJhbGxlbFZlY3Rvckl0ZXJhdG9yOjpXVEZf
R1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAgICAgKiB3dGYvUmVhZFdyaXRlTG9jay5oOgor
ICAgICAgICAoV1RGOjpSZWFkV3JpdGVMb2NrOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToK
KyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOgorICAgICAgICAqIHd0Zi9TdXNwZW5kYWJsZVdvcmtR
dWV1ZS5oOgorICAgICAgICAqIHd0Zi9TeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmg6CisgICAgICAg
ICogd3RmL1RocmVhZEFzc2VydGlvbnMuaDoKKyAgICAgICAgKFdURjo6V1RGX0FTU0VSVFNfQUNR
VUlSRURfQ0FQQUJJTElUWSk6CisgICAgICAgICogd3RmL1RocmVhZFNhZmV0eUFuYWx5c2lzLmg6
CisgICAgICAgICogd3RmL1RocmVhZGluZy5oOgorICAgICAgICAqIHd0Zi9UaW1pbmdTY29wZS5j
cHA6CisgICAgICAgICogd3RmL1VSTC5jcHA6CisgICAgICAgIChXVEY6OldURl9SRVFVSVJFU19D
QVBBQklMSVRZKToKKyAgICAgICAgKiB3dGYvV1RGU2VtYXBob3JlLmg6CisgICAgICAgICogd3Rm
L1dvcmtRdWV1ZS5jcHA6CisgICAgICAgIChXVEY6OkNvbmN1cnJlbnRXb3JrUXVldWU6OmFwcGx5
KToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdWaWV3LmNwcDoKKyAgICAgICAgKiB3dGYvdGhy
ZWFkcy9CaW5hcnlTZW1hcGhvcmUuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwOgorCiAyMDIyLTAyLTIxICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0pTQ10gRm9ybWF0IHRoZSBvdXRwdXQgb2YgLS1yZXBvcnRUb3Rh
bFBoYXNlVGltZXM9MSBtb3JlIG5pY2VseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNlMmVkMzZkYmVkNTM1ZjA5
YTgwYjEzNWU5NzVjYmVkNWVhZjYyODUuLjAzYjFjZTUzOGRhNmVmYjlhNDhmMDAwNGNkOTQ4NzRk
ZWRkYmVlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTAgQEAKKzIwMjItMDItMjIgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWQgc2FmZXR5
IGFuYWx5c2lzIG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2FzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzAyMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSB0aGUg
bWFjcm9zIHdpdGggV1RGXypfTE9DSyB0byBXVEZfKl9DQVBBQklMSVRZIHRvIHN1cHBvcnQgbm9u
LUxvY2sgdXNlLWNhc2VzLgorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0Zp
bGVTeXN0ZW1IYW5kbGVDbG9zZVNjb3BlLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
UHJveHkuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5Q3Vyc29y
LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldURl9SRVFVSVJFU19DQVBBQklMSVRZKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIu
aDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25DYXB0dXJlU291cmNlSW1wbC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Bh
cmFtVGltZWxpbmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvV29ya2xldEds
b2JhbFNjb3BlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUu
aDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmg6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFz
ZVRhc2tTeW5jaHJvbml6ZXI6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTENhbGxiYWNrV3JhcHBlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Lmg6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRUcmVlOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAg
ICAqIGJyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAgICAgICAgKiBjcnlwdG8vQ3J5
cHRvQWxnb3JpdGhtUmVnaXN0cnkuaDoKKyAgICAgICAgKiBkb20vQnJvYWRjYXN0Q2hhbm5lbC5j
cHA6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvV2ViSGVhcEFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdl
bnRzL3BhZ2UvUGFnZU5ldHdvcmtBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMv
d29ya2VyL1dvcmtlck5ldHdvcmtBZ2VudC5oOgorICAgICAgICAqIHBhZ2UvUmVzb3VyY2VVc2Fn
ZVRocmVhZC5oOgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBhZ2UvV2hlZWxF
dmVudFRlc3RNb25pdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdE1vbml0
b3I6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OldURl9S
RVFVSVJFU19DQVBBQklMSVRZKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OldU
Rl9SRVRVUk5TX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5n
VHJlZTo6V1RGX1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZUNvY29hLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9BYm9ydGFibGVUYXNrUXVldWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9MZWdhY3lT
Y2hlbWVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWSk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbjo6V1RGX0dVQVJERURfQllfQ0FQQUJJTElU
WSk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmg6CisgICAg
ICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFt
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9T
b3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFt
ZU1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJveHkuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcjo6V1RGX1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I6OldURl9SRVFVSVJFU19DQVBBQklM
SVRZKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcjo6V1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFVFVSTlNfQ0FQQUJJTElUWSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxh
eWVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29u
dGVudHNEZWxheWVkUmVsZWFzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXll
ckNvbnRlbnRzRGVsYXllZFJlbGVhc2VyOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmg6CisgICAgICAgIChX
ZWJDb3JlOjpJT1N1cmZhY2VQb29sOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZURlY29kZXJHU3RyZWFtZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NYWluVGhyZWFkTm90aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllclByb3h5Lmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZv
cm1MYXllclByb3h5OjpXVEZfUkVUVVJOU19DQVBBQklMSVRZKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eUdMLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tOgorICAgICAgICAoV2ViQ29yZTo6
V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW06CisgICAgICAgIChXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZU1vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQ6OldU
Rl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlTGliV2ViUlRD
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVu
aXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNV
UkxTZXNzaW9uLm1tOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGll
cy5tbToKKyAgICAgICAgKFdlYkNvcmU6OldURl9SRVFVSVJFU19DQVBBQklMSVRZKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlv
blF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSk6CisgICAg
ICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmg6CisgICAgICAgICogcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxpdGVE
YXRhYmFzZVRyYWNrZXI6OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHN0
b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVF1
b3RhTWFuYWdlcjo6V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSk6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXVEZfUkVRVUlSRVNf
Q0FQQUJJTElUWSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ck9yV29ya2xldFRocmVhZC5oOgorICAgICAgICAqIHdvcmtsZXRzL1BhaW50V29ya2xldEdsb2Jh
bFNjb3BlLmg6CisKIDIwMjItMDItMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBJbXByb3ZlIGNvbnN0IGNvcnJlY3RuZXNzIGZvciBTZWN1
cml0eU9yaWdpbiBhY2Nlc3NvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGIyNzMyY2YxODM3Zjlk
Y2U5OWFmZmQ4MzA2MGEwYmY2MDA5MmRiMGYuLjU2Mjk3MjI5MWQ4OTcwMmFlOGZlOTUyZGIyMTI3
Y2Q4ZjA5ZjNiOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAy
LTIyICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGhy
ZWFkIHNhZmV0eSBhbmFseXNpcyBtYWNyb3MgYXJlIGNvbmZ1c2luZyBmb3Igbm9uLUxvY2sgdXNl
LWNhc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzcwMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZW5hbWUgdGhlIG1hY3JvcyB3aXRoIFdURl8qX0xPQ0sgdG8gV1RGXypfQ0FQQUJJTElUWSB0byBz
dXBwb3J0IG5vbi1Mb2NrIHVzZS1jYXNlcy4KKworICAgICAgICAqIHBhbC90ZXh0L1RleHRFbmNv
ZGluZ1JlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFBBTDo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkp
OgorCiAyMDIyLTAyLTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYkdQVV0gRml4IGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNWY1YTRjYWMzOTgx
YmZiMzY1MzViZDg1OGUyNWUwYThjMmM1NzkuLjJiMGQ4ZDY1ZDUxN2VjOGE1OWM4ZDVmN2ZmMDA1
OGU0Y2IwYWI5ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMjItMDItMjIgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWQgc2FmZXR5
IGFuYWx5c2lzIG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2FzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzAyMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSB0aGUg
bWFjcm9zIHdpdGggV1RGXypfTE9DSyB0byBXVEZfKl9DQVBBQklMSVRZIHRvIHN1cHBvcnQgbm9u
LUxvY2sgdXNlLWNhc2VzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVH
cmFwaGljc0NvbnRleHRHTC5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kOjpXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMv
TGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9D
dXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6U3RvcmFnZTo6VHJhdmVyc2VPcGVyYXRpb246OldURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL0xhdW5jaFNlcnZpY2VzRGF0YWJhc2VP
YnNlcnZlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2dsaWIvRE5TQ2FjaGUuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAoSVBDOjpXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSk6CisgICAg
ICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlv
bjo6V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1N0
cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFt
U2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9CbG9ja2luZ1Jlc3BvbnNlTWFw
Lmg6CisgICAgICAgICogU2hhcmVkL0NvY29hL1hQQ0VuZHBvaW50Q2xpZW50Lmg6CisgICAgICAg
ICogU2hhcmVkL1RocmVhZFNhZmVPYmplY3RIZWFwLmg6CisgICAgICAgICogU2hhcmVkL1dlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvTWVkaWFGb3JtYXRS
ZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL01lZGlhRm9y
bWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6CisgICAgICAgICogU2hhcmVkL21hYy9NZWRp
YUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9nbGliL0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVUkxTY2hlbWVU
YXNrLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmg6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6RGVjb2Rlcjo6V1RGX0dVQVJERURfQllfQ0FQQUJJTElU
WSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6RW5jb2Rlcjo6V1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90
ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvRXZlbnREaXNwYXRjaGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1Zp
ZXdVcGRhdGVEaXNwYXRjaGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVD
YXB0dXJlU2FtcGxlTWFuYWdlci5oOgorCiAyMDIyLTAyLTIxICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgYWRhdHRyaWJ1dGlvbmQg
dG8gc3RhcnQgb24gaU9TIGRldmljZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKaW5kZXggZDZhN2ZkYjdm
OWM4YTllNGJiMjA4YWFjYjE2OWE1OWFiNTg4NmU0NS4uNDEzNTcxZTYxNTc3NzBjOGUzNzBkOWFl
OTY2MjVjZmZhZDUyZDUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMi0wMi0yMiAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFRocmVhZCBzYWZldHkgYW5hbHlzaXMgbWFjcm9zIGFyZSBjb25mdXNpbmcgZm9yIG5vbi1M
b2NrIHVzZS1jYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVuYW1lIHRoZSBtYWNyb3Mgd2l0aCBXVEZfKl9MT0NLIHRvIFdURl8qX0NBUEFCSUxJ
VFkgdG8gc3VwcG9ydCBub24tTG9jayB1c2UtY2FzZXMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5oOgorCiAyMDIyLTAyLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgT3B0aW1pemUgRE9NIHN0b3JhZ2UgZXZlbnQgZGlzcGF0Y2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA5NTI0NWI2ZmViMzNkMzQxM2U5NTI1YmIzYjZh
ZjgyMGMxNTQ4MjdmLi43YjVhYzgyZjk3NDk4MDI0MWU2Mzk5YmUzNjk0ZDc3ZmZmZjhkOGYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDItMjIg
IEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWQg
c2FmZXR5IGFuYWx5c2lzIG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2Fz
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzAy
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFt
ZSB0aGUgbWFjcm9zIHdpdGggV1RGXypfTE9DSyB0byBXVEZfKl9DQVBBQklMSVRZIHRvIHN1cHBv
cnQgbm9uLUxvY2sgdXNlLWNhc2VzLgorCisgICAgICAgICogRE9NL0RPTUludGVybmFsLm1tOgor
CiAyMDIyLTAyLTE4ICBSb2JlcnQgSmVubmVyICA8SmVubmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI5MDE0OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQppbmRleCA0M2MyYjRmZWI0MzQwMGZjNzRhODNmNDI4
NTllNzNhZDY1MjdiNDdmLi5kMTg1ODIzMWRmYzI3Njg0YzkyMjMyODkwNjBhMmU5YjllMzYzOTg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmUu
bW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCkBA
IC01Myw3ICs1Myw3IEBAIHN0YXRpYyB2b2lkIGluaXRXcmFwcGVyQ2FjaGUoKQogICAgIGdsb2Jh
bFdyYXBwZXJDYWNoZSA9IFtbTlNNYXBUYWJsZSBhbGxvY10gaW5pdFdpdGhLZXlPcHRpb25zOmtl
eU9wdGlvbnMgdmFsdWVPcHRpb25zOnZhbHVlT3B0aW9ucyBjYXBhY2l0eTowXTsKIH0KIAotc3Rh
dGljIE5TTWFwVGFibGUgKndyYXBwZXJDYWNoZSgpIFdURl9SRVFVSVJFU19MT0NLKHdyYXBwZXJD
YWNoZU11dGV4KQorc3RhdGljIE5TTWFwVGFibGUgKndyYXBwZXJDYWNoZSgpIFdURl9SRVFVSVJF
U19DQVBBQklMSVRZKHdyYXBwZXJDYWNoZU11dGV4KQogewogICAgIGlmICghZ2xvYmFsV3JhcHBl
ckNhY2hlKQogICAgICAgICBpbml0V3JhcHBlckNhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmlydHVhbE1hY2hpbmUuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZpcnR1YWxNYWNoaW5lLmNwcAppbmRleCBmNTk4NmUw
Yjg3OTFlYjMzYTAxMmZjMzA0ZDI1MzYzMDZlZDk5MTgwLi4yZTBhYmVlOTJhNDY4M2FjZjZmYzJl
NDk0MmM2NWY1NjAwZGEyYTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L2dsaWIvSlNDVmlydHVhbE1hY2hpbmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0NWaXJ0dWFsTWFjaGluZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgV0VCS0lUX0RF
RklORV9UWVBFKEpTQ1ZpcnR1YWxNYWNoaW5lLCBqc2NfdmlydHVhbF9tYWNoaW5lLCBHX1RZUEVf
T0JKRUNUKQogCiBzdGF0aWMgTG9jayB3cmFwcGVyQ2FjaGVNdXRleDsKIAotc3RhdGljIEhhc2hN
YXA8SlNDb250ZXh0R3JvdXBSZWYsIEpTQ1ZpcnR1YWxNYWNoaW5lKj4mIHdyYXBwZXJNYXAoKSBX
VEZfUkVRVUlSRVNfTE9DSyh3cmFwcGVyQ2FjaGVNdXRleCkKK3N0YXRpYyBIYXNoTWFwPEpTQ29u
dGV4dEdyb3VwUmVmLCBKU0NWaXJ0dWFsTWFjaGluZSo+JiB3cmFwcGVyTWFwKCkgV1RGX1JFUVVJ
UkVTX0NBUEFCSUxJVFkod3JhcHBlckNhY2hlTXV0ZXgpCiB7CiAgICAgc3RhdGljIExhenlOZXZl
ckRlc3Ryb3llZDxIYXNoTWFwPEpTQ29udGV4dEdyb3VwUmVmLCBKU0NWaXJ0dWFsTWFjaGluZSo+
PiBzaGFyZWQ7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VLZXk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1BlcmZMb2cuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvUGVyZkxvZy5oCmluZGV4IDhmOWViN2U1YmYxY2FhNDI0NTA5
ZDgxMTg1M2VjM2I5NzNiMjkyOWMuLmIzMGUxMDU3ZTAwNjQ3Nzk0ZmNiODg2NDhjOTlmYmIyYmI2
YzA3NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUGVyZkxv
Zy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUGVyZkxvZy5oCkBAIC00
Myw4ICs0Myw4IEBAIHByaXZhdGU6CiAgICAgUGVyZkxvZygpOwogICAgIHN0YXRpYyBQZXJmTG9n
JiBzaW5nbGV0b24oKTsKIAotICAgIHZvaWQgd3JpdGUoY29uc3Qgdm9pZCosIHNpemVfdCkgV1RG
X1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKLSAgICB2b2lkIGZsdXNoKCkgV1RGX1JFUVVJUkVTX0xP
Q0sobV9sb2NrKTsKKyAgICB2b2lkIHdyaXRlKGNvbnN0IHZvaWQqLCBzaXplX3QpIFdURl9SRVFV
SVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgdm9pZCBmbHVzaCgpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKG1fbG9jayk7CiAKICAgICBGSUxFKiBtX2ZpbGUgeyBudWxscHRyIH07CiAgICAg
dm9pZCogbV9tYXJrZXIgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCmluZGV4IDQ4MjQxNzgyYjdmMTQ5ODZkMWZh
YmNiNzY1ZTY3MWU0YWNmOWU5ZDAuLmJhZTE0OTJhODc1ZTQwZDRlYjNlZjIyM2E1NWI4Y2Q3Mjhh
YjJkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTdHViSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTdHViSW5mby5oCkBAIC0zNzMsNyArMzczLDcgQEAgcHJpdmF0ZToKICAgICAvLyBOb3RlIHRo
YXQgaXQncyBhbHdheXMgc2FmZSB0byBjbGVhciB0aGlzLiBJZiB3ZSBjbGVhciBpdCBwcmVtYXR1
cmVseSwgdGhlbiBpZiB3ZSBzZWUgdGhlIHNhbWUKICAgICAvLyBzdHJ1Y3R1cmUgYWdhaW4gZHVy
aW5nIHRoaXMgYnVmZmVyaW5nIGNvdW50ZG93biwgd2Ugd2lsbCBjcmVhdGUgYW4gQWNjZXNzQ2Fz
ZSBvYmplY3QgZm9yIGl0LgogICAgIC8vIFRoYXQncyBub3Qgc28gYmFkIC0gd2UnbGwgZ2V0IHJp
ZCBvZiB0aGUgcmVkdW5kYW50IG9uZXMgb25jZSB3ZSByZWdlbmVyYXRlLgotICAgIEhhc2hTZXQ8
QnVmZmVyZWRTdHJ1Y3R1cmUsIEJ1ZmZlcmVkU3RydWN0dXJlOjpIYXNoLCBCdWZmZXJlZFN0cnVj
dHVyZTo6S2V5VHJhaXRzPiBtX2J1ZmZlcmVkU3RydWN0dXJlcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fYnVmZmVyZWRTdHJ1Y3R1cmVzTG9jayk7CisgICAgSGFzaFNldDxCdWZmZXJlZFN0cnVjdHVy
ZSwgQnVmZmVyZWRTdHJ1Y3R1cmU6Okhhc2gsIEJ1ZmZlcmVkU3RydWN0dXJlOjpLZXlUcmFpdHM+
IG1fYnVmZmVyZWRTdHJ1Y3R1cmVzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9idWZmZXJl
ZFN0cnVjdHVyZXNMb2NrKTsKIHB1YmxpYzoKICAgICBDb2RlTG9jYXRpb25MYWJlbDxKSVRTdHVi
Um91dGluZVB0clRhZz4gc3RhcnQ7IC8vIFRoaXMgaXMgZWl0aGVyIHRoZSBzdGFydCBvZiB0aGUg
aW5saW5lIElDIGZvciAqYnlJZCBjYWNoZXMuIG9yIHRoZSBsb2NhdGlvbiBvZiBwYXRjaGFibGUg
anVtcCBmb3IgJ2luc3RhbmNlb2YnIGNhY2hlcy4KICAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0lu
dGVybmFsUHRyVGFnPiBkb25lTG9jYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3VwZXJTYW1wbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TdXBlclNhbXBsZXIuY3BwCmluZGV4IDVmNjYzYjJmZjVhNWUzY2UwOGNlNDEyOTVi
ODBhOWI3MTA2Yzg5NzkuLjMxODg2NTk3NmQyNDQ3NjQ1OGU4OWMwM2EyZjI1YjNhZjFlZDc3YmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdXBlclNhbXBsZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdXBlclNhbXBsZXIuY3Bw
CkBAIC0zNyw4ICszNyw4IEBAIHN0ZDo6YXRvbWljPHVpbnQzMl90PiBnX3N1cGVyU2FtcGxlckNv
dW50Owogc3RkOjphdG9taWM8Ym9vbD4gZ19zdXBlclNhbXBsZXJFbmFibGVkOwogCiBzdGF0aWMg
TG9jayBsb2NrOwotc3RhdGljIGRvdWJsZSBpbiBXVEZfR1VBUkRFRF9CWV9MT0NLKGxvY2spOwot
c3RhdGljIGRvdWJsZSBvdXQgV1RGX0dVQVJERURfQllfTE9DSyhsb2NrKTsKK3N0YXRpYyBkb3Vi
bGUgaW4gV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShsb2NrKTsKK3N0YXRpYyBkb3VibGUgb3V0
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobG9jayk7CiAKIHZvaWQgaW5pdGlhbGl6ZVN1cGVy
U2FtcGxlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nv
bW1vbkRhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNw
cAppbmRleCBiMWZlYTY2M2VjOWU0NDFhNzQ3ZmIzMzZhNDY5NzcxZDVmMDExYTMxLi4zMGJkOWE5
YmZlZDhmMTk4NzRiODNjMTg4MWFiMTVkMjNmMmE4OGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgdm9pZCBDb21tb25E
YXRhOjpzaHJpbmtUb0ZpdCgpCiB9CiAKIHN0YXRpYyBMb2NrIHBjQ29kZUJsb2NrTWFwTG9jazsK
LWlubGluZSBIYXNoTWFwPHZvaWQqLCBDb2RlQmxvY2sqPiYgcGNDb2RlQmxvY2tNYXAoKSBXVEZf
UkVRVUlSRVNfTE9DSyhwY0NvZGVCbG9ja01hcExvY2spCitpbmxpbmUgSGFzaE1hcDx2b2lkKiwg
Q29kZUJsb2NrKj4mIHBjQ29kZUJsb2NrTWFwKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkocGND
b2RlQmxvY2tNYXBMb2NrKQogewogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8SGFzaE1h
cDx2b2lkKiwgQ29kZUJsb2NrKj4+IHBjQ29kZUJsb2NrTWFwOwogICAgIHN0YXRpYyBzdGQ6Om9u
Y2VfZmxhZyBvbmNlS2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdQbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaAppbmRleCA0MDgw
MzI5NmE2ZGJlMGU0N2VhMzgzM2RiYmYyNGE2YzI5MDNiNmUyLi5iZjExOTNjM2M3OWUwODYyMmI1
N2EyZWQyOTRkMTY2ZjZhZjE5NDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1BsYW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uaApA
QCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgQ29kZUJsb2NrKiBtX3Byb2ZpbGVkREZH
Q29kZUJsb2NrOwogCiAgICAgT3BlcmFuZHM8c3RkOjpvcHRpb25hbDxKU1ZhbHVlPj4gbV9tdXN0
SGFuZGxlVmFsdWVzOwotICAgIGJvb2wgbV9tdXN0SGFuZGxlVmFsdWVzTWF5SW5jbHVkZUdhcmJh
Z2UgV1RGX0dVQVJERURfQllfTE9DSyhtX211c3RIYW5kbGVWYWx1ZUNsZWFuaW5nTG9jaykgeyB0
cnVlIH07CisgICAgYm9vbCBtX211c3RIYW5kbGVWYWx1ZXNNYXlJbmNsdWRlR2FyYmFnZSBXVEZf
R1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbXVzdEhhbmRsZVZhbHVlQ2xlYW5pbmdMb2NrKSB7IHRy
dWUgfTsKICAgICBMb2NrIG1fbXVzdEhhbmRsZVZhbHVlQ2xlYW5pbmdMb2NrOwogCiAgICAgYm9v
bCBtX3dpbGxUcnlUb1RpZXJVcCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHAKaW5kZXggMGQwNzUxYjExOThhOTZk
ZThlOGNhYzA0OWU2YjRiOWRmZDA0M2I2Mi4uYzIwODEwYjA0NTM5NTQ2YjU5M2ZjM2U3MDA5NzQ0
NzE0NTYyNjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxl
ci9EaXNhc3NlbWJsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvRGlzYXNzZW1ibGVyLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHByaXZhdGU6CiAgICAgCiAg
ICAgTG9jayBtX2xvY2s7CiAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwotICAgIERlcXVlPHN0
ZDo6dW5pcXVlX3B0cjxEaXNhc3NlbWJseVRhc2s+PiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9sb2NrKTsKKyAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RGlzYXNzZW1ibHlUYXNrPj4g
bV9xdWV1ZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CiAgICAgYm9vbCBtX3dv
cmtpbmcgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvQmxvY2tEaXJlY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQmxv
Y2tEaXJlY3RvcnkuY3BwCmluZGV4IGUyYTM1NDBmODZkMmQyNjYyY2M1NmE4ODVmZDMyYjlmM2M2
NWFiYTMuLjVjYmVhOGJjZDRlOTE5ZDBhOTdkOGE0MjY0ODVhOTBmYWIzN2Y4YjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5jcHAKQEAgLTM0NCw4ICsz
NDQsOCBAQCBSZWZQdHI8U2hhcmVkVGFzazxNYXJrZWRCbG9jazo6SGFuZGxlKigpPj4gQmxvY2tE
aXJlY3Rvcnk6OnBhcmFsbGVsTm90RW1wdHlCbG9jawogICAgICAgICB9CiAgICAgICAgIAogICAg
IHByaXZhdGU6Ci0gICAgICAgIEJsb2NrRGlyZWN0b3J5JiBtX2RpcmVjdG9yeSBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgICAgIHNpemVfdCBtX2luZGV4IFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9sb2NrKSB7IDAgfTsKKyAgICAgICAgQmxvY2tEaXJlY3RvcnkmIG1fZGlyZWN0b3J5
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKKyAgICAgICAgc2l6ZV90IG1faW5k
ZXggV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgMCB9OwogICAgICAgICBMb2Nr
IG1fbG9jazsKICAgICAgICAgYm9vbCBtX2RvbmUgeyBmYWxzZSB9OwogICAgIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvQmxvY2tEaXJlY3RvcnkuaAppbmRleCA4ODM4OWFkMTNmMTU2
ZWZmYmRjMGM3ZmViMjliMWZhNzcxMTJkODI2Li4wMTQxNWNkOWIyYTEwMGQ5ZDAzMzA5MzBmNjEy
ZGFkMjFjNjlkMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9j
a0RpcmVjdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0
b3J5LmgKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVQZXJjZW50
YWdlT2ZQYWdlZE91dFBhZ2VzKFdURjo6U2ltcGxlU3RhdHMmKTsKICAgICAKLSAgICBMb2NrJiBi
aXR2ZWN0b3JMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX2JpdHZlY3RvckxvY2spIHsgcmV0dXJu
IG1fYml0dmVjdG9yTG9jazsgfQorICAgIExvY2smIGJpdHZlY3RvckxvY2soKSBXVEZfUkVUVVJO
U19DQVBBQklMSVRZKG1fYml0dmVjdG9yTG9jaykgeyByZXR1cm4gbV9iaXR2ZWN0b3JMb2NrOyB9
CiAKICNkZWZpbmUgQkxPQ0tfRElSRUNUT1JZX0JJVF9BQ0NFU1NPUlMobG93ZXJCaXROYW1lLCBj
YXBpdGFsQml0TmFtZSkgICAgIFwKICAgICBib29sIGlzICMjIGNhcGl0YWxCaXROYW1lKGNvbnN0
IEFic3RyYWN0TG9ja2VyJiwgc2l6ZV90IGluZGV4KSBjb25zdCB7IHJldHVybiBtX2JpdHMuaXMg
IyMgY2FwaXRhbEJpdE5hbWUoaW5kZXgpOyB9IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0NvZGVCbG9ja1NldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
Q29kZUJsb2NrU2V0LmgKaW5kZXggOTVhZTNmNjFiYjRlNGY1ZDgwZWQ0YjE0N2NjMDYzMzA4MWJi
M2I1MS4uMjcwNjc3NzVmZWY0MGRiNTk3NDE2NjFiMzYxODU4YzgxZmJmN2FhZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgY2xlYXJDdXJyZW50bHlFeGVjdXRpbmcoKTsKIAogICAgIGJvb2wgY29u
dGFpbnMoY29uc3QgQWJzdHJhY3RMb2NrZXImLCB2b2lkKiBjYW5kaWRhdGVDb2RlQmxvY2spOwot
ICAgIExvY2smIGdldExvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1fbG9jaykgeyByZXR1cm4gbV9s
b2NrOyB9CisgICAgTG9jayYgZ2V0TG9jaygpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9sb2Nr
KSB7IHJldHVybiBtX2xvY2s7IH0KIAogICAgIC8vIFRoaXMgaXMgZXhwZWN0ZWQgdG8gcnVuIG9u
bHkgd2hlbiB3ZSdyZSBub3QgYWRkaW5nIHRvIHRoZSBzZXQgZm9yIG5vdy4gSWYKICAgICAvLyB0
aGlzIG5lZWRzIHRvIHJ1biBjb25jdXJyZW50bHkgaW4gdGhlIGZ1dHVyZSwgd2UnbGwgbmVlZCB0
byBsb2NrIGFyb3VuZCB0aGlzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCmluZGV4IGFmMGU0
YzQ2YTZjZWE3MDZiY2IxYWVlYzQxMmYxOWQ1MWJiNDgxNTIuLjA3NTIxMmEyNmY5ZTIwNjBkNjIw
ODg4YTc1MzY1MmI5M2ZmZDAyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKQEAgLTc5
Niw3ICs3OTYsNyBAQCBwcml2YXRlOgogICAgIC8vIG9uZSBHQyB0byB0aGUgbmV4dC4gR0MgbWFy
a2luZyB0aHJlYWRzIGNsYWltIHRoZXNlIGF0IHRoZSBzdGFydCBvZiBtYXJraW5nLCBhbmQgcmV0
dXJuCiAgICAgLy8gdGhlbSBhdCB0aGUgZW5kLgogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8
U2xvdFZpc2l0b3I+PiBtX3BhcmFsbGVsU2xvdFZpc2l0b3JzOwotICAgIFZlY3RvcjxTbG90Vmlz
aXRvcio+IG1fYXZhaWxhYmxlUGFyYWxsZWxTbG90VmlzaXRvcnMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3BhcmFsbGVsU2xvdFZpc2l0b3JMb2NrKTsKKyAgICBWZWN0b3I8U2xvdFZpc2l0b3IqPiBt
X2F2YWlsYWJsZVBhcmFsbGVsU2xvdFZpc2l0b3JzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
bV9wYXJhbGxlbFNsb3RWaXNpdG9yTG9jayk7CiAgICAgCiAgICAgSGFuZGxlU2V0IG1faGFuZGxl
U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb2RlQmxvY2tTZXQ+IG1fY29kZUJsb2NrczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlUGVyVk0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlUGVyVk0uaAppbmRleCAwYzdj
Y2I5NGVlOTFmMGU0YzBlMTQ1M2ZkZWE4N2MyNmZlYzhkNTI5Li4wMTAwZTRjNDYxZDcwOWFkNTI4
MDJmNzgwZWViZmVkMzU1MDM2YjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9Jc29TdWJzcGFjZVBlclZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SXNvU3Vic3BhY2VQZXJWTS5oCkBAIC04MCw3ICs4MCw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBt
X2xvY2s7CiAKICAgICBIYXNoTWFwPEhlYXAqLCBJc29TdWJzcGFjZSo+IG1fc3Vic3BhY2VQZXJI
ZWFwOwotICAgIEhhc2hNYXA8Vk0qLCBHQ0NsaWVudDo6SXNvU3Vic3BhY2UqPiBtX2NsaWVudFN1
YnNwYWNlUGVyVk0gV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOworICAgIEhhc2hNYXA8Vk0q
LCBHQ0NsaWVudDo6SXNvU3Vic3BhY2UqPiBtX2NsaWVudFN1YnNwYWNlUGVyVk0gV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogICAgIEZ1bmN0aW9uPFN1YnNwYWNlUGFyYW1ldGVy
cyhIZWFwJik+IG1fc3Vic3BhY2VQYXJhbWV0ZXJzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL1Nsb3RWaXNpdG9yLmgKaW5kZXggYWIzNDc0MTBkNDI1MGU4MDQwMGIzZmVmZjNhNzdj
NTU0ODNjMjZjZS4uNWVlNTNmYWU3NzMxY2U0MDViMTY1MDlhZjIwZmQ0NGQ0NzJhNmEyNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCkBAIC0xNjMsNyArMTYzLDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBtdXRhdG9ySXNTdG9wcGVkKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9tdXRhdG9ySXNTdG9wcGVkOyB9CiAgICAgCi0gICAgTG9jayYgcmlnaHRUb1J1bigp
IFdURl9SRVRVUk5TX0xPQ0sobV9yaWdodFRvUnVuKSB7IHJldHVybiBtX3JpZ2h0VG9SdW47IH0K
KyAgICBMb2NrJiByaWdodFRvUnVuKCkgV1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX3JpZ2h0VG9S
dW4pIHsgcmV0dXJuIG1fcmlnaHRUb1J1bjsgfQogICAgIAogICAgIHZvaWQgdXBkYXRlTXV0YXRv
cklzU3RvcHBlZChjb25zdCBBYnN0cmFjdExvY2tlciYpOwogICAgIHZvaWQgdXBkYXRlTXV0YXRv
cklzU3RvcHBlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvckNvbm5lY3Rpb25DbGllbnQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JD
b25uZWN0aW9uQ2xpZW50LmgKaW5kZXggZmQ0NTFhNTAzODA2YjBkZTY3ZTY0ODA2MWYzNjIzZDA1
NzNjZTc3MC4uNWZhOGQ0NjE2M2JhMDA3ZmY4YmEwNWNkMDE1NTE2NWFmYWJmZjc1MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90
ZUluc3BlY3RvckNvbm5lY3Rpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudC5o
CkBAIC02NSw3ICs2NSw3IEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PEV2ZW50PiBleHRyYWN0RXZlbnQoQ29ubmVjdGlvbklELCBWZWN0b3I8dWludDhfdD4mJik7CiAK
LSAgICBIYXNoTWFwPENvbm5lY3Rpb25JRCwgTWVzc2FnZVBhcnNlcj4gbV9wYXJzZXJzIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9wYXJzZXJzTG9jayk7CisgICAgSGFzaE1hcDxDb25uZWN0aW9uSUQs
IE1lc3NhZ2VQYXJzZXI+IG1fcGFyc2VycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcGFy
c2Vyc0xvY2spOwogICAgIExvY2sgbV9wYXJzZXJzTG9jazsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0
b3JTb2NrZXRFbmRwb2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmgKaW5kZXggNzcwNDRjYWRl
YzBiZTE2Y2EwODdmZTYzYjQ2ZWZkMWEzZjBhZjE4YS4uMDQzYTFhMWFjM2MxZGI4YTE2MzZlNjFm
YjY4ZTk3M2YyOGRkMzM4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvclNvY2tldEVuZHBvaW50LmgKQEAgLTE4Myw4ICsxODMsOCBAQCBwcm90ZWN0ZWQ6CiAgICAg
aW50IHBvbGxpbmdUaW1lb3V0KCk7CiAKICAgICBtdXRhYmxlIExvY2sgbV9jb25uZWN0aW9uc0xv
Y2s7Ci0gICAgSGFzaE1hcDxDb25uZWN0aW9uSUQsIHN0ZDo6dW5pcXVlX3B0cjxDbGllbnRDb25u
ZWN0aW9uPj4gbV9jbGllbnRzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jb25uZWN0aW9uc0xvY2sp
OwotICAgIEhhc2hNYXA8Q29ubmVjdGlvbklELCBzdGQ6OnVuaXF1ZV9wdHI8TGlzdGVuZXJDb25u
ZWN0aW9uPj4gbV9saXN0ZW5lcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2Nvbm5lY3Rpb25zTG9j
ayk7CisgICAgSGFzaE1hcDxDb25uZWN0aW9uSUQsIHN0ZDo6dW5pcXVlX3B0cjxDbGllbnRDb25u
ZWN0aW9uPj4gbV9jbGllbnRzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jb25uZWN0aW9u
c0xvY2spOworICAgIEhhc2hNYXA8Q29ubmVjdGlvbklELCBzdGQ6OnVuaXF1ZV9wdHI8TGlzdGVu
ZXJDb25uZWN0aW9uPj4gbV9saXN0ZW5lcnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2Nv
bm5lY3Rpb25zTG9jayk7CiAKICAgICBQbGF0Zm9ybVNvY2tldFR5cGUgbV93YWtldXBTZW5kU29j
a2V0IHsgSU5WQUxJRF9TT0NLRVRfVkFMVUUgfTsKICAgICBQbGF0Zm9ybVNvY2tldFR5cGUgbV93
YWtldXBSZWNlaXZlU29ja2V0IHsgSU5WQUxJRF9TT0NLRVRfVkFMVUUgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCmluZGV4IGExNzMx
NWNjNjg0OTk2YTA1YzVhNWJhNjE1NjQ0MWU4YTliZWQ4NWUuLjI0ZWI5MzNmYWViZDcxYjA4NWNl
MDNjYzkxZWQwN2FmMzUxMjRlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcApAQCAtNTEyLDcgKzUxMiw3IEBAIHB1YmxpYzoKICNl
bmRpZiAvLyBFTkFCTEUoSlVNUF9JU0xBTkRTKQogICAgIH0KIAotICAgIExvY2smIGdldExvY2so
KSBXVEZfUkVUVVJOU19MT0NLKG1fbG9jaykgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgTG9jayYg
Z2V0TG9jaygpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7
IH0KIAogI2lmIFVTRShMSUJQQVNfSklUX0hFQVApCiAgICAgdm9pZCBzaHJpbmtCeXRlc0FsbG9j
YXRlZChzaXplX3Qgb2xkU2l6ZUluQnl0ZXMsIHNpemVfdCBuZXdTaXplSW5CeXRlcykKQEAgLTEx
NDIsMTQgKzExNDIsMTQgQEAgdm9pZCBkdW1wSklUTWVtb3J5KGNvbnN0IHZvaWQqIGRzdCwgY29u
c3Qgdm9pZCogc3JjLCBzaXplX3Qgc2l6ZSkKIAogI2lmIE9TKERBUldJTikKICAgICBzdGF0aWMg
TG9jayBkdW1wSklUTWVtb3J5TG9jazsKLSAgICBzdGF0aWMgaW50IGZkIFdURl9HVUFSREVEX0JZ
X0xPQ0soZHVtcEpJVE1lbW9yeUxvY2spID0gLTE7CisgICAgc3RhdGljIGludCBmZCBXVEZfR1VB
UkRFRF9CWV9DQVBBQklMSVRZKGR1bXBKSVRNZW1vcnlMb2NrKSA9IC0xOwogICAgIHN0YXRpYyB1
aW50OF90KiBidWZmZXI7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgYnVmZmVyU2l6ZSA9
IGZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2xTaXplOwotICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0
IFdURl9HVUFSREVEX0JZX0xPQ0soZHVtcEpJVE1lbW9yeUxvY2spID0gMDsKLSAgICBzdGF0aWMg
Ym9vbCBuZWVkc1RvRmx1c2ggV1RGX0dVQVJERURfQllfTE9DSyhkdW1wSklUTWVtb3J5TG9jaykg
PSBmYWxzZTsKKyAgICBzdGF0aWMgc2l6ZV90IG9mZnNldCBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKGR1bXBKSVRNZW1vcnlMb2NrKSA9IDA7CisgICAgc3RhdGljIGJvb2wgbmVlZHNUb0ZsdXNo
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkoZHVtcEpJVE1lbW9yeUxvY2spID0gZmFsc2U7CiAg
ICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxSZWY8V29ya1F1ZXVlPj4gZmx1c2hRdWV1ZTsK
ICAgICBzdHJ1Y3QgRHVtcEpJVCB7Ci0gICAgICAgIHN0YXRpYyB2b2lkIGZsdXNoKCkgV1RGX1JF
UVVJUkVTX0xPQ0soZHVtcEpJVE1lbW9yeUxvY2spCisgICAgICAgIHN0YXRpYyB2b2lkIGZsdXNo
KCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoZHVtcEpJVE1lbW9yeUxvY2spCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChmZCA9PSAtMSkgewogICAgICAgICAgICAgICAgIFN0cmluZyBwYXRo
ID0gT3B0aW9uczo6ZHVtcEpJVE1lbW9yeVBhdGgoKTsKQEAgLTExNjIsNyArMTE2Miw3IEBAIHZv
aWQgZHVtcEpJVE1lbW9yeShjb25zdCB2b2lkKiBkc3QsIGNvbnN0IHZvaWQqIHNyYywgc2l6ZV90
IHNpemUpCiAgICAgICAgICAgICBuZWVkc1RvRmx1c2ggPSBmYWxzZTsKICAgICAgICAgfQogCi0g
ICAgICAgIHN0YXRpYyB2b2lkIGVucXVldWVGbHVzaCgpIFdURl9SRVFVSVJFU19MT0NLKGR1bXBK
SVRNZW1vcnlMb2NrKQorICAgICAgICBzdGF0aWMgdm9pZCBlbnF1ZXVlRmx1c2goKSBXVEZfUkVR
VUlSRVNfQ0FQQUJJTElUWShkdW1wSklUTWVtb3J5TG9jaykKICAgICAgICAgewogICAgICAgICAg
ICAgaWYgKG5lZWRzVG9GbHVzaCkKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xMTc2LDcg
KzExNzYsNyBAQCB2b2lkIGR1bXBKSVRNZW1vcnkoY29uc3Qgdm9pZCogZHN0LCBjb25zdCB2b2lk
KiBzcmMsIHNpemVfdCBzaXplKQogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIAotICAgICAg
ICBzdGF0aWMgdm9pZCB3cml0ZShjb25zdCB2b2lkKiBzcmMsIHNpemVfdCBzaXplKSBXVEZfUkVR
VUlSRVNfTE9DSyhkdW1wSklUTWVtb3J5TG9jaykKKyAgICAgICAgc3RhdGljIHZvaWQgd3JpdGUo
Y29uc3Qgdm9pZCogc3JjLCBzaXplX3Qgc2l6ZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoZHVt
cEpJVE1lbW9yeUxvY2spCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShvZmZz
ZXQgKyBzaXplID4gYnVmZmVyU2l6ZSkpCiAgICAgICAgICAgICAgICAgZmx1c2goKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMTMz
Yjg2OTNkMzRkZmEyOWExZDQzZTE0N2UzODI4MzYwOWMzMjUwMy4uYWU4MmQzNmUzOGIyNWRhMmE4
ZTZhMTliZWI5MTc5ZjE0OWVhZTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291bnQoKSB7IHJldHVybiAwOyB9CiAKLSAgICBM
b2NrJiBnZXRMb2NrKCkgY29uc3QgV1RGX1JFVFVSTlNfTE9DSyhtX2xvY2spCisgICAgTG9jayYg
Z2V0TG9jaygpIGNvbnN0IFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9sb2NrKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1fbG9jazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuaAppbmRleCA4NThkNDdhZmFlNzdhZDc0ZTJjOTJh
MzE4NmMzZDI2NTk0MTM4NmJhLi5jYTQwNjM5MzBlNThhMmE2NjE1NDZmM2IyMjg3MDYxMjY1MGYw
MmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdv
cmtUaW1lci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RlZmVycmVkV29y
a1RpbWVyLmgKQEAgLTkwLDcgKzkwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fcnVuVGFza3Mg
eyB0cnVlIH07CiAgICAgYm9vbCBtX3Nob3VsZFN0b3BSdW5Mb29wV2hlbkFsbFRpY2tldHNGaW5p
c2ggeyBmYWxzZSB9OwogICAgIGJvb2wgbV9jdXJyZW50bHlSdW5uaW5nVGFzayB7IGZhbHNlIH07
Ci0gICAgRGVxdWU8c3RkOjp0dXBsZTxUaWNrZXQsIFRhc2s+PiBtX3Rhc2tzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV90YXNrTG9jayk7CisgICAgRGVxdWU8c3RkOjp0dXBsZTxUaWNrZXQsIFRhc2s+
PiBtX3Rhc2tzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV90YXNrTG9jayk7CiAgICAgSGFz
aFNldDxzdGQ6OnVuaXF1ZV9wdHI8VGlja2V0RGF0YT4+IG1fcGVuZGluZ1RpY2tldHM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2Zp
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmgK
aW5kZXggNjQ0MTU5NjdhYjdmODg2OThhMDRiZGQ5YTYzZmIwNzY5NTZjYmRhNS4uYzRjY2E3Njc3
MzM0NGI5YzMyMGU3ZTQwZDY3ODI4ZDZkZjNiMGNmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaApAQCAtMTgxLDE5ICsxODEsMTkgQEAg
cHVibGljOgogICAgIHZvaWQgbm90aWNlSlNMb2NrQWNxdWlzaXRpb24oKTsKICAgICB2b2lkIG5v
dGljZVZNRW50cnkoKTsKICAgICB2b2lkIHNodXRkb3duKCk7Ci0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgVmlzaXRvcj4gdm9pZCB2aXNpdChWaXNpdG9yJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2Nr
KTsKLSAgICBMb2NrJiBnZXRMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX2xvY2spIHsgcmV0dXJu
IG1fbG9jazsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+IHZvaWQgdmlzaXQoVmlz
aXRvciYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgTG9jayYgZ2V0TG9j
aygpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KICAg
ICB2b2lkIHNldFRpbWluZ0ludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV90aW1pbmdJbnRl
cnZhbCA9IGludGVydmFsOyB9CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydCgpOwot
ICAgIHZvaWQgc3RhcnRXaXRoTG9jaygpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7Ci0gICAg
VmVjdG9yPFN0YWNrVHJhY2U+IHJlbGVhc2VTdGFja1RyYWNlcygpIFdURl9SRVFVSVJFU19MT0NL
KG1fbG9jayk7CisgICAgdm9pZCBzdGFydFdpdGhMb2NrKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkobV9sb2NrKTsKKyAgICBWZWN0b3I8U3RhY2tUcmFjZT4gcmVsZWFzZVN0YWNrVHJhY2VzKCkg
V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBT
dHJpbmcgc3RhY2tUcmFjZXNBc0pTT04oKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIG5v
dGljZUN1cnJlbnRUaHJlYWRBc0pTQ0V4ZWN1dGlvblRocmVhZCgpOwotICAgIHZvaWQgbm90aWNl
Q3VycmVudFRocmVhZEFzSlNDRXhlY3V0aW9uVGhyZWFkV2l0aExvY2soKSBXVEZfUkVRVUlSRVNf
TE9DSyhtX2xvY2spOwotICAgIHZvaWQgcHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcygpIFdU
Rl9SRVFVSVJFU19MT0NLKG1fbG9jayk7Ci0gICAgdm9pZCBzZXRTdG9wV2F0Y2goUmVmPFN0b3B3
YXRjaD4mJiBzdG9wd2F0Y2gpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykgeyBtX3N0b3B3YXRj
aCA9IFdURk1vdmUoc3RvcHdhdGNoKTsgfQotICAgIHZvaWQgcGF1c2UoKSBXVEZfUkVRVUlSRVNf
TE9DSyhtX2xvY2spOwotICAgIHZvaWQgY2xlYXJEYXRhKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9s
b2NrKTsKKyAgICB2b2lkIG5vdGljZUN1cnJlbnRUaHJlYWRBc0pTQ0V4ZWN1dGlvblRocmVhZFdp
dGhMb2NrKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKKyAgICB2b2lkIHByb2Nl
c3NVbnZlcmlmaWVkU3RhY2tUcmFjZXMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2sp
OworICAgIHZvaWQgc2V0U3RvcFdhdGNoKFJlZjxTdG9wd2F0Y2g+JiYgc3RvcHdhdGNoKSBXVEZf
UkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spIHsgbV9zdG9wd2F0Y2ggPSBXVEZNb3ZlKHN0b3B3
YXRjaCk7IH0KKyAgICB2b2lkIHBhdXNlKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2Nr
KTsKKyAgICB2b2lkIGNsZWFyRGF0YSgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7
CiAKICAgICAvLyBVc2VkIGZvciBkZWJ1Z2dpbmcgaW4gdGhlIEpTQyBzaGVsbC9EUlQuCiAgICAg
dm9pZCByZWdpc3RlckZvclJlcG9ydEF0RXhpdCgpOwpAQCAtMjA2LDI1ICsyMDYsMjUgQEAgcHVi
bGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIFRocmVhZCogdGhyZWFkKCkgY29uc3Q7CiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBjcmVhdGVUaHJlYWRJZk5lY2Vzc2FyeSgpIFdURl9SRVFVSVJFU19M
T0NLKG1fbG9jayk7CisgICAgdm9pZCBjcmVhdGVUaHJlYWRJZk5lY2Vzc2FyeSgpIFdURl9SRVFV
SVJFU19DQVBBQklMSVRZKG1fbG9jayk7CiAgICAgdm9pZCB0aW1lckxvb3AoKTsKLSAgICB2b2lk
IHRha2VTYW1wbGUoU2Vjb25kcyYgc3RhY2tUcmFjZVByb2Nlc3NpbmdUaW1lKSBXVEZfUkVRVUlS
RVNfTE9DSyhtX2xvY2spOworICAgIHZvaWQgdGFrZVNhbXBsZShTZWNvbmRzJiBzdGFja1RyYWNl
UHJvY2Vzc2luZ1RpbWUpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CiAKICAgICBM
b2NrIG1fbG9jazsKLSAgICBib29sIG1faXNQYXVzZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOwotICAgIGJvb2wgbV9pc1NodXREb3duIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsK
KyAgICBib29sIG1faXNQYXVzZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwor
ICAgIGJvb2wgbV9pc1NodXREb3duIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsK
ICAgICBib29sIG1fbmVlZHNSZXBvcnRBdEV4aXQgeyBmYWxzZSB9OwogICAgIFZNJiBtX3ZtOwog
ICAgIFdlYWtSYW5kb20gbV93ZWFrUmFuZG9tOwotICAgIFJlZjxTdG9wd2F0Y2g+IG1fc3RvcHdh
dGNoIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKLSAgICBWZWN0b3I8U3RhY2tUcmFjZT4g
bV9zdGFja1RyYWNlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgVmVjdG9yPFVu
cHJvY2Vzc2VkU3RhY2tUcmFjZT4gbV91bnByb2Nlc3NlZFN0YWNrVHJhY2VzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9sb2NrKTsKKyAgICBSZWY8U3RvcHdhdGNoPiBtX3N0b3B3YXRjaCBXVEZfR1VB
UkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CisgICAgVmVjdG9yPFN0YWNrVHJhY2U+IG1fc3Rh
Y2tUcmFjZXMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIFZlY3RvcjxV
bnByb2Nlc3NlZFN0YWNrVHJhY2U+IG1fdW5wcm9jZXNzZWRTdGFja1RyYWNlcyBXVEZfR1VBUkRF
RF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CiAgICAgU2Vjb25kcyBtX3RpbWluZ0ludGVydmFsOwot
ICAgIFNlY29uZHMgbV9sYXN0VGltZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAg
U2Vjb25kcyBtX2xhc3RUaW1lIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKICAg
ICBSZWZQdHI8VGhyZWFkPiBtX3RocmVhZDsKLSAgICBSZWZQdHI8VGhyZWFkPiBtX2pzY0V4ZWN1
dGlvblRocmVhZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgSGFzaFNldDxKU0Nl
bGwqPiBtX2xpdmVDZWxsUG9pbnRlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwotICAg
IFZlY3RvcjxVbnByb2Nlc3NlZFN0YWNrRnJhbWU+IG1fY3VycmVudEZyYW1lcyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fbG9jayk7CisgICAgUmVmUHRyPFRocmVhZD4gbV9qc2NFeGVjdXRpb25UaHJl
YWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIEhhc2hTZXQ8SlNDZWxs
Kj4gbV9saXZlQ2VsbFBvaW50ZXJzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsK
KyAgICBWZWN0b3I8VW5wcm9jZXNzZWRTdGFja0ZyYW1lPiBtX2N1cnJlbnRGcmFtZXMgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IGRhZDg0NWQ5ODI2
MTFjNDRkZjFlYWI3ODgyYTQ4NWNlNDJiZjQ2ZWMuLmU2NzU0MjMzYjlkNmY1Mjc1NmY0OTMzZTkx
NTAzMGVhMmYyMzQyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5oCkBAIC03NTksNyArNzU5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBhbmQgdGhlIGxpc3Qgb2Yg
c3RydWN0dXJlcyB0aGF0IHdlIHZpc2l0ZWQgYmVmb3JlIHdlIGdvdCB0byBpdC4gSWYgaXQgcmV0
dXJucyBhCiAgICAgLy8gbm9uLW51bGwgc3RydWN0dXJlLCBpdCB3aWxsIGFsc28gbG9jayB0aGUg
c3RydWN0dXJlIHRoYXQgaXQgcmV0dXJuczsgaXQgaXMgeW91ciBqb2IKICAgICAvLyB0byB1bmxv
Y2sgaXQuCi0gICAgYm9vbCBmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihW
ZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwg
UHJvcGVydHlUYWJsZSomKSBXVEZfQUNRVUlSRVNfTE9DS19JRih0cnVlLCBzdHJ1Y3R1cmUtPm1f
bG9jayk7CisgICAgYm9vbCBmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihW
ZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwg
UHJvcGVydHlUYWJsZSomKSBXVEZfQUNRVUlSRVNfQ0FQQUJJTElUWV9JRih0cnVlLCBzdHJ1Y3R1
cmUtPm1fbG9jayk7IC8vIE5PTElOVAogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvRGlj
dGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBEaWN0aW9uYXJ5S2luZCwgRGVmZXJy
ZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDAzZGRkZWE4NTg0M2RhMjE5N2Y1MjUwYjg5NGZj
MjY1ZTQ2MjUzZGEuLjM1YTM3Y2UxYjdkMjQ4N2YxYTU2YTVhOGY4YzRhMjg4YjM0NjBkYzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtNzE2LDggKzcxNiw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBwYXR0ZXJuQ29udGV4dEJ1ZmZlclNpemUgPSA4
MTkyOyAvLyBTcGFjZSBhbGxvY2F0ZWQgdG8gc2F2ZSBuZXN0ZWQgcGFyZW50aGVzaXMgY29udGV4
dAogICAgIFVuaXF1ZUFycmF5PGNoYXI+IG1fcmVnRXhwUGF0dGVybkNvbnRleEJ1ZmZlcjsKICAg
ICBMb2NrIG1fcmVnRXhwUGF0dGVybkNvbnRleHRMb2NrOwotICAgIGNoYXIqIGFjcXVpcmVSZWdF
eHBQYXR0ZXJuQ29udGV4QnVmZmVyKCkgV1RGX0FDUVVJUkVTX0xPQ0sobV9yZWdFeHBQYXR0ZXJu
Q29udGV4dExvY2spOwotICAgIHZvaWQgcmVsZWFzZVJlZ0V4cFBhdHRlcm5Db250ZXhCdWZmZXIo
KSBXVEZfUkVMRUFTRVNfTE9DSyhtX3JlZ0V4cFBhdHRlcm5Db250ZXh0TG9jayk7CisgICAgY2hh
ciogYWNxdWlyZVJlZ0V4cFBhdHRlcm5Db250ZXhCdWZmZXIoKSBXVEZfQUNRVUlSRVNfQ0FQQUJJ
TElUWShtX3JlZ0V4cFBhdHRlcm5Db250ZXh0TG9jayk7CisgICAgdm9pZCByZWxlYXNlUmVnRXhw
UGF0dGVybkNvbnRleEJ1ZmZlcigpIFdURl9SRUxFQVNFU19DQVBBQklMSVRZKG1fcmVnRXhwUGF0
dGVybkNvbnRleHRMb2NrKTsKICNlbHNlCiAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgcGF0
dGVybkNvbnRleHRCdWZmZXJTaXplID0gMDsgLy8gU3BhY2UgYWxsb2NhdGVkIHRvIHNhdmUgbmVz
dGVkIHBhcmVudGhlc2lzIGNvbnRleHQKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rvb2xzL0Z1bmN0aW9uT3ZlcnJpZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdG9vbHMvRnVuY3Rpb25PdmVycmlkZXMuaAppbmRleCBmYzU4NTQyZGI0ZGFhYTAwOTZmNDEw
ZDM0YTU3M2Q5OTFkYzZlOWYwLi45YzljZjhhYjI3MzU5MjYxY2ZlNjY4ZDhmMDBhOWFjNDFmN2Y1
ZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvRnVuY3Rpb25PdmVy
cmlkZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvRnVuY3Rpb25PdmVycmlk
ZXMuaApAQCAtNTcsMTAgKzU3LDEwIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCByZWluc3RhbGxPdmVycmlkZXMoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBh
cnNlT3ZlcnJpZGVzSW5GaWxlKGNvbnN0IGNoYXIqIGZpbGVOYW1lKSBXVEZfUkVRVUlSRVNfTE9D
SyhtX2xvY2spOwotICAgIHZvaWQgY2xlYXIoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spIHsg
bV9lbnRyaWVzLmNsZWFyKCk7IH0KKyAgICB2b2lkIHBhcnNlT3ZlcnJpZGVzSW5GaWxlKGNvbnN0
IGNoYXIqIGZpbGVOYW1lKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spOworICAgIHZv
aWQgY2xlYXIoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spIHsgbV9lbnRyaWVzLmNs
ZWFyKCk7IH0KIAotICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1fZW50cmllcyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9lbnRy
aWVzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKICAgICBMb2NrIG1fbG9jazsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVjdG9yLmgKaW5kZXggMWI0
ZmRmYjg0Y2Y1MDkzMTRiYTI1ZGUxZTAyYjg2NGEzNTY1ZWVhNC4uMzQyYzM0NmE3NTIyMDExYmQz
NjVjYzVkYzZiYjIyNzYzODY4ZDcxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rvb2xzL1ZNSW5zcGVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL1ZN
SW5zcGVjdG9yLmgKQEAgLTQ4LDE0ICs0OCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGQoVk0q
KTsKICAgICB2b2lkIHJlbW92ZShWTSopOwogCi0gICAgTG9jayYgZ2V0TG9jaygpIFdURl9SRVRV
Uk5TX0xPQ0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KKyAgICBMb2NrJiBnZXRMb2NrKCkg
V1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX2xvY2spIHsgcmV0dXJuIG1fbG9jazsgfQogCiAgICAg
ZW51bSBjbGFzcyBGdW5jdG9yU3RhdHVzIHsKICAgICAgICAgQ29udGludWUsCiAgICAgICAgIERv
bmUKICAgICB9OwogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+IHZvaWQgaXRlcmF0
ZShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spCisgICAg
dGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+IHZvaWQgaXRlcmF0ZShjb25zdCBGdW5jdG9yJiBm
dW5jdG9yKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spCiAgICAgewogICAgICAgICBm
b3IgKFZNKiB2bSA9IG1fdm1MaXN0LmhlYWQoKTsgdm07IHZtID0gdm0tPm5leHQoKSkgewogICAg
ICAgICAgICAgRnVuY3RvclN0YXR1cyBzdGF0dXMgPSBmdW5jdG9yKCp2bSk7CkBAIC02Niw4ICs2
Niw4IEBAIHB1YmxpYzoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGZvckVh
Y2hWTShGdW5jdGlvbjxGdW5jdG9yU3RhdHVzKFZNJik+JiYpOwogCi0gICAgRXhwZWN0ZWQ8Ym9v
bCwgRXJyb3I+IGlzVmFsaWRFeGVjdXRhYmxlTWVtb3J5KHZvaWQqKSBXVEZfUkVRVUlSRVNfTE9D
SyhtX2xvY2spOwotICAgIEV4cGVjdGVkPENvZGVCbG9jayosIEVycm9yPiBjb2RlQmxvY2tGb3JN
YWNoaW5lUEModm9pZCopIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgRXhwZWN0ZWQ8
Ym9vbCwgRXJyb3I+IGlzVmFsaWRFeGVjdXRhYmxlTWVtb3J5KHZvaWQqKSBXVEZfUkVRVUlSRVNf
Q0FQQUJJTElUWShtX2xvY2spOworICAgIEV4cGVjdGVkPENvZGVCbG9jayosIEVycm9yPiBjb2Rl
QmxvY2tGb3JNYWNoaW5lUEModm9pZCopIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBjdXJyZW50VGhyZWFkT3duc0pT
TG9jayhWTSopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGdjKFZNKik7CkBA
IC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBMb2NrIG1fbG9jazsKLSAg
ICBEb3VibHlMaW5rZWRMaXN0PFZNPiBtX3ZtTGlzdCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
ayk7CisgICAgRG91Ymx5TGlua2VkTGlzdDxWTT4gbV92bUxpc3QgV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWShtX2xvY2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUJCUVBsYW4uaAppbmRleCBmZDMzNzEwNDUxMjBhNjgyYmJkNDdlMGJi
ZGEzMDMxZDQzNzE2YmJjLi43YTdkMTY5MjQ0N2E5ZGJmMWIyMGE0MTI2Y2NjZmFjMDI2NmI0YWY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmgKQEAgLTc4LDcgKzc4
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIHByZXBhcmVJbXBsKCkgZmluYWw7CiAg
ICAgdm9pZCBjb21waWxlRnVuY3Rpb24odWludDMyX3QgZnVuY3Rpb25JbmRleCkgZmluYWw7Ci0g
ICAgdm9pZCBkaWRDb21wbGV0ZUNvbXBpbGF0aW9uKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2Nr
KSBmaW5hbDsKKyAgICB2b2lkIGRpZENvbXBsZXRlQ29tcGlsYXRpb24oKSBXVEZfUkVRVUlSRVNf
Q0FQQUJJTElUWShtX2xvY2spIGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEludGVybmFs
RnVuY3Rpb24+IGNvbXBpbGVGdW5jdGlvbih1aW50MzJfdCBmdW5jdGlvbkluZGV4LCBDb21waWxh
dGlvbkNvbnRleHQmLCBWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2FsbD4mLCBUaWVyVXBDb3Vu
dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVl
UmVnaXN0cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWVSZWdpc3Ry
eS5oCmluZGV4IDUwMWE0NTk0YjI5MGU5ODUzMTUwZDY5MzdhNjAwNzJmZmJhNDIxMWYuLmJmZTQ4
NTY2MzAzMjcwYjU5ZGJhNjUyZTQ3ZWFmMzE2ZWY4MDEyYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWVSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWVSZWdpc3RyeS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgc3RhdGljIENhbGxlZVJl
Z2lzdHJ5JiBzaW5nbGV0b24oKTsKIAotICAgIExvY2smIGdldExvY2soKSBXVEZfUkVUVVJOU19M
T0NLKG1fbG9jaykgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgTG9jayYgZ2V0TG9jaygpIFdURl9S
RVRVUk5TX0NBUEFCSUxJVFkobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KIAogICAgIHZvaWQg
cmVnaXN0ZXJDYWxsZWUoQ2FsbGVlKiBjYWxsZWUpCiAgICAgewpAQCAtNTgsMTIgKzU4LDEyIEBA
IHB1YmxpYzoKICAgICAgICAgbV9wY1RvQ29kZU9yaWdpbk1hcHMucmVtb3ZlKGNhbGxlZSk7CiAg
ICAgfQogCi0gICAgY29uc3QgSGFzaFNldDxDYWxsZWUqPiYgYWxsQ2FsbGVlcygpIFdURl9SRVFV
SVJFU19MT0NLKG1fbG9jaykKKyAgICBjb25zdCBIYXNoU2V0PENhbGxlZSo+JiBhbGxDYWxsZWVz
KCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKQogICAgIHsKICAgICAgICAgcmV0dXJu
IG1fY2FsbGVlU2V0OwogICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZENhbGxlZShDYWxsZWUqIGNh
bGxlZSkgIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykKKyAgICBib29sIGlzVmFsaWRDYWxsZWUo
Q2FsbGVlKiBjYWxsZWUpICBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spCiAgICAgewog
ICAgICAgICBpZiAoIUhhc2hTZXQ8Q2FsbGVlKj46OmlzVmFsaWRWYWx1ZShjYWxsZWUpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICB9CiAKLSAgICBCb3g8
UENUb0NvZGVPcmlnaW5NYXA+IGNvZGVPcmlnaW5NYXAoQ2FsbGVlKiBjYWxsZWUpICBXVEZfUkVR
VUlSRVNfTE9DSyhtX2xvY2spCisgICAgQm94PFBDVG9Db2RlT3JpZ2luTWFwPiBjb2RlT3JpZ2lu
TWFwKENhbGxlZSogY2FsbGVlKSAgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGlzVmFsaWRDYWxsZWUoY2FsbGVlKSk7CiAgICAgICAgIGF1dG8g
aXRlciA9IG1fcGNUb0NvZGVPcmlnaW5NYXBzLmZpbmQoY2FsbGVlKTsKQEAgLTkxLDggKzkxLDgg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIExvY2sgbV9sb2NrOwotICAgIEhhc2hTZXQ8Q2Fs
bGVlKj4gbV9jYWxsZWVTZXQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwotICAgIEhhc2hN
YXA8Q2FsbGVlKiwgQm94PFBDVG9Db2RlT3JpZ2luTWFwPj4gbV9wY1RvQ29kZU9yaWdpbk1hcHMg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOworICAgIEhhc2hTZXQ8Q2FsbGVlKj4gbV9jYWxs
ZWVTZXQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIEhhc2hNYXA8Q2Fs
bGVlKiwgQm94PFBDVG9Db2RlT3JpZ2luTWFwPj4gbV9wY1RvQ29kZU9yaWdpbk1hcHMgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6
Oldhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21FbnRyeVBs
YW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21FbnRyeVBsYW4uaAppbmRleCBh
NjhhYzk1Nzg2NGJmMTJmYjFhNThmNjE1NTY1OWVjMzg4ZWJmNGRkLi43Njk0ZjNkOWFmMDFhMTdl
YWEwYmYxZTlmOWQ5OGRkNzMzYmM0ZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtRW50cnlQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbUVudHJ5UGxhbi5oCkBAIC05NiwxMSArOTYsMTEgQEAgcHJvdGVjdGVkOgogICAgIGNvbnN0
IGNoYXIqIHN0YXRlU3RyaW5nKFN0YXRlKTsKICAgICB2b2lkIG1vdmVUb1N0YXRlKFN0YXRlKTsK
ICAgICBib29sIGlzQ29tcGxldGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09
IFN0YXRlOjpDb21wbGV0ZWQ7IH0KLSAgICB2b2lkIGNvbXBsZXRlKCkgV1RGX1JFUVVJUkVTX0xP
Q0sobV9sb2NrKSBvdmVycmlkZTsKKyAgICB2b2lkIGNvbXBsZXRlKCkgV1RGX1JFUVVJUkVTX0NB
UEFCSUxJVFkobV9sb2NrKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgYm9vbCBwcmVwYXJlSW1w
bCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGlsZUZ1bmN0aW9uKHVpbnQzMl90IGZ1bmN0
aW9uSW5kZXgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVDb21waWxhdGlvbigp
IFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21w
bGV0ZUNvbXBpbGF0aW9uKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKSA9IDA7CiAK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIGJvb2wgdHJ5UmVzZXJ2ZUNhcGFjaXR5KFZl
Y3RvcjxUPiYgdmVjdG9yLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciogd2hhdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludFBsYW4uaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludFBsYW4uaAppbmRleCAwZDU5YmIyNzRjZDE4MzQx
NWQ2NDQyYzU3MDBjYmE5ZDE0NDRjZDVjLi45MDY2ODQ5NTZmZmE3ZTA3ZDkzNTUwNjk3ZTUwZGFl
YmZlNGM2OGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJ
bnRQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50UGxhbi5o
CkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBib29sIHByZXBhcmVJ
bXBsKCkgZmluYWw7Ci0gICAgdm9pZCBkaWRDb21wbGV0ZUNvbXBpbGF0aW9uKCkgV1RGX1JFUVVJ
UkVTX0xPQ0sobV9sb2NrKSBmaW5hbDsKKyAgICB2b2lkIGRpZENvbXBsZXRlQ29tcGlsYXRpb24o
KSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spIGZpbmFsOwogCiAgICAgVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbkNvZGVCbG9ja0dlbmVyYXRvcj4+IG1fd2FzbUludGVybmFs
RnVuY3Rpb25zOwogICAgIGNvbnN0IFJlZjxMTEludENhbGxlZT4qIG1fY2FsbGVlcyB7IG51bGxw
dHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PTUdQbGFu
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT01HUGxhbi5oCmluZGV4IGNjZGNi
NDA3MzYwZGM1NTBiMDE3NzIyM2Q3YWQyZmVjZjBhMTdhNGUuLjA5NTk5MGQyYzFlMGFmZDk1Yzg2
YTU4MGQ4ODg3NWFkYzc5YmU4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21PTUdQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9N
R1BsYW4uaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogICAgIHVzaW5nIEJhc2U6Om1fbG9j
azsKIAogICAgIGJvb2wgaXNDb21wbGV0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY29tcGxl
dGVkOyB9Ci0gICAgdm9pZCBjb21wbGV0ZSgpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykgZmlu
YWwKKyAgICB2b2lkIGNvbXBsZXRlKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKSBm
aW5hbAogICAgIHsKICAgICAgICAgbV9jb21wbGV0ZWQgPSB0cnVlOwogICAgICAgICBydW5Db21w
bGV0aW9uVGFza3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21PU1JFbnRyeVBsYW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PU1JFbnRy
eVBsYW4uaAppbmRleCA1MzQ5MjcxNDUwMmY1NzUwYTFlNTdjM2U4NTdmMDQyODg2ZjA5MjBkLi5l
NTg4OTIyMTMxN2E2MjU1YTUyOTY0MzFhOGFjMjJiMjQ5NTcxZDI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT1NSRW50cnlQbGFuLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbU9TUkVudHJ5UGxhbi5oCkBAIC01NSw3ICs1NSw3IEBAIHBy
aXZhdGU6CiAgICAgdXNpbmcgQmFzZTo6bV9sb2NrOwogCiAgICAgYm9vbCBpc0NvbXBsZXRlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9jb21wbGV0ZWQ7IH0KLSAgICB2b2lkIGNvbXBsZXRlKCkg
V1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKSBmaW5hbAorICAgIHZvaWQgY29tcGxldGUoKSBXVEZf
UkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spIGZpbmFsCiAgICAgewogICAgICAgICBtX2NvbXBs
ZXRlZCA9IHRydWU7CiAgICAgICAgIHJ1bkNvbXBsZXRpb25UYXNrcygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21QbGFuLmgKaW5kZXggMThkYTEwYTM2ZmExYzE4MDY1NTdlMDg0OWM5MmFi
YmZjMDUwY2I0ZS4uMjBmZDRiMGJkNmY5MThjYzEwOWQ4MTcyZWJmODYzNjVmNTdjZTZiZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5oCkBAIC03OCwxMSArNzgsMTEgQEAgcHVi
bGljOgogICAgIGJvb2wgdHJ5UmVtb3ZlQ29udGV4dEFuZENhbmNlbElmTGFzdChDb250ZXh0Jik7
CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHJ1bkNvbXBsZXRpb25UYXNrcygpIFdURl9SRVFVSVJF
U19MT0NLKG1fbG9jayk7Ci0gICAgdm9pZCBmYWlsKFN0cmluZyYmIGVycm9yTWVzc2FnZSkgV1RG
X1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2b2lkIHJ1bkNvbXBsZXRpb25UYXNrcygpIFdU
Rl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgdm9pZCBmYWlsKFN0cmluZyYmIGVy
cm9yTWVzc2FnZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBpc0NvbXBsZXRlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0
ZSgpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb21w
bGV0ZSgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jaykgPSAwOwogCiAjaWYgRU5BQkxF
KFdFQkFTU0VNQkxZX0IzSklUKQogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUNhbGxTaXRlc1RvQ2Fs
bFVzKGNvbnN0IEFic3RyYWN0TG9ja2VyJiBjYWxsZWVHcm91cExvY2tlciwgQ2FsbGVlR3JvdXAm
LCBDb2RlTG9jYXRpb25MYWJlbDxXYXNtRW50cnlQdHJUYWc+IGVudHJ5cG9pbnQsIHVpbnQzMl90
IGZ1bmN0aW9uSW5kZXgsIHVpbnQzMl90IGZ1bmN0aW9uSW5kZXhTcGFjZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU3RyZWFtaW5nQ29tcGlsZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5oCmluZGV4IGJl
YmQ3MjIyZjA3NGZkMzQ2MTVhMmE2MWY3YzdlM2QxMTc1NmY5NmUuLmRlYjk2YTkxMDk2Yjg2YzJm
ZWU3ZWY2ZjMyYzk5NTM4MGYwMzVlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5oCkBAIC02MywxMyArNjMsMTMgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgZGlkUmVjZWl2ZUZ1bmN0aW9uRGF0YSh1bnNpZ25lZCwgY29uc3QgRnVu
Y3Rpb25EYXRhJikgZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKCkgZmluYWw7Ci0g
ICAgdm9pZCBkaWRDb21wbGV0ZSgpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7Ci0gICAgdm9p
ZCBjb21wbGV0ZUlmTmVjZXNzYXJ5KCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2
b2lkIGRpZENvbXBsZXRlKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKKyAgICB2
b2lkIGNvbXBsZXRlSWZOZWNlc3NhcnkoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2sp
OwogCiAgICAgVk0mIG1fdm07CiAgICAgQ29tcGlsZXJNb2RlIG1fY29tcGlsZXJNb2RlOwotICAg
IGJvb2wgbV9lYWdlckZhaWxlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9maW5hbGl6ZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgZmFs
c2UgfTsKKyAgICBib29sIG1fZWFnZXJGYWlsZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X2xvY2spIHsgZmFsc2UgfTsKKyAgICBib29sIG1fZmluYWxpemVkIFdURl9HVUFSREVEX0JZX0NB
UEFCSUxJVFkobV9sb2NrKSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3RocmVhZGVkQ29tcGlsYXRp
b25TdGFydGVkIHsgZmFsc2UgfTsKICAgICBMb2NrIG1fbG9jazsKICAgICB1bnNpZ25lZCBtX3Jl
bWFpbmluZ0NvbXBpbGF0aW9uUmVxdWVzdHMgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtU3RyZWFtaW5nUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbVN0cmVhbWluZ1BsYW4uaAppbmRleCA3YTFmNWMwZmZiNjQwZjk5MTE2YWI4
NThjNmY2ZTQ1NTI4ZjUxODEyLi5mOTAyNzRjNGZiNWY1MmZlMmY5MTIwMzRhN2JhNzZhYzA1YTI0
ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU3RyZWFtaW5n
UGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TdHJlYW1pbmdQbGFu
LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICB1c2luZyBCYXNlOjptX2xvY2s7CiAK
ICAgICBib29sIGlzQ29tcGxldGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NvbXBsZXRlZDsg
fQotICAgIHZvaWQgY29tcGxldGUoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spIGZpbmFsCisg
ICAgdm9pZCBjb21wbGV0ZSgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jaykgZmluYWwK
ICAgICB7CiAgICAgICAgIG1fY29tcGxldGVkID0gdHJ1ZTsKICAgICAgICAgcnVuQ29tcGxldGlv
blRhc2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCmluZGV4IDlmM2ZiYTRjNDEwMDczZWEzZTFjM2Zl
NjczMjcxMGZlZDcwOWFiNmUuLjgzNjExZTQ0NDA3ZjVlYjMzMTU3ZDYxZTBlM2VmZjIxMTM1YWUy
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCkBAIC0zODYsNyArMzg2LDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIExvY2sgYWNjdW11bGF0b3JMb2NrOwotICAgIFN0cmluZ0J1aWxkZXIgbG9n
Z2luZ0FjY3VtdWxhdG9yIFdURl9HVUFSREVEX0JZX0xPQ0soYWNjdW11bGF0b3JMb2NrKTsKKyAg
ICBTdHJpbmdCdWlsZGVyIGxvZ2dpbmdBY2N1bXVsYXRvciBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKGFjY3VtdWxhdG9yTG9jayk7CiB9OwogCiB2b2lkIFdURkxvZ2dpbmdBY2N1bXVsYXRvcjo6
YWNjdW11bGF0ZShjb25zdCBTdHJpbmcmIGxvZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0F1dG9tYXRpY1RocmVhZC5oIGIvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFkLmgKaW5k
ZXggMmU4ZmU2MGI3ZmY0NjE3YWI3YmY2OGYwZWZkNWYyNThhYjYwOGNjNS4uZWMwNDZjOTViNjEx
NmUwYWRiMWFhNmY4NDIxOWZlMWExZTQ1NDE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
QXV0b21hdGljVGhyZWFkLmgKKysrIGIvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFkLmgK
QEAgLTgxLDggKzgxLDggQEAgcHVibGljOgogICAgIC8vIE9uZSBrbm93bi1nb29kIGNhc2UgZm9y
IG9uZS10cnVlLWNvbmRpdGlvbiBpcyB3aGVuIHRoZSBjb21tdW5pY2F0aW9uIGludm9sdmVzIGp1
c3QgdHdvCiAgICAgLy8gdGhyZWFkcy4gSW4gc3VjaCBjYXNlcywgdGhlIHRocmVhZCBkb2luZyB0
aGUgbm90aWZ5QWxsKCkgY2FuIHdha2UgdXAgYXQgbW9zdCBvbmUgdGhyZWFkIC0KICAgICAvLyBp
dHMgcGFydG5lci4KLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCB3YWl0KExvY2smIGxvY2sp
IFdURl9SRVFVSVJFU19MT0NLKGxvY2spOwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIHdh
aXRGb3IoTG9jayYgbG9jaywgU2Vjb25kcykgV1RGX1JFUVVJUkVTX0xPQ0sobG9jayk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgd2FpdChMb2NrJiBsb2NrKSBXVEZfUkVRVUlSRVNfQ0FQ
QUJJTElUWShsb2NrKTsgLy8gTk9MSU5UCisgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgd2Fp
dEZvcihMb2NrJiBsb2NrLCBTZWNvbmRzKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShsb2NrKTsg
Ly8gTk9MSU5UCiAgICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBBdXRvbWF0aWNUaHJl
YWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaCBiL1NvdXJjZS9XVEYv
d3RmL0NvbmRpdGlvbi5oCmluZGV4IGIwMzVmNWUzMWUzMDUyMmJmN2VjMjVjNDhmZmJhZGNiNDFh
NjhkNTIuLjI3MWI3MDE1MjJhODUwZTBjYzk5OTlmNjRjZGJkMGZmZTJmOTcxMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0NvbmRpdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbmRp
dGlvbi5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHdhaXRVbnRp
bFVuY2hlY2tlZChsb2NrLCB0aW1lb3V0KTsKICAgICB9CiAKLSAgICBib29sIHdhaXRVbnRpbChM
b2NrJiBsb2NrLCBjb25zdCBUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUmIHRpbWVvdXQpIFdURl9S
RVFVSVJFU19MT0NLKGxvY2spCisgICAgYm9vbCB3YWl0VW50aWwoTG9jayYgbG9jaywgY29uc3Qg
VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlJiB0aW1lb3V0KSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElU
WShsb2NrKQogICAgIHsKICAgICAgICAgcmV0dXJuIHdhaXRVbnRpbFVuY2hlY2tlZChsb2NrLCB0
aW1lb3V0KTsKICAgICB9CkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgotICAgIGJvb2wgd2FpdFVudGlsKExvY2smIGxvY2ss
IGNvbnN0IFRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSYgdGltZW91dCwgY29uc3QgRnVuY3RvciYg
cHJlZGljYXRlKSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKQorICAgIGJvb2wgd2FpdFVudGlsKExv
Y2smIGxvY2ssIGNvbnN0IFRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSYgdGltZW91dCwgY29uc3Qg
RnVuY3RvciYgcHJlZGljYXRlKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShsb2NrKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHdhaXRVbnRpbFVuY2hlY2tlZChsb2NrLCB0aW1lb3V0LCBwcmVkaWNh
dGUpOwogICAgIH0KQEAgLTEwMCw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KLSAgICBib29sIHdhaXRGb3IoTG9jayYgbG9jaywgU2Vj
b25kcyByZWxhdGl2ZVRpbWVvdXQsIGNvbnN0IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJ
UkVTX0xPQ0sobG9jaykKKyAgICBib29sIHdhaXRGb3IoTG9jayYgbG9jaywgU2Vjb25kcyByZWxh
dGl2ZVRpbWVvdXQsIGNvbnN0IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJUkVTX0NBUEFC
SUxJVFkobG9jaykKICAgICB7CiAgICAgICAgIHJldHVybiB3YWl0VW50aWwobG9jaywgTW9ub3Rv
bmljVGltZTo6bm93KCkgKyByZWxhdGl2ZVRpbWVvdXQsIHByZWRpY2F0ZSk7CiAgICAgfQpAQCAt
MTExLDcgKzExMSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHdhaXRVbnRpbChsb2NrLCBN
b25vdG9uaWNUaW1lOjpub3coKSArIHJlbGF0aXZlVGltZW91dCk7CiAgICAgfQogCi0gICAgYm9v
bCB3YWl0Rm9yKExvY2smIGxvY2ssIFNlY29uZHMgcmVsYXRpdmVUaW1lb3V0KSBXVEZfUkVRVUlS
RVNfTE9DSyhsb2NrKQorICAgIGJvb2wgd2FpdEZvcihMb2NrJiBsb2NrLCBTZWNvbmRzIHJlbGF0
aXZlVGltZW91dCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobG9jaykKICAgICB7CiAgICAgICAg
IHJldHVybiB3YWl0VW50aWwobG9jaywgTW9ub3RvbmljVGltZTo6bm93KCkgKyByZWxhdGl2ZVRp
bWVvdXQpOwogICAgIH0KQEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHdhaXRV
bnRpbChsb2NrLCBUaW1lOjppbmZpbml0eSgpKTsKICAgICB9CiAKLSAgICB2b2lkIHdhaXQoTG9j
ayYgbG9jaykgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaykKKyAgICB2b2lkIHdhaXQoTG9jayYgbG9j
aykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobG9jaykKICAgICB7CiAgICAgICAgIHdhaXRVbnRp
bChsb2NrLCBUaW1lOjppbmZpbml0eSgpKTsKICAgICB9CkBAIC0xMzUsNyArMTM1LDcgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+Ci0gICAgdm9pZCB3
YWl0KExvY2smIGxvY2ssIGNvbnN0IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJUkVTX0xP
Q0sobG9jaykKKyAgICB2b2lkIHdhaXQoTG9jayYgbG9jaywgY29uc3QgRnVuY3RvciYgcHJlZGlj
YXRlKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShsb2NrKQogICAgIHsKICAgICAgICAgd2hpbGUg
KCFwcmVkaWNhdGUoKSkKICAgICAgICAgICAgIHdhaXQobG9jayk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFF1ZXVlLmggYi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVh
ZFF1ZXVlLmgKaW5kZXggMDRmZmIxZDNhNTYyYTk4ZTdkNDgxOWQyNTM4YWNhN2JlOWVlMzZiMy4u
YTNmOTUxZDI4NzM3ZTJkYzkwZjdkMDAxMTdjN2MwZmQ1OGNkM2RmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Nyb3Nz
VGhyZWFkUXVldWUuaApAQCAtNTIsOSArNTIsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
bXV0YWJsZSBMb2NrIG1fbG9jazsKLSAgICBEZXF1ZTxEYXRhVHlwZT4gbV9xdWV1ZSBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAgRGVxdWU8RGF0YVR5cGU+IG1fcXVldWUgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogICAgIENvbmRpdGlvbiBtX2NvbmRpdGlvbjsK
LSAgICBib29sIG1fa2lsbGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07
CisgICAgYm9vbCBtX2tpbGxlZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykgeyBm
YWxzZSB9OwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9D
cm9zc1RocmVhZFRhc2tIYW5kbGVyLmgKaW5kZXggOGFmM2MyZmZiMjdhYTVhNGVhNmU0ZTNlMGJj
NzlhMDIzYjY0ODNlOS4uZmRkZjk2MjY1ZjVkMGY0MTAyZmIxZmJmYTBiOTM2YmM3OTg5YzE5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRUYXNrSGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhyZWFkVGFza0hhbmRsZXIuaApAQCAtNTcsNyArNTcsNyBA
QCBwcml2YXRlOgogCiAgICAgTG9jayBtX3Rhc2tUaHJlYWRDcmVhdGlvbkxvY2s7CiAgICAgTG9j
ayBtX21haW5UaHJlYWRSZXBseUxvY2s7Ci0gICAgYm9vbCBtX21haW5UaHJlYWRSZXBseVNjaGVk
dWxlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbWFpblRocmVhZFJlcGx5TG9jaykgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9tYWluVGhyZWFkUmVwbHlTY2hlZHVsZWQgV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWShtX21haW5UaHJlYWRSZXBseUxvY2spIHsgZmFsc2UgfTsKIAogICAgIENyb3NzVGhy
ZWFkUXVldWU8Q3Jvc3NUaHJlYWRUYXNrPiBtX3Rhc2tRdWV1ZTsKICAgICBDcm9zc1RocmVhZFF1
ZXVlPENyb3NzVGhyZWFkVGFzaz4gbV90YXNrUmVwbHlRdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcAppbmRleCBkZjgyNTg0MjVkOTNl
MDA1OGM4NGZlN2NlYzJlZTA2YjI0YzY3YjE0Li44OTRkMWY1MGUzMWVjZTczN2ZiYTRiN2IzOWE4
YzQxZWQ4MzQ1NzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxs
eVJhbmRvbU51bWJlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIuY3BwCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBpbmxpbmUgdm9pZCBhZGRSYW5kb21EYXRhKHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5n
dGgpOwotICAgIHZvaWQgc3RpcigpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7Ci0gICAgdm9p
ZCBzdGlySWZOZWVkZWQoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOworICAgIHZvaWQgc3Rp
cigpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgdm9pZCBzdGlySWZOZWVk
ZWQoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spOwogICAgIGlubGluZSB1aW50OF90
IGdldEJ5dGUoKTsKICAgICBpbmxpbmUgdWludDMyX3QgZ2V0V29yZCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTXV0ZXguaCBiL1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5o
CmluZGV4IDdjZjM4MzExNGY2OWFmNDVmYjRlNTM0YWI0MjdhM2MzNzBlY2FhYjUuLmU4ZWExNTc3
NTQ0MTA3YmJmYzBkZmFmZWVlMzAzZTZmYzMxYzlhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0RhdGFNdXRleC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5oCkBAIC01Niw3
ICs1Niw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIERhdGFNdXRleExvY2tlcjxUPjsK
IAogICAgIExvY2sgbV9tdXRleDsKLSAgICBUIG1fZGF0YSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
bXV0ZXgpOworICAgIFQgbV9kYXRhIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9tdXRleCk7
CiAjaWYgRU5BQkxFX0RBVEFfTVVURVhfQ0hFQ0tTCiAgICAgVGhyZWFkKiBtX2N1cnJlbnRNdXRl
eEhvbGRlciB7IG51bGxwdHIgfTsKICNlbmRpZgpAQCAtNjUsMTMgKzY1LDEzIEBAIHByaXZhdGU6
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGNsYXNzIFdURl9DQVBBQklMSVRZX1NDT1BFRF9MT0NL
IERhdGFNdXRleExvY2tlciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgRGF0YU11dGV4TG9ja2Vy
KERhdGFNdXRleDxUPiYgZGF0YU11dGV4KSBXVEZfQUNRVUlSRVNfTE9DSyhtX2RhdGFNdXRleC5t
X211dGV4KQorICAgIGV4cGxpY2l0IERhdGFNdXRleExvY2tlcihEYXRhTXV0ZXg8VD4mIGRhdGFN
dXRleCkgV1RGX0FDUVVJUkVTX0NBUEFCSUxJVFkobV9kYXRhTXV0ZXgubV9tdXRleCkKICAgICAg
ICAgOiBtX2RhdGFNdXRleChkYXRhTXV0ZXgpCiAgICAgewogICAgICAgICBsb2NrKCk7CiAgICAg
fQogCi0gICAgfkRhdGFNdXRleExvY2tlcigpIFdURl9SRUxFQVNFU19MT0NLKCkKKyAgICB+RGF0
YU11dGV4TG9ja2VyKCkgV1RGX1JFTEVBU0VTX0NBUEFCSUxJVFkoKQogICAgIHsKICAgICAgICAg
aWYgKG1faXNMb2NrZWQpIHsKICAgICAgICAgICAgIHVubG9jaygpOwpAQCAtOTIsMTUgKzkyLDE1
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fZGF0YU11dGV4Lm1fZGF0YTsKICAgICB9CiAK
LSAgICBMb2NrJiBtdXRleCgpIFdURl9SRVRVUk5TX0xPQ0sobV9kYXRhTXV0ZXgubV9tdXRleCkK
KyAgICBMb2NrJiBtdXRleCgpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9kYXRhTXV0ZXgubV9t
dXRleCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX2RhdGFNdXRleC5tX211dGV4OwogICAgIH0K
IAogICAgIC8vIE5vdGU6IERhdGFNdXRleExvY2tlciBzaG91bGRuJ3QgYmUgdXNlZCBhZnRlciB0
aGlzLiBEdWUgdG8gbGltaXRhdGlvbnMgb2YgY2xhbmcgdGhyZWFkIHNhZmV0eSBhbmFseXNpcyB0
aGlzIGNhbid0Ci0gICAgLy8gY3VycmVudGx5IGJlIHN0YXRpY2x5IGNoZWNrZWQgKGFkZGluZyBX
VEZfUkVRVUlSRVNfTE9DSygpIHRvIG9wZXJhdG9yLT4oKSBkb2Vzbid0IHdvcmsuKQorICAgIC8v
IGN1cnJlbnRseSBiZSBzdGF0aWNseSBjaGVja2VkIChhZGRpbmcgV1RGX1JFUVVJUkVTX0NBUEFC
SUxJVFkoKSB0byBvcGVyYXRvci0+KCkgZG9lc24ndCB3b3JrLikKICAgICAvLyBSdW4tdGltZSBj
aGVja3MgYXJlIHN0aWxsIHBlcmZvcm1lZCBpZiBlbmFibGVkLgotICAgIHZvaWQgdW5sb2NrRWFy
bHkoKSBXVEZfUkVMRUFTRVNfTE9DSyhtX2RhdGFNdXRleC5tX211dGV4KQorICAgIHZvaWQgdW5s
b2NrRWFybHkoKSBXVEZfUkVMRUFTRVNfQ0FQQUJJTElUWShtX2RhdGFNdXRleC5tX211dGV4KQog
ICAgIHsKICAgICAgICAgYXNzZXJ0SXNIZWxkKG1fZGF0YU11dGV4Lm1fbXV0ZXgpOwogICAgICAg
ICB1bmxvY2soKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIERhdGFNdXRleDxU
PiYgbV9kYXRhTXV0ZXg7CiAgICAgYm9vbCBtX2lzTG9ja2VkIHsgZmFsc2UgfTsKIAotICAgIHZv
aWQgbG9jaygpIFdURl9BQ1FVSVJFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCisgICAgdm9p
ZCBsb2NrKCkgV1RGX0FDUVVJUkVTX0NBUEFCSUxJVFkobV9kYXRhTXV0ZXgubV9tdXRleCkKICAg
ICB7CiAgICAgICAgIERBVEFfTVVURVhfQ0hFQ0sobV9kYXRhTXV0ZXgubV9jdXJyZW50TXV0ZXhI
b2xkZXIgIT0gJlRocmVhZDo6Y3VycmVudCgpKTsgLy8gVGhyZWFkIGF0dGVtcHRlZCByZWN1cnNp
dmUgbG9jayBvbiBub24tcmVjdXJzaXZlIGxvY2suCiAgICAgICAgIG11dGV4KCkubG9jaygpOwpA
QCAtMTMwLDcgKzEzMCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICB9CiAKLSAgICB2b2lkIHVu
bG9jaygpIFdURl9SRUxFQVNFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCisgICAgdm9pZCB1
bmxvY2soKSBXVEZfUkVMRUFTRVNfQ0FQQUJJTElUWShtX2RhdGFNdXRleC5tX211dGV4KQogICAg
IHsKICAgICAgICAgREFUQV9NVVRFWF9DSEVDSyhtdXRleCgpLmlzSGVsZCgpKTsKICAgICAgICAg
YXNzZXJ0SXNIZWxkKG1fZGF0YU11dGV4Lm1fbXV0ZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAppbmRl
eCBmNTYwZjU2YjAyYThjOTYxZTBjZmY5ODhmNDA4OTI0MzE3NjllN2ZkLi4xNzExNjEzNGJjZWE5
ZTg0MWRkMTBhZTAwY2MwZDY4OTk1MzQ4YzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9G
YXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApAQCAtMzc3
LDcgKzM3Nyw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIExvY2sgbV9sb2NrOwotICAgIEhh
c2hNYXA8dm9pZCosIHN0ZDo6dW5pcXVlX3B0cjxNYWxsb2NTaXRlRGF0YT4+IG1fYWRkcmVzc01h
bGxvY1NpdGVEYXRhIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKKyAgICBIYXNoTWFwPHZv
aWQqLCBzdGQ6OnVuaXF1ZV9wdHI8TWFsbG9jU2l0ZURhdGE+PiBtX2FkZHJlc3NNYWxsb2NTaXRl
RGF0YSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CiB9OwogCiBNYWxsb2NDYWxs
VHJhY2tlciYgTWFsbG9jQ2FsbFRyYWNrZXI6OnNpbmdsZXRvbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9MYW5ndWFnZS5jcHAKaW5k
ZXggNWVjYjM2ZDBlNmIxZDM4Nzk3YTBlODI0ZjUxOTI1OTU1OWE2YTcwMC4uODBiNWViMWE0MjZj
YTUyYTNiZTY5ZTFlOGIwNzQ3ODliMmJjYzk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
TGFuZ3VhZ2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcApAQCAtNDEsMTkg
KzQxLDE5IEBACiBuYW1lc3BhY2UgV1RGIHsKIAogc3RhdGljIExvY2sgY2FjaGVkUGxhdGZvcm1Q
cmVmZXJyZWRMYW5ndWFnZXNMb2NrOwotc3RhdGljIFZlY3RvcjxTdHJpbmc+JiBjYWNoZWRGdWxs
UGxhdGZvcm1QcmVmZXJyZWRMYW5ndWFnZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhjYWNoZWRQbGF0
Zm9ybVByZWZlcnJlZExhbmd1YWdlc0xvY2spCitzdGF0aWMgVmVjdG9yPFN0cmluZz4mIGNhY2hl
ZEZ1bGxQbGF0Zm9ybVByZWZlcnJlZExhbmd1YWdlcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZ
KGNhY2hlZFBsYXRmb3JtUHJlZmVycmVkTGFuZ3VhZ2VzTG9jaykKIHsKICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8VmVjdG9yPFN0cmluZz4+IGxhbmd1YWdlczsKICAgICByZXR1cm4gbGFuZ3Vh
Z2VzOwogfQotc3RhdGljIFZlY3RvcjxTdHJpbmc+JiBjYWNoZWRNaW5pbWl6ZWRQbGF0Zm9ybVBy
ZWZlcnJlZExhbmd1YWdlcygpIFdURl9SRVFVSVJFU19MT0NLKGNhY2hlZFBsYXRmb3JtUHJlZmVy
cmVkTGFuZ3VhZ2VzTG9jaykKK3N0YXRpYyBWZWN0b3I8U3RyaW5nPiYgY2FjaGVkTWluaW1pemVk
UGxhdGZvcm1QcmVmZXJyZWRMYW5ndWFnZXMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShjYWNo
ZWRQbGF0Zm9ybVByZWZlcnJlZExhbmd1YWdlc0xvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFZlY3RvcjxTdHJpbmc+PiBsYW5ndWFnZXM7CiAgICAgcmV0dXJuIGxhbmd1YWdlczsK
IH0KIAogc3RhdGljIExvY2sgcHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGVMb2NrOwotc3RhdGlj
IFZlY3RvcjxTdHJpbmc+JiBwcmVmZXJyZWRMYW5ndWFnZXNPdmVycmlkZSgpIFdURl9SRVFVSVJF
U19MT0NLKHByZWZlcnJlZExhbmd1YWdlc092ZXJyaWRlTG9jaykKK3N0YXRpYyBWZWN0b3I8U3Ry
aW5nPiYgcHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGUoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElU
WShwcmVmZXJyZWRMYW5ndWFnZXNPdmVycmlkZUxvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPFZlY3RvcjxTdHJpbmc+PiBvdmVycmlkZTsKICAgICByZXR1cm4gb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmgK
aW5kZXggNDJlNGFhYzBjOWE0YWFlNTllNzFiNWU5MzU4Y2I4NjAxOGQ3ZTQzYS4uY2M3NzhmZDY1
OTNhODAxZmU2NjI4MWVhODUyMGIzNGQxZjQyYmJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvTG9jay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvY2suaApAQCAtNTQsMzAgKzU0LDMwIEBA
IHR5cGVkZWYgTG9ja0FsZ29yaXRobTx1aW50OF90LCAxLCAyPiBEZWZhdWx0TG9ja0FsZ29yaXRo
bTsKIC8vIFRoaXMgbG9jayB0eXBlIHN1cHBvcnRzIHRocmVhZCBzYWZldHkgYW5hbHlzaXMuCiAv
LyBUbyBhbm5vdGF0ZSBhIG1lbWJlciB2YXJpYWJsZSBvciBhIGdsb2JhbCB2YXJpYWJsZSB3aXRo
IHRocmVhZCBvd25lcnNoaXAgaW5mb3JtYXRpb24sCiAvLyB1c2UgbG9jayBjYXBhYmlsaXR5IGFu
bm90YXRpb25zIGRlZmluZWQgaW4gVGhyZWFkU2FmZXR5QW5hbHlzaXMuaC4KLWNsYXNzIFdURl9D
QVBBQklMSVRZX0xPQ0sgTG9jayB7CitjbGFzcyBXVEZfQ0FQQUJJTElUWSgibG9jayIpIExvY2sg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2spOwogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGNvbnN0ZXhwciBMb2NrKCkgPSBkZWZhdWx0OwogCi0gICAg
dm9pZCBsb2NrKCkgV1RGX0FDUVVJUkVTX0xPQ0soKQorICAgIHZvaWQgbG9jaygpIFdURl9BQ1FV
SVJFU19DQVBBQklMSVRZKCkKICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWSghRGVmYXVsdExv
Y2tBbGdvcml0aG06OmxvY2tGYXN0QXNzdW1pbmdaZXJvKG1fYnl0ZSkpKQogICAgICAgICAgICAg
bG9ja1Nsb3coKTsKICAgICB9CiAKLSAgICBib29sIHRyeUxvY2soKSBXVEZfQUNRVUlSRVNfTE9D
S19JRih0cnVlKSAvLyBOT0xJTlQ6IEludGVudGlvbmFsIGRldmlhdGlvbiB0byBzdXBwb3J0IHN0
ZDo6c2NvcGVkX2xvY2suCisgICAgYm9vbCB0cnlMb2NrKCkgV1RGX0FDUVVJUkVTX0NBUEFCSUxJ
VFlfSUYodHJ1ZSkgLy8gTk9MSU5UOiBJbnRlbnRpb25hbCBkZXZpYXRpb24gdG8gc3VwcG9ydCBz
dGQ6OnNjb3BlZF9sb2NrLgogICAgIHsKICAgICAgICAgcmV0dXJuIERlZmF1bHRMb2NrQWxnb3Jp
dGhtOjp0cnlMb2NrKG1fYnl0ZSk7CiAgICAgfQogCiAgICAgLy8gTmVlZCB0aGlzIHZlcnNpb24g
Zm9yIHN0ZDo6dW5pcXVlX2xvY2suCi0gICAgYm9vbCB0cnlfbG9jaygpIFdURl9BQ1FVSVJFU19M
T0NLX0lGKHRydWUpCisgICAgYm9vbCB0cnlfbG9jaygpIFdURl9BQ1FVSVJFU19DQVBBQklMSVRZ
X0lGKHRydWUpIC8vIE5PTElOVAogICAgIHsKICAgICAgICAgcmV0dXJuIHRyeUxvY2soKTsKICAg
ICB9CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCB0cnlMb2NrV2l0aFRpbWVvdXQoU2Vj
b25kcyB0aW1lb3V0KSBXVEZfQUNRVUlSRVNfTE9DS19JRih0cnVlKTsKKyAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgYm9vbCB0cnlMb2NrV2l0aFRpbWVvdXQoU2Vjb25kcyB0aW1lb3V0KSBXVEZfQUNR
VUlSRVNfQ0FQQUJJTElUWV9JRih0cnVlKTsKIAogICAgIC8vIFJlbGlucXVpc2ggdGhlIGxvY2su
IEVpdGhlciBvbmUgb2YgdGhlIHRocmVhZHMgdGhhdCB3ZXJlIHdhaXRpbmcgZm9yIHRoZSBsb2Nr
LCBvciBzb21lIG90aGVyCiAgICAgLy8gdGhyZWFkIHRoYXQgaGFwcGVucyB0byBiZSBydW5uaW5n
LCB3aWxsIGJlIGFibGUgdG8gZ3JhYiB0aGUgbG9jay4gVGhpcyBiaXQgb2YgdW5mYWlybmVzcyBp
cwpAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgLy8gd2UgY2hlY2sgaWYgdGhlIGxhc3Qg
dGltZSB0aGF0IHdlIGRpZCBhIGZhaXIgdW5sb2NrIHdhcyBtb3JlIHRoYW4gcm91Z2hseSAxbXMg
YWdvOyBpZiBzbywgd2UKICAgICAvLyB1bmxvY2sgZmFpcmx5LiBGYWlybmVzcyBtYXR0ZXJzIG1v
c3QgZm9yIGxvbmcgY3JpdGljYWwgc2VjdGlvbnMsIGFuZCB0aGlzIHZpcnR1YWxseQogICAgIC8v
IGd1YXJhbnRlZXMgdGhhdCBsb25nIGNyaXRpY2FsIHNlY3Rpb25zIGFsd2F5cyBnZXQgYSBmYWly
IGxvY2suCi0gICAgdm9pZCB1bmxvY2soKSBXVEZfUkVMRUFTRVNfTE9DSygpCisgICAgdm9pZCB1
bmxvY2soKSBXVEZfUkVMRUFTRVNfQ0FQQUJJTElUWSgpCiAgICAgewogICAgICAgICBpZiAoVU5M
SUtFTFkoIURlZmF1bHRMb2NrQWxnb3JpdGhtOjp1bmxvY2tGYXN0QXNzdW1pbmdaZXJvKG1fYnl0
ZSkpKQogICAgICAgICAgICAgdW5sb2NrU2xvdygpOwpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6
CiAgICAgLy8gdG8gYmUgZmFpciBhbnl3YXkuIEhvd2V2ZXIsIGlmIHlvdSBwbGFuIHRvIHJlbG9j
ayB0aGUgbG9jayByaWdodCBhZnRlciB1bmxvY2tpbmcgYW5kIHlvdSB3YW50CiAgICAgLy8gdG8g
ZW5zdXJlIHRoYXQgc29tZSBvdGhlciB0aHJlYWQgcnVucyBpbiB0aGUgbWVhbnRpbWUsIHRoaXMg
aXMgcHJvYmFibHkgdGhlIGZ1bmN0aW9uIHlvdQogICAgIC8vIHdhbnQuCi0gICAgdm9pZCB1bmxv
Y2tGYWlybHkoKSBXVEZfUkVMRUFTRVNfTE9DSygpCisgICAgdm9pZCB1bmxvY2tGYWlybHkoKSBX
VEZfUkVMRUFTRVNfQ0FQQUJJTElUWSgpCiAgICAgewogICAgICAgICBpZiAoVU5MSUtFTFkoIURl
ZmF1bHRMb2NrQWxnb3JpdGhtOjp1bmxvY2tGYXN0QXNzdW1pbmdaZXJvKG1fYnl0ZSkpKQogICAg
ICAgICAgICAgdW5sb2NrRmFpcmx5U2xvdygpOwpAQCAtMTQzLDcgKzE0Myw3IEBAIHByaXZhdGU6
CiAvLyBBc3NlcnRzIHRoYXQgdGhlIGxvY2sgaXMgaGVsZC4KIC8vIFRoaXMgY2FuIGJlIHVzZWQg
aW4gY2FzZXMgd2hlcmUgdGhlIGFubm90YXRpb25zIGNhbm5vdCBiZSBhZGRlZCB0byB0aGUgZnVu
Y3Rpb24KIC8vIGRlY2xhcmF0aW9uLgotaW5saW5lIHZvaWQgYXNzZXJ0SXNIZWxkKGNvbnN0IExv
Y2smIGxvY2spIFdURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sobG9jaykgeyBBU1NFUlRfVU5VU0VE
KGxvY2ssIGxvY2suaXNIZWxkKCkpOyB9CitpbmxpbmUgdm9pZCBhc3NlcnRJc0hlbGQoY29uc3Qg
TG9jayYgbG9jaykgV1RGX0FTU0VSVFNfQUNRVUlSRURfQ0FQQUJJTElUWShsb2NrKSB7IEFTU0VS
VF9VTlVTRUQobG9jaywgbG9jay5pc0hlbGQoKSk7IH0KIAogLy8gTG9ja2VyIHNwZWNpYWxpemF0
aW9uIHRvIHVzZSB3aXRoIExvY2suCiAvLyBOb24tbW92YWJsZSBzaW1wbGUgc2NvcGVkIGxvY2sg
aG9sZGVyLgpAQCAtMTUxLDIzICsxNTEsMjMgQEAgaW5saW5lIHZvaWQgYXNzZXJ0SXNIZWxkKGNv
bnN0IExvY2smIGxvY2spIFdURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sobG9jaykgeyBBU1MKIHRl
bXBsYXRlIDw+CiBjbGFzcyBXVEZfQ0FQQUJJTElUWV9TQ09QRURfTE9DSyBMb2NrZXI8TG9jaz4g
OiBwdWJsaWMgQWJzdHJhY3RMb2NrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IExvY2tlcihM
b2NrJiBsb2NrKSBXVEZfQUNRVUlSRVNfTE9DSyhsb2NrKQorICAgIGV4cGxpY2l0IExvY2tlcihM
b2NrJiBsb2NrKSBXVEZfQUNRVUlSRVNfQ0FQQUJJTElUWShsb2NrKQogICAgICAgICA6IG1fbG9j
ayhsb2NrKQogICAgICAgICAsIG1faXNMb2NrZWQodHJ1ZSkKICAgICB7CiAgICAgICAgIG1fbG9j
ay5sb2NrKCk7CiAgICAgfQotICAgIExvY2tlcihBZG9wdExvY2tUYWcsIExvY2smIGxvY2spIFdU
Rl9SRVFVSVJFU19MT0NLKGxvY2spCisgICAgTG9ja2VyKEFkb3B0TG9ja1RhZywgTG9jayYgbG9j
aykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobG9jaykKICAgICAgICAgOiBtX2xvY2sobG9jaykK
ICAgICAgICAgLCBtX2lzTG9ja2VkKHRydWUpCiAgICAgewogICAgIH0KLSAgICB+TG9ja2VyKCkg
V1RGX1JFTEVBU0VTX0xPQ0soKQorICAgIH5Mb2NrZXIoKSBXVEZfUkVMRUFTRVNfQ0FQQUJJTElU
WSgpCiAgICAgewogICAgICAgICBpZiAobV9pc0xvY2tlZCkKICAgICAgICAgICAgIG1fbG9jay51
bmxvY2soKTsKICAgICB9Ci0gICAgdm9pZCB1bmxvY2tFYXJseSgpIFdURl9SRUxFQVNFU19MT0NL
KCkKKyAgICB2b2lkIHVubG9ja0Vhcmx5KCkgV1RGX1JFTEVBU0VTX0NBUEFCSUxJVFkoKQogICAg
IHsKICAgICAgICAgQVNTRVJUKG1faXNMb2NrZWQpOwogICAgICAgICBtX2lzTG9ja2VkID0gZmFs
c2U7CkBAIC0xODEsMTMgKzE4MSwxMyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVuYW1l
PgogICAgIGZyaWVuZCBjbGFzcyBEcm9wTG9ja0ZvclNjb3BlOwogCi0gICAgdm9pZCBsb2NrKCkg
V1RGX0FDUVVJUkVTX0xPQ0sobV9sb2NrKQorICAgIHZvaWQgbG9jaygpIFdURl9BQ1FVSVJFU19D
QVBBQklMSVRZKG1fbG9jaykKICAgICB7CiAgICAgICAgIG1fbG9jay5sb2NrKCk7CiAgICAgICAg
IGNvbXBpbGVyRmVuY2UoKTsKICAgICB9CiAKLSAgICB2b2lkIHVubG9jaygpIFdURl9SRUxFQVNF
U19MT0NLKG1fbG9jaykKKyAgICB2b2lkIHVubG9jaygpIFdURl9SRUxFQVNFU19DQVBBQklMSVRZ
KG1fbG9jaykKICAgICB7CiAgICAgICAgIGNvbXBpbGVyRmVuY2UoKTsKICAgICAgICAgbV9sb2Nr
LnVubG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9nZ2VyLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9Mb2dnZXIuaAppbmRleCBlNzQ0YTc4Nzc3ZWQzNGUzMTkyZGNlYzNlYzVjY2VkYjE5
OWUzNGYxLi4zMzVjZmJmYjBlYTIzZDkxMTQ5ZDYxM2QyYjdkNGM3ZjQwMTJmNDU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXIu
aApAQCAtMzYyLDkgKzM2Miw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBvYnNlcnZlci5kaWRM
b2dNZXNzYWdlKGNoYW5uZWwsIGxldmVsLCB7IENvbnNvbGVMb2dWYWx1ZTxBcmd1bWVudD46OnRv
VmFsdWUoYXJndW1lbnRzKS4uLiB9KTsKICAgICB9CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPE9ic2VydmVyPj4mIG9ic2VydmVy
cygpIFdURl9SRVFVSVJFU19MT0NLKG9ic2VydmVyTG9jaygpKTsKKyAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPE9ic2VydmVyPj4mIG9i
c2VydmVycygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG9ic2VydmVyTG9jaygpKTsKIAotICAg
IHN0YXRpYyBMb2NrJiBvYnNlcnZlckxvY2soKSBXVEZfUkVUVVJOU19MT0NLKGxvZ2dlck9ic2Vy
dmVyTG9jaykKKyAgICBzdGF0aWMgTG9jayYgb2JzZXJ2ZXJMb2NrKCkgV1RGX1JFVFVSTlNfQ0FQ
QUJJTElUWShsb2dnZXJPYnNlcnZlckxvY2spCiAgICAgewogICAgICAgICByZXR1cm4gbG9nZ2Vy
T2JzZXJ2ZXJMb2NrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lc3NhZ2VR
dWV1ZS5oIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXggMmNkMzg5M2I3Y2Nj
MTk2NDA3MDkyNzE1NzIxMzVhNTRiMmQ4ZWFjNy4uMjQ1MjVmOTYzNzMzNTRiZmE5MDQxYjc0YmQx
YzVlYThmM2EwM2QyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgK
KysrIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgKQEAgLTgwLDggKzgwLDggQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsK
ICAgICAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwotICAgICAgICBEZXF1ZTxzdGQ6OnVuaXF1
ZV9wdHI8RGF0YVR5cGU+PiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKLSAg
ICAgICAgYm9vbCBtX2tpbGxlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAgICAg
IERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEYXRhVHlwZT4+IG1fcXVldWUgV1RGX0dVQVJERURfQllf
Q0FQQUJJTElUWShtX2xvY2spOworICAgICAgICBib29sIG1fa2lsbGVkIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9sb2NrKTsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0
YVR5cGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmggYi9T
b3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmgKaW5kZXggZDA4ZDU3YTE5MGQxNTJhNmUw
YmQ3M2Y2NTU1ZmYxYjM1MzM5MGJlMC4uMWJhMTYyMjMwYmZhNWVlYmM1OGViMmE3NjA5YTZjYTY2
MDk2YjkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT1NMb2dQcmludFN0cmVhbS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaApAQCAtNTEsNyArNTEsNyBAQCBw
cml2YXRlOgogICAgIG9zX2xvZ190eXBlX3QgbV9sb2dUeXBlOwogICAgIExvY2sgbV9zdHJpbmdM
b2NrOwogICAgIC8vIFdlIG5lZWQgYSBidWZmZXIgYmVjYXVzZSBvc19sb2cgZG9lc24ndCB3YWl0
IGZvciBhIG5ldyBsaW5lIHRvIHByaW50IHRoZSBjaGFyYWN0ZXJzLgotICAgIENTdHJpbmcgbV9z
dHJpbmcgV1RGX0dVQVJERURfQllfTE9DSyhtX3N0cmluZ0xvY2spOworICAgIENTdHJpbmcgbV9z
dHJpbmcgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3N0cmluZ0xvY2spOwogICAgIHNpemVf
dCBtX29mZnNldCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BhcmFs
bGVsSGVscGVyUG9vbC5oIGIvU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmgKaW5k
ZXggNDdhNGYzMTZmMWU1NTZmZjYxMmU4ZDRjZDZjYzliNTY2YjZhMGIyMy4uOTNjMDVlMGUwODk5
OTBkYzFkNzRkNDA4MTRiYWNiZmY1ZmY1ZjUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UGFyYWxsZWxIZWxwZXJQb29sLmgKKysrIGIvU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQ
b29sLmgKQEAgLTgwLDEwICs4MCwxMCBAQCBwcml2YXRlOgogICAgIGNsYXNzIFRocmVhZDsKICAg
ICBmcmllbmQgY2xhc3MgVGhyZWFkOwogCi0gICAgdm9pZCBkaWRNYWtlV29ya0F2YWlsYWJsZShj
b25zdCBBYnN0cmFjdExvY2tlciYpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgdm9p
ZCBkaWRNYWtlV29ya0F2YWlsYWJsZShjb25zdCBBYnN0cmFjdExvY2tlciYpIFdURl9SRVFVSVJF
U19DQVBBQklMSVRZKG1fbG9jayk7CiAKLSAgICBib29sIGhhc0NsaWVudFdpdGhUYXNrKCkgV1RG
X1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKLSAgICBQYXJhbGxlbEhlbHBlckNsaWVudCogZ2V0Q2xp
ZW50V2l0aFRhc2soKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOworICAgIGJvb2wgaGFzQ2xp
ZW50V2l0aFRhc2soKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spOworICAgIFBhcmFs
bGVsSGVscGVyQ2xpZW50KiBnZXRDbGllbnRXaXRoVGFzaygpIFdURl9SRVFVSVJFU19DQVBBQklM
SVRZKG1fbG9jayk7CiAgICAgCiAgICAgQm94PExvY2s+IG1fbG9jazsgLy8gQXV0b21hdGljVGhy
ZWFkIHdhbnRzIHRoaXMgaW4gYSBib3ggZm9yIHNhZmV0eS4KICAgICBSZWY8QXV0b21hdGljVGhy
ZWFkQ29uZGl0aW9uPiBtX3dvcmtBdmFpbGFibGVDb25kaXRpb247CkBAIC05MSw3ICs5MSw3IEBA
IHByaXZhdGU6CiAKICAgICBXZWFrUmFuZG9tIG1fcmFuZG9tOwogICAgIAotICAgIFZlY3RvcjxQ
YXJhbGxlbEhlbHBlckNsaWVudCo+IG1fY2xpZW50cyBXVEZfR1VBUkRFRF9CWV9MT0NLKCptX2xv
Y2spOworICAgIFZlY3RvcjxQYXJhbGxlbEhlbHBlckNsaWVudCo+IG1fY2xpZW50cyBXVEZfR1VB
UkRFRF9CWV9DQVBBQklMSVRZKCptX2xvY2spOwogICAgIFZlY3RvcjxSZWZQdHI8QXV0b21hdGlj
VGhyZWFkPj4gbV90aHJlYWRzOwogICAgIENTdHJpbmcgbV90aHJlYWROYW1lOwogICAgIHVuc2ln
bmVkIG1fbnVtVGhyZWFkcyB7IDAgfTsgLy8gVGhpcyBjYW4gYmUgbGFyZ2VyIHRoYW4gbV90aHJl
YWRzLnNpemUoKSBiZWNhdXNlIHdlIHN0YXJ0IHRocmVhZHMgb25seSBvbmNlIHRoZXJlIGlzIHdv
cmsuCkBAIC0yMDIsOCArMjAyLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgUGFyYWxsZWxIZWxwZXJQb29sOwogCi0gICAgdm9pZCBmaW5pc2hXaXRoTG9jaygpIFdURl9S
RVFVSVJFU19MT0NLKCptX3Bvb2wtPm1fbG9jayk7Ci0gICAgUmVmUHRyPFNoYXJlZFRhc2s8dm9p
ZCAoKT4+IGNsYWltVGFzaygpIFdURl9SRVFVSVJFU19MT0NLKCptX3Bvb2wtPm1fbG9jayk7Cisg
ICAgdm9pZCBmaW5pc2hXaXRoTG9jaygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKCptX3Bvb2wt
Pm1fbG9jayk7CisgICAgUmVmUHRyPFNoYXJlZFRhc2s8dm9pZCgpPj4gY2xhaW1UYXNrKCkgV1RG
X1JFUVVJUkVTX0NBUEFCSUxJVFkoKm1fcG9vbC0+bV9sb2NrKTsKICAgICB2b2lkIHJ1blRhc2so
Y29uc3QgUmVmUHRyPFNoYXJlZFRhc2s8dm9pZCAoKT4+Jik7CiAKICAgICBSZWZQdHI8UGFyYWxs
ZWxIZWxwZXJQb29sPiBtX3Bvb2w7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxl
bEpvYnNHZW5lcmljLmggYi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEpvYnNHZW5lcmljLmgKaW5k
ZXggNWFhNjFiNmQ4MDg2NTJmYmNlOTM2N2YzZWMzMTY4NDhjZGVkOTAxMC4uOGVkNGU1NjQxZjhh
ZjYyNzI2NmQxZmZkNjViYzU1YTlmZWY2ZDQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UGFyYWxsZWxKb2JzR2VuZXJpYy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic0dl
bmVyaWMuaApAQCAtNzAsNyArNzAsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgUmVmUHRyPFRocmVh
ZD4gbV90aHJlYWQ7CiAgICAgICAgIGJvb2wgbV9ydW5uaW5nIHsgZmFsc2UgfTsKLSAgICAgICAg
UGFyYWxsZWxFbnZpcm9ubWVudCogbV9wYXJlbnQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2sp
IHsgbnVsbHB0ciB9OworICAgICAgICBQYXJhbGxlbEVudmlyb25tZW50KiBtX3BhcmVudCBXVEZf
R1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykgeyBudWxscHRyIH07CiAKICAgICAgICAgVGhy
ZWFkRnVuY3Rpb24gbV90aHJlYWRGdW5jdGlvbiB7IG51bGxwdHIgfTsKICAgICAgICAgdm9pZCog
bV9wYXJhbWV0ZXJzIHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGFy
YWxsZWxWZWN0b3JJdGVyYXRvci5oIGIvU291cmNlL1dURi93dGYvUGFyYWxsZWxWZWN0b3JJdGVy
YXRvci5oCmluZGV4IGVmN2FlYmY5NjhlMmFhMzZjMjQ3MzI3ZDg1NmY1MTNkMGViYjNkN2EuLjVi
MzIyYzQwYWEyOTRhOWQ3MTk1YTJmZWM4MDU5MDYwMGI2MDdkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BhcmFsbGVsVmVjdG9ySXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
YXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmgKQEAgLTY4LDkgKzY4LDkgQEAgcHVibGljOgogICAgIH0K
IHByaXZhdGU6CiAgICAgTG9jayBtX2xvY2s7Ci0gICAgVmVjdG9yVHlwZSYgbV92ZWN0b3IgV1RG
X0dVQVJERURfQllfTE9DSyhtX2xvY2spOwotICAgIHNpemVfdCBtX3NoYXJkU2l6ZSBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgc2l6ZV90IG1fbmV4dCBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fbG9jaykgeyAwIH07CisgICAgVmVjdG9yVHlwZSYgbV92ZWN0b3IgV1RGX0dVQVJERURf
QllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIHNpemVfdCBtX3NoYXJkU2l6ZSBXVEZfR1VBUkRF
RF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CisgICAgc2l6ZV90IG1fbmV4dCBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKG1fbG9jaykgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0ZUxvY2suaCBiL1NvdXJjZS9XVEYvd3Rm
L1JlYWRXcml0ZUxvY2suaAppbmRleCAwNDMzMjc1MjVlNGYyYzA2ZmU5MGI0NDgzYjcxMTZiMjBi
ODdhZDExLi42OTlmZTM2ODU2OTM2NjFkNzkyYzExYWFmNzQ0NzQzMzZkNjNiYTJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYv
UmVhZFdyaXRlTG9jay5oCkBAIC02Myw5ICs2Myw5IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
TG9jayBtX2xvY2s7CiAgICAgQ29uZGl0aW9uIG1fY29uZDsKLSAgICBib29sIG1faXNXcml0ZUxv
Y2tlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9OwotICAgIHVuc2lnbmVk
IG1fbnVtUmVhZGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyAwIH07Ci0gICAgdW5z
aWduZWQgbV9udW1XYWl0aW5nV3JpdGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyAw
IH07CisgICAgYm9vbCBtX2lzV3JpdGVMb2NrZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X2xvY2spIHsgZmFsc2UgfTsKKyAgICB1bnNpZ25lZCBtX251bVJlYWRlcnMgV1RGX0dVQVJERURf
QllfQ0FQQUJJTElUWShtX2xvY2spIHsgMCB9OworICAgIHVuc2lnbmVkIG1fbnVtV2FpdGluZ1dy
aXRlcnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgMCB9OwogfTsKIAogY2xh
c3MgUmVhZFdyaXRlTG9jazo6UmVhZExvY2sgOiBwdWJsaWMgUmVhZFdyaXRlTG9jayB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29w
LmgKaW5kZXggNzE0YmNkYmFhNmExZTk0OWNkYzc3NTgzN2Y1NjQ1ODY5NDg2ZjY0NS4uODNlODIx
OTlkZWU4NzZjYzhkNmIzNGMzOTY2YjA0NzViOTJiNDkyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtMTQ1LDcg
KzE0NSw3IEBAIHB1YmxpYzoKICAgICAgICAgUmVmPFJ1bkxvb3A+IG1fcnVuTG9vcDsKIAogI2lm
IFVTRShXSU5ET1dTX0VWRU5UX0xPT1ApCi0gICAgICAgIGJvb2wgaXNBY3RpdmVXaXRoTG9jaygp
IGNvbnN0IFdURl9SRVFVSVJFU19MT0NLKG1fcnVuTG9vcC0+bV9sb29wTG9jayk7CisgICAgICAg
IGJvb2wgaXNBY3RpdmVXaXRoTG9jaygpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1f
cnVuTG9vcC0+bV9sb29wTG9jayk7CiAgICAgICAgIHZvaWQgdGltZXJGaXJlZCgpOwogICAgICAg
ICBNb25vdG9uaWNUaW1lIG1fbmV4dEZpcmVEYXRlOwogICAgICAgICBTZWNvbmRzIG1faW50ZXJ2
YWw7CkBAIC0xNTksOCArMTU5LDggQEAgcHVibGljOgogICAgICAgICBib29sIG1faXNSZXBlYXRp
bmcgeyBmYWxzZSB9OwogICAgICAgICBTZWNvbmRzIG1faW50ZXJ2YWwgeyAwIH07CiAjZWxpZiBV
U0UoR0VORVJJQ19FVkVOVF9MT09QKQotICAgICAgICBib29sIGlzQWN0aXZlV2l0aExvY2soKSBj
b25zdCBXVEZfUkVRVUlSRVNfTE9DSyhtX3J1bkxvb3AtPm1fbG9vcExvY2spOwotICAgICAgICB2
b2lkIHN0b3BXaXRoTG9jaygpIFdURl9SRVFVSVJFU19MT0NLKG1fcnVuTG9vcC0+bV9sb29wTG9j
ayk7CisgICAgICAgIGJvb2wgaXNBY3RpdmVXaXRoTG9jaygpIGNvbnN0IFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKG1fcnVuTG9vcC0+bV9sb29wTG9jayk7CisgICAgICAgIHZvaWQgc3RvcFdpdGhM
b2NrKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9ydW5Mb29wLT5tX2xvb3BMb2NrKTsKIAog
ICAgICAgICBjbGFzcyBTY2hlZHVsZWRUYXNrOwogICAgICAgICBSZWZQdHI8U2NoZWR1bGVkVGFz
az4gbV9zY2hlZHVsZWRUYXNrOwpAQCAtMjE4LDcgKzIxOCw3IEBAIHByaXZhdGU6CiAgICAgRGVx
dWU8RnVuY3Rpb248dm9pZCgpPj4gbV9jdXJyZW50SXRlcmF0aW9uOwogCiAgICAgTG9jayBtX25l
eHRJdGVyYXRpb25Mb2NrOwotICAgIERlcXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbmV4dEl0ZXJh
dGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbmV4dEl0ZXJhdGlvbkxvY2spOworICAgIERlcXVl
PEZ1bmN0aW9uPHZvaWQoKT4+IG1fbmV4dEl0ZXJhdGlvbiBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKG1fbmV4dEl0ZXJhdGlvbkxvY2spOwogCiAgICAgYm9vbCBtX2lzRnVuY3Rpb25EaXNwYXRj
aFN1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1N1c3BlbmRlZEZ1bmN0aW9ucyB7
IGZhbHNlIH07CkBAIC0yNDMsOSArMjQzLDkgQEAgcHJpdmF0ZToKICAgICBXZWFrSGFzaFNldDxP
YnNlcnZlcj4gbV9vYnNlcnZlcnM7CiAjZWxpZiBVU0UoR0VORVJJQ19FVkVOVF9MT09QKQogICAg
IHZvaWQgc2NoZWR1bGUoUmVmPFRpbWVyQmFzZTo6U2NoZWR1bGVkVGFzaz4mJik7Ci0gICAgdm9p
ZCBzY2hlZHVsZVdpdGhMb2NrKFJlZjxUaW1lckJhc2U6OlNjaGVkdWxlZFRhc2s+JiYpIFdURl9S
RVFVSVJFU19MT0NLKG1fbG9vcExvY2spOwotICAgIHZvaWQgd2FrZVVwV2l0aExvY2soKSBXVEZf
UkVRVUlSRVNfTE9DSyhtX2xvb3BMb2NrKTsKLSAgICB2b2lkIHNjaGVkdWxlQW5kV2FrZVVwV2l0
aExvY2soUmVmPFRpbWVyQmFzZTo6U2NoZWR1bGVkVGFzaz4mJikgV1RGX1JFUVVJUkVTX0xPQ0so
bV9sb29wTG9jayk7CisgICAgdm9pZCBzY2hlZHVsZVdpdGhMb2NrKFJlZjxUaW1lckJhc2U6OlNj
aGVkdWxlZFRhc2s+JiYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9vcExvY2spOworICAg
IHZvaWQgd2FrZVVwV2l0aExvY2soKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvb3BMb2Nr
KTsKKyAgICB2b2lkIHNjaGVkdWxlQW5kV2FrZVVwV2l0aExvY2soUmVmPFRpbWVyQmFzZTo6U2No
ZWR1bGVkVGFzaz4mJikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb29wTG9jayk7CiAKICAg
ICBlbnVtIGNsYXNzIFJ1bk1vZGUgewogICAgICAgICBJdGVyYXRlLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvU3VzcGVuZGFibGVXb3JrUXVldWUuaCBiL1NvdXJjZS9XVEYvd3RmL1N1c3Bl
bmRhYmxlV29ya1F1ZXVlLmgKaW5kZXggYzc4MDljNGRlNjA1YTI5OGY1MGQxNzU1YjMxNTg3YWQz
ZWQ2NWI3Mi4uN2UxYjEyNDNiOTU1MTk3NjAxMzNjZWNiNDdhN2RlMzg4NzdmZGJhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvU3VzcGVuZGFibGVXb3JrUXVldWUuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9TdXNwZW5kYWJsZVdvcmtRdWV1ZS5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKICAgICBTdXNwZW5kYWJsZVdvcmtRdWV1ZShjb25zdCBjaGFyKiBuYW1lLCBR
T1MpOwotICAgIHZvaWQgaW52b2tlQWxsU3VzcGVuc2lvbkNvbXBsZXRpb25IYW5kbGVycygpIFdU
Rl9SRVFVSVJFU19MT0NLKG1fc3VzcGVuc2lvbkxvY2spOworICAgIHZvaWQgaW52b2tlQWxsU3Vz
cGVuc2lvbkNvbXBsZXRpb25IYW5kbGVycygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fc3Vz
cGVuc2lvbkxvY2spOwogICAgIHZvaWQgc3VzcGVuZElmTmVlZGVkKCk7CiAjaWYgVVNFKENPQ09B
X0VWRU5UX0xPT1ApCiAgICAgdXNpbmcgV29ya1F1ZXVlOjpkaXNwYXRjaFF1ZXVlOwpAQCAtNTYs
OSArNTYsOSBAQCBwcml2YXRlOgogCiAgICAgTG9jayBtX3N1c3BlbnNpb25Mb2NrOwogICAgIENv
bmRpdGlvbiBtX3N1c3BlbnNpb25Db25kaXRpb247Ci0gICAgYm9vbCBtX2lzT3JXaWxsQmVTdXNw
ZW5kZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3N1c3BlbnNpb25Mb2NrKSB7IGZhbHNlIH07Ci0g
ICAgRnVuY3Rpb248dm9pZCgpPiBtX3N1c3BlbmRGdW5jdGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fc3VzcGVuc2lvbkxvY2spOwotICAgIFZlY3RvcjxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
PiBtX3N1c3BlbnNpb25Db21wbGV0aW9uSGFuZGxlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3N1
c3BlbnNpb25Mb2NrKTsKKyAgICBib29sIG1faXNPcldpbGxCZVN1c3BlbmRlZCBXVEZfR1VBUkRF
RF9CWV9DQVBBQklMSVRZKG1fc3VzcGVuc2lvbkxvY2spIHsgZmFsc2UgfTsKKyAgICBGdW5jdGlv
bjx2b2lkKCk+IG1fc3VzcGVuZEZ1bmN0aW9uIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9z
dXNwZW5zaW9uTG9jayk7CisgICAgVmVjdG9yPENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4+IG1f
c3VzcGVuc2lvbkNvbXBsZXRpb25IYW5kbGVycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
c3VzcGVuc2lvbkxvY2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9TeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmggYi9Tb3VyY2UvV1RGL3d0Zi9T
eW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmgKaW5kZXggMTM2ZDBkMDY2ZGEwOTNjNjY1ZjJlMmU2NjZj
MDdhZGQ2MDcyYTcyOC4uNjkxODJkMmRhZDlkM2YzNDhkNWZiNjlkZGQyYTkzMmJkNzVlOTA5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU3luY2hyb25pemVkRml4ZWRRdWV1ZS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1N5bmNocm9uaXplZEZpeGVkUXVldWUuaApAQCAtMTIyLDggKzEyMiw4
IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2xvY2s7CiAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9u
OwogCi0gICAgYm9vbCBtX29wZW4gV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgdHJ1ZSB9
OwotICAgIERlcXVlPFQsIEJ1ZmZlclNpemU+IG1fcXVldWUgV1RGX0dVQVJERURfQllfTE9DSyht
X2xvY2spOworICAgIGJvb2wgbV9vcGVuIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2Nr
KSB7IHRydWUgfTsKKyAgICBEZXF1ZTxULCBCdWZmZXJTaXplPiBtX3F1ZXVlIFdURl9HVUFSREVE
X0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1RocmVhZEFzc2VydGlvbnMuaCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZEFzc2VydGlvbnMu
aAppbmRleCAxY2ExNmI0ZDA1ODljOTAyMTZkMGViZTAwYTk3MDgzMmQ4ZWEwZWQ3Li41NWYwZDU0
YTIzNWNkMTZmODM5OThhNWUzNWZmMWVmZjFmNGQ4YTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9UaHJlYWRBc3NlcnRpb25zLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkQXNzZXJ0
aW9ucy5oCkBAIC00MSwxMSArNDEsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAvLyAgICAgdm9pZCBk
b1Rhc2soKSB7IGFzc2VydElzQ3VycmVudChtX293bmVyVGhyZWFkKTsgZG9UYXNrSW1wbCgpOyB9
CiAvLyAgICAgdGVtcGxhdGU8dHlwZW5hbWU+IHZvaWQgZG9UYXNrQ29tcGlsZUZhaWx1cmUoKSB7
IGRvVGFza0ltcGwoKTsgfQogLy8gcHJpdmF0ZToKLS8vICAgICB2b2lkIGRvVGFza0ltcGwoKSBX
VEZfUkVRVUlSRVNfTE9DSyhtX293bmVyVGhyZWFkKTsKLS8vICAgICBpbnQgbV92YWx1ZSBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fb3duZXJUaHJlYWQpIHsgMCB9OworLy8gICAgIHZvaWQgZG9UYXNr
SW1wbCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fb3duZXJUaHJlYWQpOworLy8gICAgIGlu
dCBtX3ZhbHVlIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9vd25lclRocmVhZCkgeyAwIH07
CiAvLyAgICAgTk9fVU5JUVVFX0FERFJFU1MgVGhyZWFkQXNzZXJ0aW9uIG1fb3duZXJUaHJlYWQ7
CiAvLyB9OwotY2xhc3MgV1RGX0NBUEFCSUxJVFlfTE9DSyBUaHJlYWRBc3NlcnRpb24geworY2xh
c3MgV1RGX0NBUEFCSUxJVFkoImlzIGN1cnJlbnQiKSBUaHJlYWRBc3NlcnRpb24gewogcHVibGlj
OgogICAgIFRocmVhZEFzc2VydGlvbigpID0gZGVmYXVsdDsKICAgICBlbnVtIFVuaW5pdGlhbGl6
ZWRUYWcgeyBVbmluaXRpYWxpemVkIH07CkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAg
ZnJpZW5kIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNvbnN0IFRocmVhZEFzc2VydGlvbiYpOwogfTsK
IAotaW5saW5lIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNvbnN0IFRocmVhZEFzc2VydGlvbiYgdGhy
ZWFkQXNzZXJ0aW9uKSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9MT0NLKHRocmVhZEFzc2VydGlvbikK
K2lubGluZSB2b2lkIGFzc2VydElzQ3VycmVudChjb25zdCBUaHJlYWRBc3NlcnRpb24mIHRocmVh
ZEFzc2VydGlvbikgV1RGX0FTU0VSVFNfQUNRVUlSRURfQ0FQQUJJTElUWSh0aHJlYWRBc3NlcnRp
b24pCiB7CiAgICAgQVNTRVJUX1VOVVNFRCh0aHJlYWRBc3NlcnRpb24sIFRocmVhZDo6Y3VycmVu
dCgpLnVpZCgpID09IHRocmVhZEFzc2VydGlvbi5tX3VpZCk7CiB9CkBAIC03NCw4ICs3NCw4IEBA
IGlubGluZSB2b2lkIGFzc2VydElzQ3VycmVudChjb25zdCBUaHJlYWRBc3NlcnRpb24mIHRocmVh
ZEFzc2VydGlvbikgV1RGX0FTU0VSVFNfCiAvLyBhIGtub3duIG5hbWVkIHRocmVhZC4KIC8vIEV4
YW1wbGU6CiAvLyBleHRlcm4gTmFtZWRBc3NlcnRpb24mIG1haW5UaHJlYWQ7Ci0vLyBpbmxpbmUg
dm9pZCBhc3NlcnRJc01haW5UaHJlYWQoKSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9MT0NLKG1haW5U
aHJlYWQpOwotLy8gdm9pZCBteVRhc2soKSBXVEZfUkVRVUlSRVNfTE9DSyhtYWluVGhyZWFkKSB7
IHByaW50ZigibXkgdGFzayBpcyBydW5uaW5nIik7IH0KKy8vIGlubGluZSB2b2lkIGFzc2VydElz
TWFpblRocmVhZCgpIFdURl9BU1NFUlRTX0FDUVVJUkVEX0NBUEFCSUxJVFkobWFpblRocmVhZCk7
CisvLyB2b2lkIG15VGFzaygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1haW5UaHJlYWQpIHsg
cHJpbnRmKCJteSB0YXNrIGlzIHJ1bm5pbmciKTsgfQogLy8gdm9pZCBydW5uZXIoKSB7CiAvLyAg
ICAgYXNzZXJ0SXNNYWluVGhyZWFkKCk7CiAvLyAgICAgbXlUYXNrKCk7CkBAIC04MywxNSArODMs
MTUgQEAgaW5saW5lIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNvbnN0IFRocmVhZEFzc2VydGlvbiYg
dGhyZWFkQXNzZXJ0aW9uKSBXVEZfQVNTRVJUU18KIC8vIHRlbXBsYXRlPHR5cGVuYW1lPiBydW5u
ZXJDb21waWxlRmFpbHVyZSgpIHsKIC8vICAgICBteVRhc2soKTsKIC8vIH0KLWNsYXNzIFdURl9D
QVBBQklMSVRZX0xPQ0sgTmFtZWRBc3NlcnRpb24geyB9OworY2xhc3MgV1RGX0NBUEFCSUxJVFko
ImlzIGN1cnJlbnQiKSBOYW1lZEFzc2VydGlvbiB7IH07CiAKLS8vIFRvIGJlIHVzZWQgd2l0aCBX
VEZfUkVRVUlSRVNfTE9DSyhtYWluVGhyZWFkKS4gU3ltYm9sIGlzIHVuZGVmaW5lZC4KKy8vIFRv
IGJlIHVzZWQgd2l0aCBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtYWluVGhyZWFkKS4gU3ltYm9s
IGlzIHVuZGVmaW5lZC4KIGV4dGVybiBOYW1lZEFzc2VydGlvbiYgbWFpblRocmVhZDsKLWlubGlu
ZSB2b2lkIGFzc2VydElzTWFpblRocmVhZCgpIFdURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sobWFp
blRocmVhZCkgeyBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOyB9CitpbmxpbmUgdm9pZCBhc3NlcnRJ
c01haW5UaHJlYWQoKSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9DQVBBQklMSVRZKG1haW5UaHJlYWQp
IHsgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsgfQogCi0vLyBUbyBiZSB1c2VkIHdpdGggV1RGX1JF
UVVJUkVTX0xPQ0sobWFpblJ1bkxvb3ApLiBTeW1ib2wgaXMgdW5kZWZpbmVkLgorLy8gVG8gYmUg
dXNlZCB3aXRoIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1haW5SdW5Mb29wKS4gU3ltYm9sIGlz
IHVuZGVmaW5lZC4KIGV4dGVybiBOYW1lZEFzc2VydGlvbiYgbWFpblJ1bkxvb3A7Ci1pbmxpbmUg
dm9pZCBhc3NlcnRJc01haW5SdW5Mb29wKCkgV1RGX0FTU0VSVFNfQUNRVUlSRURfTE9DSyhtYWlu
UnVuTG9vcCkgeyBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsgfQoraW5saW5lIHZvaWQgYXNzZXJ0
SXNNYWluUnVuTG9vcCgpIFdURl9BU1NFUlRTX0FDUVVJUkVEX0NBUEFCSUxJVFkobWFpblJ1bkxv
b3ApIHsgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7IH0KIAogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFk
U2FmZXR5QW5hbHlzaXMuaAppbmRleCAwM2FjMTVhOTMzZTcwZmMxYTFmZjA0NzhmMGI5OTNjZTE4
ZDQ5N2VjLi44ZWJmOGY3NWNkMDY2Mjg1NTIyNDQ5MDhlMTFjZDhjODY0ODBiNTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1RocmVhZFNhZmV0eUFuYWx5c2lzLmgKQEAgLTM1LDIxICszNSwyMSBAQAogI2RlZmlu
ZSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHgpCiAjZW5kaWYKIAotI2RlZmluZSBX
VEZfQUNRVUlSRVNfTE9DS19JRiguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUo
dHJ5X2FjcXVpcmVfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdURl9BQ1FVSVJF
U19MT0NLKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShhY3F1aXJlX2NhcGFi
aWxpdHkoX19WQV9BUkdTX18pKQotI2RlZmluZSBXVEZfQUNRVUlSRVNfU0hBUkVEX0xPQ0tfSUYo
Li4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHRyeV9hY3F1aXJlX3NoYXJlZF9j
YXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKLSNkZWZpbmUgV1RGX0FDUVVJUkVTX1NIQVJFRF9MT0NL
KC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShhY3F1aXJlX3NoYXJlZF9jYXBh
YmlsaXR5KF9fVkFfQVJHU19fKSkKLSNkZWZpbmUgV1RGX0FTU0VSVFNfQUNRVUlSRURfTE9DSyh4
KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGFzc2VydF9jYXBhYmlsaXR5KHgpKQot
I2RlZmluZSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9TSEFSRURfTE9DSyh4KSBXVEZfVEhSRUFEX0FO
Tk9UQVRJT05fQVRUUklCVVRFKGFzc2VydF9zaGFyZWRfY2FwYWJpbGl0eSh4KSkKLSNkZWZpbmUg
V1RGX0NBUEFCSUxJVFlfTE9DSyBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGNhcGFi
aWxpdHkoIm11dGV4IikpCisjZGVmaW5lIFdURl9BQ1FVSVJFU19DQVBBQklMSVRZX0lGKC4uLikg
V1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURSh0cnlfYWNxdWlyZV9jYXBhYmlsaXR5KF9f
VkFfQVJHU19fKSkKKyNkZWZpbmUgV1RGX0FDUVVJUkVTX0NBUEFCSUxJVFkoLi4uKSBXVEZfVEhS
RUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGFjcXVpcmVfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykp
CisjZGVmaW5lIFdURl9BQ1FVSVJFU19TSEFSRURfQ0FQQUJJTElUWV9JRiguLi4pIFdURl9USFJF
QURfQU5OT1RBVElPTl9BVFRSSUJVVEUodHJ5X2FjcXVpcmVfc2hhcmVkX2NhcGFiaWxpdHkoX19W
QV9BUkdTX18pKQorI2RlZmluZSBXVEZfQUNRVUlSRVNfU0hBUkVEX0NBUEFCSUxJVFkoLi4uKSBX
VEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGFjcXVpcmVfc2hhcmVkX2NhcGFiaWxpdHko
X19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9DQVBBQklMSVRZKHgp
IFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoYXNzZXJ0X2NhcGFiaWxpdHkoeCkpCisj
ZGVmaW5lIFdURl9BU1NFUlRTX0FDUVVJUkVEX1NIQVJFRF9DQVBBQklMSVRZKHgpIFdURl9USFJF
QURfQU5OT1RBVElPTl9BVFRSSUJVVEUoYXNzZXJ0X3NoYXJlZF9jYXBhYmlsaXR5KHgpKQorI2Rl
ZmluZSBXVEZfQ0FQQUJJTElUWShuYW1lKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRF
KGNhcGFiaWxpdHkobmFtZSkpCiAjZGVmaW5lIFdURl9DQVBBQklMSVRZX1NDT1BFRF9MT0NLIFdU
Rl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoc2NvcGVkX2xvY2thYmxlKQotI2RlZmluZSBX
VEZfRVhDTFVERVNfTE9DSyguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUobG9j
a3NfZXhjbHVkZWQoX19WQV9BUkdTX18pKQotI2RlZmluZSBXVEZfR1VBUkRFRF9CWV9MT0NLKHgp
IFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoZ3VhcmRlZF9ieSh4KSkKKyNkZWZpbmUg
V1RGX0VYQ0xVREVTX0NBUEFCSUxJVFkoLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklC
VVRFKGxvY2tzX2V4Y2x1ZGVkKF9fVkFfQVJHU19fKSkKKyNkZWZpbmUgV1RGX0dVQVJERURfQllf
Q0FQQUJJTElUWSh4KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGd1YXJkZWRfYnko
eCkpCiAjZGVmaW5lIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgV1RGX1RIUkVB
RF9BTk5PVEFUSU9OX0FUVFJJQlVURShub190aHJlYWRfc2FmZXR5X2FuYWx5c2lzKQotI2RlZmlu
ZSBXVEZfUE9JTlRFRV9HVUFSREVEX0JZX0xPQ0soeCkgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FU
VFJJQlVURShwdF9ndWFyZGVkX2J5KHgpKQotI2RlZmluZSBXVEZfUkVMRUFTRVNfTE9DS19HRU5F
UklDKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShyZWxlYXNlX2dlbmVyaWNf
Y2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdURl9SRUxFQVNFU19MT0NLKC4uLikg
V1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShyZWxlYXNlX2NhcGFiaWxpdHkoX19WQV9B
UkdTX18pKQotI2RlZmluZSBXVEZfUkVMRUFTRVNfU0hBUkVEX0xPQ0soLi4uKSBXVEZfVEhSRUFE
X0FOTk9UQVRJT05fQVRUUklCVVRFKHJlbGVhc2Vfc2hhcmVkX2NhcGFiaWxpdHkoX19WQV9BUkdT
X18pKQotI2RlZmluZSBXVEZfUkVRVUlSRVNfTE9DSyguLi4pIFdURl9USFJFQURfQU5OT1RBVElP
Tl9BVFRSSUJVVEUocmVxdWlyZXNfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdU
Rl9SRVFVSVJFU19TSEFSRURfTE9DSyguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJV
VEUocmVxdWlyZXNfc2hhcmVkX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQotI2RlZmluZSBXVEZf
UkVUVVJOU19MT0NLKHgpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUobG9ja19yZXR1
cm5lZCh4KSkKKyNkZWZpbmUgV1RGX1BPSU5URUVfR1VBUkRFRF9CWV9DQVBBQklMSVRZKHgpIFdU
Rl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUocHRfZ3VhcmRlZF9ieSh4KSkKKyNkZWZpbmUg
V1RGX1JFTEVBU0VTX0dFTkVSSUNfQ0FQQUJJTElUWSguLi4pIFdURl9USFJFQURfQU5OT1RBVElP
Tl9BVFRSSUJVVEUocmVsZWFzZV9nZW5lcmljX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQorI2Rl
ZmluZSBXVEZfUkVMRUFTRVNfQ0FQQUJJTElUWSguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9B
VFRSSUJVVEUocmVsZWFzZV9jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKKyNkZWZpbmUgV1RGX1JF
TEVBU0VTX1NIQVJFRF9DQVBBQklMSVRZKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJ
QlVURShyZWxlYXNlX3NoYXJlZF9jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKKyNkZWZpbmUgV1RG
X1JFUVVJUkVTX0NBUEFCSUxJVFkoLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRF
KHJlcXVpcmVzX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZfUkVRVUlSRVNf
U0hBUkVEX0NBUEFCSUxJVFkoLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJl
cXVpcmVzX3NoYXJlZF9jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKKyNkZWZpbmUgV1RGX1JFVFVS
TlNfQ0FQQUJJTElUWSh4KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGxvY2tfcmV0
dXJuZWQoeCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5oCmluZGV4IDIzNmVjNDNmNTM4MWFlYjhhNGRkY2M1MjgwZmI5
NWNhOTBjMzg0NjkuLmVkYzEzZTRkZmFmM2IxYzJkZTAyYzkxOTFmN2M1YmRlMjBlYjBhNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5oCkBAIC0xMzAsOCArMTMwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBUaHJl
YWQmIGN1cnJlbnQoKTsKIAogICAgIC8vIFNldCBvZiBhbGwgV1RGOjpUaHJlYWQgY3JlYXRlZCB0
aHJlYWRzLgotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgSGFzaFNldDxUaHJlYWQqPiYg
YWxsVGhyZWFkcygpIFdURl9SRVFVSVJFU19MT0NLKGFsbFRocmVhZHNMb2NrKCkpOwotICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgTG9jayYgYWxsVGhyZWFkc0xvY2soKSBXVEZfUkVUVVJO
U19MT0NLKHNfYWxsVGhyZWFkc0xvY2spOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMg
SGFzaFNldDxUaHJlYWQqPiYgYWxsVGhyZWFkcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGFs
bFRocmVhZHNMb2NrKCkpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgTG9jayYgYWxs
VGhyZWFkc0xvY2soKSBXVEZfUkVUVVJOU19DQVBBQklMSVRZKHNfYWxsVGhyZWFkc0xvY2spOwog
CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHVuc2lnbmVkIG51bWJlck9mVGhyZWFkR3JvdXBzKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RpbWluZ1Njb3BlLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1RpbWluZ1Njb3BlLmNwcAppbmRleCA1ZmM3NzRlYmY0ZjI0OGI1NTEzNmZlYWJiZWVh
MGMxODNlYWM3MzIzLi4wNGI1MjVkZGI4MjQ2ZDQ2ZWRmMTllN2E3YTJhYzA1ZTU0OGI5MDk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaW1pbmdTY29wZS5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvVGltaW5nU2NvcGUuY3BwCkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICB9CiAK
IHByaXZhdGU6Ci0gICAgSGFzaE1hcDxjb25zdCBjaGFyKiwgQ2FsbERhdGE+IHRvdGFscyBXVEZf
R1VBUkRFRF9CWV9MT0NLKGxvY2spOworICAgIEhhc2hNYXA8Y29uc3QgY2hhciosIENhbGxEYXRh
PiB0b3RhbHMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShsb2NrKTsKICAgICBMb2NrIGxvY2s7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwIGIvU291cmNlL1dURi93
dGYvVVJMLmNwcAppbmRleCA4MzMwMWFkY2Q1MmE0YWVkODM2N2JjODQxYzNjZGVlODgzYzYwOWQw
Li5mZTY4ZTk5OTk0YzUwMmEwYTAxMDYxMTFkNGY4NGE4MDJjODlhMGQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9VUkwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAKQEAgLTI4
MCwxMyArMjgwLDEzIEBAIHN0YXRpYyB2b2lkIGFzc2VydFByb3RvY29sSXNHb29kKFN0cmluZ1Zp
ZXcgcHJvdG9jb2wpCiBzdGF0aWMgTG9jayBkZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVz
dGluZ0xvY2s7CiAKIHVzaW5nIERlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nID0g
SGFzaE1hcDxTdHJpbmcsIHVpbnQxNl90PjsKLXN0YXRpYyBEZWZhdWx0UG9ydEZvclByb3RvY29s
TWFwRm9yVGVzdGluZyomIGRlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nKCkgV1RG
X1JFUVVJUkVTX0xPQ0soZGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmdMb2NrKQor
c3RhdGljIERlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nKiYgZGVmYXVsdFBvcnRG
b3JQcm90b2NvbE1hcEZvclRlc3RpbmcoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShkZWZhdWx0
UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZ0xvY2spCiB7CiAgICAgc3RhdGljIERlZmF1bHRQ
b3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nKiBkZWZhdWx0UG9ydEZvclByb3RvY29sTWFwOwog
ICAgIHJldHVybiBkZWZhdWx0UG9ydEZvclByb3RvY29sTWFwOwogfQogCi1zdGF0aWMgRGVmYXVs
dFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmcmIGVuc3VyZURlZmF1bHRQb3J0Rm9yUHJvdG9j
b2xNYXBGb3JUZXN0aW5nKCkgV1RGX1JFUVVJUkVTX0xPQ0soZGVmYXVsdFBvcnRGb3JQcm90b2Nv
bE1hcEZvclRlc3RpbmdMb2NrKQorc3RhdGljIERlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JU
ZXN0aW5nJiBlbnN1cmVEZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZygpIFdURl9S
RVFVSVJFU19DQVBBQklMSVRZKGRlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nTG9j
aykKIHsKICAgICBEZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZyomIGRlZmF1bHRQ
b3J0Rm9yUHJvdG9jb2xNYXAgPSBkZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZygp
OwogICAgIGlmICghZGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1dURlNlbWFwaG9yZS5oIGIvU291cmNlL1dURi93dGYvV1RGU2VtYXBob3JlLmgK
aW5kZXggZGUxNGEzYTAxNmViMTY2NmU5OGEzNzQxMmQ2YzNiNjRmNDJiYTg3Mi4uZDlhZmM1NDJk
ODQ1Y2VkMDIxNDc1ZmU2ODEwMzVhMWQ5N2VhOTlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvV1RGU2VtYXBob3JlLmgKKysrIGIvU291cmNlL1dURi93dGYvV1RGU2VtYXBob3JlLmgKQEAg
LTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBt
X3ZhbHVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IDAgfTsKKyAgICB1bnNpZ25lZCBt
X3ZhbHVlIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKSB7IDAgfTsKICAgICBMb2Nr
IG1fbG9jazsKICAgICBDb25kaXRpb24gbV9jb25kaXRpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAK
aW5kZXggOWUxMDZlMzk0ZDNmNDRkMmMyNWZjM2NhMTUzNTQwZTUyMDRjYjM1Yi4uMWNlODk0MDZk
YzUyNGZmNjAwNjEwNTk5OWY5ZmNmMTBhZjU4YzE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvV29ya1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdm9pZCBDb25jdXJyZW50V29ya1F1ZXVlOjphcHBseShzaXplX3QgaXRl
cmF0aW9ucywgV1RGOjpGdW5jdGlvbjx2b2lkKHNpemVfdCBpbmQKIAogICAgICAgICBMb2NrIG1f
bG9jazsKICAgICAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwotICAgICAgICBEZXF1ZTxjb25z
dCBGdW5jdGlvbjx2b2lkKCk+Kj4gbV9xdWV1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7
CisgICAgICAgIERlcXVlPGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4qPiBtX3F1ZXVlIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIAogICAgICAgICBWZWN0b3I8UmVmPFRocmVhZD4+
IG1fd29ya2VyczsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdWaWV3LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nVmlldy5jcHAKaW5kZXggYTIx
NDgyMDczNDc4NzYwMjMzZDRhZGY5MGRmZDk2YjNhMGE5ZWEwNy4uNzM3OTMyMmY4ZDdkNGE2NzE0
NThjZTNjYmMyNDQ2NjlkOWJmYjIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9T
dHJpbmdWaWV3LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuY3BwCkBA
IC0zODcsNyArMzg3LDcgQEAgU3RyaW5nVmlldzo6VW5kZXJseWluZ1N0cmluZzo6VW5kZXJseWlu
Z1N0cmluZyhjb25zdCBTdHJpbmdJbXBsJiBzdHJpbmcpCiAKIHN0YXRpYyBMb2NrIHVuZGVybHlp
bmdTdHJpbmdzTG9jazsKIAotc3RhdGljIEhhc2hNYXA8Y29uc3QgU3RyaW5nSW1wbCosIFN0cmlu
Z1ZpZXc6OlVuZGVybHlpbmdTdHJpbmcqPiYgdW5kZXJseWluZ1N0cmluZ3MoKSBXVEZfUkVRVUlS
RVNfTE9DSyh1bmRlcmx5aW5nU3RyaW5nc0xvY2spCitzdGF0aWMgSGFzaE1hcDxjb25zdCBTdHJp
bmdJbXBsKiwgU3RyaW5nVmlldzo6VW5kZXJseWluZ1N0cmluZyo+JiB1bmRlcmx5aW5nU3RyaW5n
cygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKHVuZGVybHlpbmdTdHJpbmdzTG9jaykKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxjb25zdCBTdHJpbmdJbXBsKiwgU3RyaW5n
Vmlldzo6VW5kZXJseWluZ1N0cmluZyo+PiBtYXA7CiAgICAgcmV0dXJuIG1hcDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmggYi9Tb3VyY2UvV1RG
L3d0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oCmluZGV4IDM4OWNlNzNhZjFlNDE1Yjc5Njcx
OWZhNGJlMDg0YWY0N2JlYzU0ZDcuLmJmYTQ2NjQwMDQwYWEzYTdiOWQxODJlODQzYThlNzlmZTc0
OTFjMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3Jl
LmgKKysrIGIvU291cmNlL1dURi93dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtNTIs
NyArNTIsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIGJvb2wgbV9pc1NldCBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1NldCBX
VEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykgeyBmYWxzZSB9OwogICAgIExvY2sgbV9s
b2NrOwogICAgIENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91bmlj
b2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKaW5kZXggMjg5MDFjZDQxMjczZGU5ZTBhNzUzOGYzNTJl
MWNhODA1MGU3OGE0Yy4uOWE5Y2M0OTMzODc4ZGM2ZDlhYjA3ZGU0Yzc2YTdhMDU5MDM1NTU2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNwcApAQCAtNDYsNyAr
NDYsNyBAQAogbmFtZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBMb2NrIGNhY2hlZENvbGxhdG9yTG9j
azsKLXN0YXRpYyBVQ29sbGF0b3IqIGNhY2hlZENvbGxhdG9yIFdURl9HVUFSREVEX0JZX0xPQ0so
Y2FjaGVkQ29sbGF0b3JMb2NrKTsKK3N0YXRpYyBVQ29sbGF0b3IqIGNhY2hlZENvbGxhdG9yIFdU
Rl9HVUFSREVEX0JZX0NBUEFCSUxJVFkoY2FjaGVkQ29sbGF0b3JMb2NrKTsKIHN0YXRpYyBjaGFy
KiBjYWNoZWRDb2xsYXRvckxvY2FsZTsKIHN0YXRpYyBib29sIGNhY2hlZENvbGxhdG9yU2hvdWxk
U29ydExvd2VyY2FzZUZpcnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUhhbmRsZUNsb3NlU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtSGFuZGxlQ2xvc2VTY29w
ZS5oCmluZGV4IDViMGRmYTEzMWZiODNhMTg3MTkxODc1ZmIzY2I0MzFhYWFmZDUyZWMuLjFmNzgw
NTg5YWI2OWIxYTJkZGJjZWU0MzNkY2M5MzIxOTgyYTc5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtSGFuZGxlQ2xvc2VTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lz
dGVtSGFuZGxlQ2xvc2VTY29wZS5oCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgfQog
CiAgICAgTG9jayBtX2xvY2s7Ci0gICAgRmlsZVN5c3RlbUhhbmRsZUlkZW50aWZpZXIgbV9pZGVu
dGlmaWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKKyAgICBGaWxlU3lzdGVtSGFuZGxl
SWRlbnRpZmllciBtX2lkZW50aWZpZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2sp
OwogICAgIGJvb2wgbV9pc0RpcmVjdG9yeTsKICAgICBSZWY8RmlsZVN5c3RlbVN0b3JhZ2VDb25u
ZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggOTY3MWQ3YzljMTg4ZWJjYTFjNmU3ZTNk
M2ZmMTAzODlkYmFkZmMzZS4uN2E4ZWJkZTNjMDQ1ZDMzOTA3ZDlhYWUyMWNhNDA2NWI5ZmEwNmZj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RT
dG9yZS5oCkBAIC0xMzksOCArMTM5LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fZGVsZXRlZCB7
IGZhbHNlIH07CiAKICAgICBtdXRhYmxlIExvY2sgbV9yZWZlcmVuY2VkSW5kZXhMb2NrOwotICAg
IEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+PiBtX3JlZmVyZW5jZWRJ
bmRleGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWZlcmVuY2VkSW5kZXhMb2NrKTsKLSAgICBI
YXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+PiBtX2RlbGV0ZWRJbmRl
eGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWZlcmVuY2VkSW5kZXhMb2NrKTsKKyAgICBIYXNo
TWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9yZWZlcmVuY2VkSW5kZXhl
cyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CisgICAg
SGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9kZWxldGVkSW5k
ZXhlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCBhZjMzOWQwOTkzYTYyZjgxYTY1YWE4
YjZjZjE3Y2RiOGNmNWUxOTg1Li4wNWJiZjZkNzBkMTE0ZmJkYzRlM2RkN2RkZDcxYmY0NTAyNmRi
ZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uLmgKQEAgLTI1Niw3ICsyNTYsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8SURCUmVz
b3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+
IG1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXA7CiAKICAgICBtdXRhYmxlIExvY2sgbV9yZWZlcmVu
Y2VkT2JqZWN0U3RvcmVMb2NrOwotICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9wdHI8
SURCT2JqZWN0U3RvcmU+PiBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMgV1RGX0dVQVJERURfQllf
TE9DSyhtX3JlZmVyZW5jZWRPYmplY3RTdG9yZUxvY2spOworICAgIEhhc2hNYXA8U3RyaW5nLCBz
dGQ6OnVuaXF1ZV9wdHI8SURCT2JqZWN0U3RvcmU+PiBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3JlZmVyZW5jZWRPYmplY3RTdG9yZUxvY2spOwog
ICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJREJPYmplY3RTdG9yZT4+IG1f
ZGVsZXRlZE9iamVjdFN0b3JlczsKIAogICAgIEhhc2hTZXQ8UmVmUHRyPElEQlJlcXVlc3Q+PiBt
X29wZW5SZXF1ZXN0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaAppbmRleCA2NThhZWY2Nzg5ZGRk
MGNjNjJhZDYwYWQyNzE0MTgyYmZhOWE1ODJmLi4zN2MyNDhjM2NiYTMwOGJlMjhjYTRiNzVhMDUw
Yjg1YmNjZDYzZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCkBAIC0xMjgsNyArMTI4LDcg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgY29tcGxldGVPcGVuREJSZXF1ZXN0KGNv
bnN0IElEQlJlc3VsdERhdGEmKTsKLSAgICBib29sIGhhc1JlY29yZE9mVHJhbnNhY3Rpb24oY29u
c3QgSURCVHJhbnNhY3Rpb24mKSBjb25zdCBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyYW5zYWN0aW9u
TWFwTG9jayk7CisgICAgYm9vbCBoYXNSZWNvcmRPZlRyYW5zYWN0aW9uKGNvbnN0IElEQlRyYW5z
YWN0aW9uJikgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV90cmFuc2FjdGlvbk1hcExv
Y2spOwogCiAgICAgdm9pZCBzYXZlT3BlcmF0aW9uKFRyYW5zYWN0aW9uT3BlcmF0aW9uJik7CiAK
QEAgLTE2MywxNiArMTYzLDE2IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2RhdGFiYXNlSW5mb01h
cExvY2s7CiAgICAgTG9jayBtX21haW5UaHJlYWRUYXNrTG9jazsKIAotICAgIEhhc2hNYXA8dWlu
dDY0X3QsIElEQkRhdGFiYXNlKj4gbV9kYXRhYmFzZUNvbm5lY3Rpb25NYXAgV1RGX0dVQVJERURf
QllfTE9DSyhtX2RhdGFiYXNlQ29ubmVjdGlvbk1hcExvY2spOwotICAgIEhhc2hNYXA8SURCUmVz
b3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4+IG1fb3BlbkRCUmVxdWVz
dE1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb3BlbkRCUmVxdWVzdE1hcExvY2spOwotICAgIEhh
c2hNYXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8SURCVHJhbnNhY3Rpb24+PiBtX3Bl
bmRpbmdUcmFuc2FjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyYW5zYWN0aW9uTWFwTG9j
ayk7Ci0gICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxJREJUcmFuc2Fj
dGlvbj4+IG1fY29tbWl0dGluZ1RyYW5zYWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJh
bnNhY3Rpb25NYXBMb2NrKTsKLSAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVm
UHRyPElEQlRyYW5zYWN0aW9uPj4gbV9hYm9ydGluZ1RyYW5zYWN0aW9ucyBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fdHJhbnNhY3Rpb25NYXBMb2NrKTsKLSAgICBIYXNoTWFwPElEQlJlc291cmNlSWRl
bnRpZmllciwgUmVmUHRyPFRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9hY3RpdmVPcGVyYXRpb25z
IFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmFuc2FjdGlvbk9wZXJhdGlvbkxvY2spOwotICAgIEhh
c2hNYXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBSZWY8SURCRGF0YWJhc2VOYW1lQW5kVmVyc2lv
blJlcXVlc3Q+PiBtX2RhdGFiYXNlSW5mb0NhbGxiYWNrcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
ZGF0YWJhc2VJbmZvTWFwTG9jayk7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgSURCRGF0YWJhc2Uq
PiBtX2RhdGFiYXNlQ29ubmVjdGlvbk1hcCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fZGF0
YWJhc2VDb25uZWN0aW9uTWFwTG9jayk7CisgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZp
ZXIsIFJlZlB0cjxJREJPcGVuREJSZXF1ZXN0Pj4gbV9vcGVuREJSZXF1ZXN0TWFwIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9vcGVuREJSZXF1ZXN0TWFwTG9jayk7CisgICAgSGFzaE1hcDxJ
REJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxJREJUcmFuc2FjdGlvbj4+IG1fcGVuZGluZ1Ry
YW5zYWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fdHJhbnNhY3Rpb25NYXBMb2Nr
KTsKKyAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQlRyYW5zYWN0
aW9uPj4gbV9jb21taXR0aW5nVHJhbnNhY3Rpb25zIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
bV90cmFuc2FjdGlvbk1hcExvY2spOworICAgIEhhc2hNYXA8SURCUmVzb3VyY2VJZGVudGlmaWVy
LCBSZWZQdHI8SURCVHJhbnNhY3Rpb24+PiBtX2Fib3J0aW5nVHJhbnNhY3Rpb25zIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV90cmFuc2FjdGlvbk1hcExvY2spOworICAgIEhhc2hNYXA8SURC
UmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX2FjdGl2
ZU9wZXJhdGlvbnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3RyYW5zYWN0aW9uT3BlcmF0
aW9uTG9jayk7CisgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZjxJREJEYXRh
YmFzZU5hbWVBbmRWZXJzaW9uUmVxdWVzdD4+IG1fZGF0YWJhc2VJbmZvQ2FsbGJhY2tzIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV9kYXRhYmFzZUluZm9NYXBMb2NrKTsKIAogICAgIENyb3Nz
VGhyZWFkUXVldWU8Q3Jvc3NUaHJlYWRUYXNrPiBtX21haW5UaHJlYWRRdWV1ZTsKLSAgICBSZWZQ
dHI8SURCQ29ubmVjdGlvblRvU2VydmVyPiBtX21haW5UaHJlYWRQcm90ZWN0b3IgV1RGX0dVQVJE
RURfQllfTE9DSyhtX21haW5UaHJlYWRUYXNrTG9jayk7CisgICAgUmVmUHRyPElEQkNvbm5lY3Rp
b25Ub1NlcnZlcj4gbV9tYWluVGhyZWFkUHJvdGVjdG9yIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJ
VFkobV9tYWluVGhyZWFkVGFza0xvY2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVt
b3J5Q3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9N
ZW1vcnlDdXJzb3IuY3BwCmluZGV4IDkwMmEzNWVkNzE1NTkwOGZlMzU4OTQ5Yjk5ZTZhYmQxNDVj
MjZkZTAuLmYzNDc4YmUxMmFkMDIxNjM0NzNlM2EwMjYwYWM0YTIxYzAzZTFiZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlDdXJzb3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlD
dXJzb3IuY3BwCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFj
ZSBJREJTZXJ2ZXIgewogCiBzdGF0aWMgTG9jayBjdXJzb3JNYXBMb2NrOwotc3RhdGljIEhhc2hN
YXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBNZW1vcnlDdXJzb3IqPiYgY3Vyc29yTWFwKCkgV1RG
X1JFUVVJUkVTX0xPQ0soY3Vyc29yTWFwTG9jaykKK3N0YXRpYyBIYXNoTWFwPElEQlJlc291cmNl
SWRlbnRpZmllciwgTWVtb3J5Q3Vyc29yKj4mIGN1cnNvck1hcCgpIFdURl9SRVFVSVJFU19DQVBB
QklMSVRZKGN1cnNvck1hcExvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hN
YXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBNZW1vcnlDdXJzb3IqPj4gbWFwOwogICAgIHJldHVy
biBtYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RGF0YUNoYW5uZWwuY3BwCmluZGV4IDhmODMzNzNkYmM3NGI1MmM0NTU1MzA2YTUwNTZkMmZkZTBl
YWFlNzUuLjYwMzVlY2RmMWRjZjFiZWRhOGQyNzcyODJhN2ZlZWQ1ODYwMmFlNjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwu
Y3BwCkBAIC0yNzQsNyArMjc0LDcgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVEaXNw
YXRjaEV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKIH0KIAogc3RhdGljIExvY2sgc19ydGNEYXRh
Q2hhbm5lbExvY2FsTWFwTG9jazsKLXN0YXRpYyBIYXNoTWFwPFJUQ0RhdGFDaGFubmVsTG9jYWxJ
ZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRGF0YUNoYW5uZWxIYW5kbGVyPj4mIHJ0Y0Rh
dGFDaGFubmVsTG9jYWxNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhzX3J0Y0RhdGFDaGFubmVsTG9j
YWxNYXBMb2NrKQorc3RhdGljIEhhc2hNYXA8UlRDRGF0YUNoYW5uZWxMb2NhbElkZW50aWZpZXIs
IHN0ZDo6dW5pcXVlX3B0cjxSVENEYXRhQ2hhbm5lbEhhbmRsZXI+PiYgcnRjRGF0YUNoYW5uZWxM
b2NhbE1hcCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKHNfcnRjRGF0YUNoYW5uZWxMb2NhbE1h
cExvY2spCiB7CiAgICAgQVNTRVJUKHNfcnRjRGF0YUNoYW5uZWxMb2NhbE1hcExvY2suaXNIZWxk
KCkpOwogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxSVENEYXRhQ2hhbm5l
bExvY2FsSWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxlcj4+
PiBtYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNGcmFtZVRyYW5zZm9ybWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmgKaW5kZXggZjhmNjgwZmNkNmE5NGU1ZDNkN2E3
NjEwNmI0OTk4MWYxNmY2MzI0Yi4uYWE4NWI4YTdkOTUzZTdkNzkzNjUxZTU0MjhiZGJlYWVjMzBj
Njc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIuaApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRl
OgogICAgIFRyYW5zZm9ybVJlc3VsdCBlbmNyeXB0RnJhbWUoU3Bhbjxjb25zdCB1aW50OF90Pik7
CiAKICAgICBlbnVtIGNsYXNzIFNob3VsZFVwZGF0ZUtleXMgeyBObywgWWVzIH07Ci0gICAgRXhj
ZXB0aW9uT3I8dm9pZD4gdXBkYXRlRW5jcnlwdGlvbktleShjb25zdCBWZWN0b3I8dWludDhfdD4m
IHJhd0tleSwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4sIFNob3VsZFVwZGF0ZUtleXMgPSBTaG91
bGRVcGRhdGVLZXlzOjpZZXMpIFdURl9SRVFVSVJFU19MT0NLKG1fa2V5TG9jayk7CisgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gdXBkYXRlRW5jcnlwdGlvbktleShjb25zdCBWZWN0b3I8dWludDhfdD4m
IHJhd0tleSwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4sIFNob3VsZFVwZGF0ZUtleXMgPSBTaG91
bGRVcGRhdGVLZXlzOjpZZXMpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fa2V5TG9jayk7CiAK
ICAgICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IGNvbXB1dGVTYWx0S2V5KGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0
ZUF1dGhlbnRpY2F0aW9uS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpOwpAQCAtOTYsNyArOTYs
NyBAQCBwcml2YXRlOgogICAgICAgICB1aW50NjRfdCBrZXlJZCB7IDAgfTsKICAgICAgICAgVmVj
dG9yPHVpbnQ4X3Q+IGtleURhdGE7CiAgICAgfTsKLSAgICBWZWN0b3I8SWRlbnRpZmllZEtleT4g
bV9rZXlzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9rZXlMb2NrKTsKKyAgICBWZWN0b3I8SWRlbnRp
ZmllZEtleT4gbV9rZXlzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9rZXlMb2NrKTsKIAog
ICAgIGJvb2wgbV9pc0VuY3J5cHRpbmcgeyBmYWxzZSB9OwogICAgIHVpbnQ2NF90IG1fYXV0aGVu
dGljYXRpb25TaXplIHsgMTAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5oCmluZGV4IDkyMTk3YzA4NjY0
MGM5MTU4NzhkNzZlZGM0ODEyOTc5OTYzZmY1NjMuLmQxNTdiODIyZDFiZTcyMGMwYjBhMGRlOTZj
MzE0MjZkMWY5YWM4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaApAQCAtODQsOCArODQsOCBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2JhY2tlbmQ7CiAK
ICAgICBMb2NrIG1fdHJhbnNmb3JtZXJMb2NrOwotICAgIGJvb2wgbV9pc1RyYW5zZm9ybWVySW5p
dGlhbGl6ZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyYW5zZm9ybWVyTG9jaykgeyBmYWxzZSB9
OwotICAgIFdlYWtQdHI8UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI+IG1fdHJhbnNmb3JtZXIgV1RG
X0dVQVJERURfQllfTE9DSyhtX3RyYW5zZm9ybWVyTG9jayk7CisgICAgYm9vbCBtX2lzVHJhbnNm
b3JtZXJJbml0aWFsaXplZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fdHJhbnNmb3JtZXJM
b2NrKSB7IGZhbHNlIH07CisgICAgV2Vha1B0cjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4gbV90
cmFuc2Zvcm1lciBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fdHJhbnNmb3JtZXJMb2NrKTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKaW5kZXggMTFiZDQ1ZGU5MTU1Nzc5ZmZjOWVmYjAzZTk1
NTI4ZjA1ZTY0ZDc0NC4uYWI5NzgwZjM1OGRhYWRjYWNkNWI5Y2U0MTFmODJiODkwNWNiZTliNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgKQEAg
LTkyLDEwICs5MiwxMCBAQCBwcml2YXRlOgogCiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+IG1fY2hhbm5lbDsKICAgICBMb2NrIG1fY2xpZW50TG9j
azsKLSAgICBib29sIG1faGFzQ2xpZW50IFdURl9HVUFSREVEX0JZX0xPQ0sobV9jbGllbnRMb2Nr
KSAgeyBmYWxzZSB9OwotICAgIFdlYWtQdHI8UlRDRGF0YUNoYW5uZWxIYW5kbGVyQ2xpZW50PiBt
X2NsaWVudCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2xpZW50TG9jaykgeyBudWxscHRyIH07Cisg
ICAgYm9vbCBtX2hhc0NsaWVudCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fY2xpZW50TG9j
aykgIHsgZmFsc2UgfTsKKyAgICBXZWFrUHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudD4g
bV9jbGllbnQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2NsaWVudExvY2spIHsgbnVsbHB0
ciB9OwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1fY29udGV4dElkZW50
aWZpZXI7Ci0gICAgUGVuZGluZ01lc3NhZ2VzIG1fYnVmZmVyZWRNZXNzYWdlcyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fY2xpZW50TG9jayk7CisgICAgUGVuZGluZ01lc3NhZ2VzIG1fYnVmZmVyZWRN
ZXNzYWdlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fY2xpZW50TG9jayk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLmgKaW5kZXggYjBhYzRjNzk1NzQwMjk2YzdhMGVlN2ZiMzUyNTUzODJm
NTZjNmE1Mi4uZjAwZjZjNjI3ZTg3Yzc2NmNkN2YzNzAzZmY1ZjNmZDg3ZDU5ZmI5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAtNzAs
MTAgKzcwLDEwIEBAIHByaXZhdGU6CiAgICAgU2lkZSBtX3NpZGU7CiAKICAgICBMb2NrIG1faW5w
dXRDYWxsYmFja0xvY2s7Ci0gICAgQ2FsbGJhY2sgbV9pbnB1dENhbGxiYWNrIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9pbnB1dENhbGxiYWNrTG9jayk7CisgICAgQ2FsbGJhY2sgbV9pbnB1dENhbGxi
YWNrIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9pbnB1dENhbGxiYWNrTG9jayk7CiAKICAg
ICBMb2NrIG1fb3V0cHV0Q2FsbGJhY2tMb2NrOwotICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4gbV9vdXRwdXRDYWxsYmFjayBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IG1fb3V0cHV0Q2FsbGJhY2sgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX291dHB1dENhbGxiYWNrTG9jayk7CiB9OwogCiBpbmxpbmUg
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZChNZWRpYVR5cGUgbWVkaWFUeXBlLCBTaWRlIHNpZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVT
b3VyY2VJbXBsLmgKaW5kZXggNTg0YjcxZGQ5ZjA2ODg1ODEwOWIxODAzMzc4NTU0YjZhY2FjZDkw
ZC4uN2RjMTc0NDM2OWM2YzQzYTgyMjQwYTVmMDhmMGMzYjYwYzdmMjBmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291
cmNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogICAg
IFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX3NvdXJjZTsKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQotICAgIFJlZlB0cjxBdWRpb1NhbXBsZURhdGFTb3VyY2U+IG1fZGF0YVNvdXJjZSBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fZGF0YVNvdXJjZUxvY2spOworICAgIFJlZlB0cjxBdWRpb1NhbXBsZURh
dGFTb3VyY2U+IG1fZGF0YVNvdXJjZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fZGF0YVNv
dXJjZUxvY2spOwogICAgIExvY2sgbV9kYXRhU291cmNlTG9jazsKICNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5oCmluZGV4IDZlZTFmODNiZTZiZGVmZWJlMWRjMTg3MWJhMjdlYTkwNDBjOTNmMGIuLjY4
OGE1NzBlNWUxODcyOWY3NDg2OTk1NmJlZGExYjQ2YmIxNGFmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaApA
QCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAgLy8gc2V0QnVmZmVyRm9yQmluZGluZ3MoKSBp
cyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLiBUaGlzIGlzIHRoZSBidWZmZXIgd2UgdXNlIGZv
ciBwbGF5YmFjay4KICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRCdWZmZXJGb3JCaW5kaW5ncyhS
ZWZQdHI8QXVkaW9CdWZmZXI+JiYpOwogCi0gICAgQXVkaW9CdWZmZXIqIGJ1ZmZlcigpIFdURl9S
RVFVSVJFU19MT0NLKG1fcHJvY2Vzc0xvY2spIHsgcmV0dXJuIG1fYnVmZmVyLmdldCgpOyB9Ci0g
ICAgTG9jayYgcHJvY2Vzc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1fcHJvY2Vzc0xvY2spIHsg
cmV0dXJuIG1fcHJvY2Vzc0xvY2s7IH0KKyAgICBBdWRpb0J1ZmZlciogYnVmZmVyKCkgV1RGX1JF
UVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jaykgeyByZXR1cm4gbV9idWZmZXIuZ2V0KCk7
IH0KKyAgICBMb2NrJiBwcm9jZXNzTG9jaygpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkobV9wcm9j
ZXNzTG9jaykgeyByZXR1cm4gbV9wcm9jZXNzTG9jazsgfQogCiAgICAgLy8gVGhpcyBmdW5jdGlv
biBkb2VzIG5vdCBsb2NrIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGJ1ZmZlciBhbmQgc2hvdWxkIHRo
ZXJlZm9yZSBvbmx5IGJlIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCiAgICAgQXVkaW9CdWZm
ZXIqIGJ1ZmZlckZvckJpbmRpbmdzKCkgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9BTkFMWVNJ
UyB7IEFTU0VSVChpc01haW5UaHJlYWQoKSk7IHJldHVybiBtX2J1ZmZlci5nZXQoKTsgfQpAQCAt
ODksMTYgKzg5LDE2IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gMDsgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc3RhcnRQbGF5aW5n
KGRvdWJsZSB3aGVuLCBkb3VibGUgZ3JhaW5PZmZzZXQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBn
cmFpbkR1cmF0aW9uKTsKLSAgICB2b2lkIGFkanVzdEdyYWluUGFyYW1ldGVycygpIFdURl9SRVFV
SVJFU19MT0NLKG1fcHJvY2Vzc0xvY2spOworICAgIHZvaWQgYWRqdXN0R3JhaW5QYXJhbWV0ZXJz
KCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKICAgICAvLyBSZXR1
cm5zIHRydWUgb24gc3VjY2Vzcy4KLSAgICBib29sIHJlbmRlckZyb21CdWZmZXIoQXVkaW9CdXMq
LCB1bnNpZ25lZCBkZXN0aW5hdGlvbkZyYW1lT2Zmc2V0LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMs
IGRvdWJsZSBzdGFydEZyYW1lT2Zmc2V0KSBXVEZfUkVRVUlSRVNfTE9DSyhtX3Byb2Nlc3NMb2Nr
KTsKKyAgICBib29sIHJlbmRlckZyb21CdWZmZXIoQXVkaW9CdXMqLCB1bnNpZ25lZCBkZXN0aW5h
dGlvbkZyYW1lT2Zmc2V0LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIGRvdWJsZSBzdGFydEZyYW1l
T2Zmc2V0KSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKIAogICAgIC8v
IFJlbmRlciBzaWxlbmNlIHN0YXJ0aW5nIGZyb20gImluZGV4IiBmcmFtZSBpbiBBdWRpb0J1cy4K
LSAgICBpbmxpbmUgYm9vbCByZW5kZXJTaWxlbmNlQW5kRmluaXNoSWZOb3RMb29waW5nKEF1ZGlv
QnVzKiwgdW5zaWduZWQgaW5kZXgsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIFdURl9SRVFVSVJF
U19MT0NLKG1fcHJvY2Vzc0xvY2spOworICAgIGlubGluZSBib29sIHJlbmRlclNpbGVuY2VBbmRG
aW5pc2hJZk5vdExvb3BpbmcoQXVkaW9CdXMqLCB1bnNpZ25lZCBpbmRleCwgc2l6ZV90IGZyYW1l
c1RvUHJvY2VzcykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKICAg
ICAvLyBtX2J1ZmZlciBob2xkcyB0aGUgc2FtcGxlIGRhdGEgd2hpY2ggdGhpcyBub2RlIG91dHB1
dHMuCi0gICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2J1ZmZlciBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fcHJvY2Vzc0xvY2spOyAvLyBPbmx5IG1vZGlmaWVkIG9uIHRoZSBtYWluIHRocmVhZCBidXQg
dXNlZCBvbiB0aGUgYXVkaW8gdGhyZWFkLgorICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9idWZm
ZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsgLy8gT25seSBtb2Rp
ZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQgYnV0IHVzZWQgb24gdGhlIGF1ZGlvIHRocmVhZC4KIAog
ICAgIC8vIFBvaW50ZXJzIGZvciB0aGUgYnVmZmVyIGFuZCBkZXN0aW5hdGlvbi4KICAgICBVbmlx
dWVBcnJheTxjb25zdCBmbG9hdCo+IG1fc291cmNlQ2hhbm5lbHM7CkBAIC0xMDksMjYgKzEwOSwy
NiBAQCBwcml2YXRlOgogCiAgICAgLy8gSWYgbV9pc0xvb3BpbmcgaXMgZmFsc2UsIHRoZW4gdGhp
cyBub2RlIHdpbGwgYmUgZG9uZSBwbGF5aW5nIGFuZCBiZWNvbWUgaW5hY3RpdmUgYWZ0ZXIgaXQg
cmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBzYW1wbGUgZGF0YSBpbiB0aGUgYnVmZmVyLgogICAgIC8v
IElmIHRydWUsIGl0IHdpbGwgd3JhcCBhcm91bmQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBidWZmZXIg
ZWFjaCB0aW1lIGl0IHJlYWNoZXMgdGhlIGVuZC4KLSAgICBib29sIG1faXNMb29waW5nIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9wcm9jZXNzTG9jaykgeyBmYWxzZSB9OyAvLyBPbmx5IG1vZGlmaWVk
IG9uIHRoZSBtYWluIHRocmVhZCBidXQgcXVlcmllZCBvbiB0aGUgYXVkaW8gdGhyZWFkLgorICAg
IGJvb2wgbV9pc0xvb3BpbmcgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2Nr
KSB7IGZhbHNlIH07IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIG1haW4gdGhyZWFkIGJ1dCBxdWVy
aWVkIG9uIHRoZSBhdWRpbyB0aHJlYWQuCiAKICAgICBib29sIG1fd2FzQnVmZmVyU2V0IHsgZmFs
c2UgfTsKIAotICAgIGRvdWJsZSBtX2xvb3BTdGFydCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcHJv
Y2Vzc0xvY2spIHsgMCB9OyAvLyBPbmx5IG1vZGlmaWVkIG9uIHRoZSBtYWluIHRocmVhZCBidXQg
cXVlcmllZCBvbiB0aGUgYXVkaW8gdGhyZWFkLgotICAgIGRvdWJsZSBtX2xvb3BFbmQgV1RGX0dV
QVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKSB7IDAgfTsgLy8gT25seSBtb2RpZmllZCBvbiB0
aGUgbWFpbiB0aHJlYWQgYnV0IHF1ZXJpZWQgb24gdGhlIGF1ZGlvIHRocmVhZC4KKyAgICBkb3Vi
bGUgbV9sb29wU3RhcnQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKSB7
IDAgfTsgLy8gT25seSBtb2RpZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQgYnV0IHF1ZXJpZWQgb24g
dGhlIGF1ZGlvIHRocmVhZC4KKyAgICBkb3VibGUgbV9sb29wRW5kIFdURl9HVUFSREVEX0JZX0NB
UEFCSUxJVFkobV9wcm9jZXNzTG9jaykgeyAwIH07IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIG1h
aW4gdGhyZWFkIGJ1dCBxdWVyaWVkIG9uIHRoZSBhdWRpbyB0aHJlYWQuCiAKICAgICAvLyBtX3Zp
cnR1YWxSZWFkSW5kZXggaXMgYSBzYW1wbGUtZnJhbWUgaW5kZXggaW50byBvdXIgYnVmZmVyIHJl
cHJlc2VudGluZyB0aGUgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbi4KICAgICAvLyBTaW5jZSBp
dCdzIGZsb2F0aW5nLXBvaW50LCBpdCBoYXMgc3ViLXNhbXBsZSBhY2N1cmFjeS4KICAgICBkb3Vi
bGUgbV92aXJ0dWFsUmVhZEluZGV4IHsgMCB9OwogCiAgICAgLy8gR3JhbnVsYXIgcGxheWJhY2sK
LSAgICBib29sIG1faXNHcmFpbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcHJvY2Vzc0xvY2spIHsg
ZmFsc2UgfTsKLSAgICBkb3VibGUgbV9ncmFpbk9mZnNldCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
cHJvY2Vzc0xvY2spIHsgMCB9OyAvLyBpbiBzZWNvbmRzCi0gICAgZG91YmxlIG1fZ3JhaW5EdXJh
dGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcHJvY2Vzc0xvY2spOyAvLyBpbiBzZWNvbmRzCi0g
ICAgZG91YmxlIG1fd2FzR3JhaW5EdXJhdGlvbkdpdmVuIFdURl9HVUFSREVEX0JZX0xPQ0sobV9w
cm9jZXNzTG9jaykgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0dyYWluIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jaykgeyBmYWxzZSB9OworICAgIGRvdWJsZSBtX2dyYWlu
T2Zmc2V0IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jaykgeyAwIH07IC8v
IGluIHNlY29uZHMKKyAgICBkb3VibGUgbV9ncmFpbkR1cmF0aW9uIFdURl9HVUFSREVEX0JZX0NB
UEFCSUxJVFkobV9wcm9jZXNzTG9jayk7IC8vIGluIHNlY29uZHMKKyAgICBkb3VibGUgbV93YXNH
cmFpbkR1cmF0aW9uR2l2ZW4gV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2Nr
KSB7IGZhbHNlIH07CiAKICAgICAvLyB0b3RhbFBpdGNoUmF0ZSgpIHJldHVybnMgdGhlIGluc3Rh
bnRhbmVvdXMgcGl0Y2ggcmF0ZSAobm9uLXRpbWUgcHJlc2VydmluZykuCiAgICAgLy8gSXQgaW5j
b3Jwb3JhdGVzIHRoZSBiYXNlIHBpdGNoIHJhdGUsIGFueSBzYW1wbGUtcmF0ZSBjb252ZXJzaW9u
IGZhY3RvciBmcm9tIHRoZSBidWZmZXIuCi0gICAgZG91YmxlIHRvdGFsUGl0Y2hSYXRlKCkgV1RG
X1JFUVVJUkVTX0xPQ0sobV9wcm9jZXNzTG9jayk7CisgICAgZG91YmxlIHRvdGFsUGl0Y2hSYXRl
KCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKICAgICAvLyBUaGlz
IHN5bmNocm9uaXplcyBwcm9jZXNzKCkgd2l0aCBzZXRCdWZmZXIoKSB3aGljaCBjYW4gY2F1c2Ug
ZHluYW1pYyBjaGFubmVsIGNvdW50IGNoYW5nZXMuCiAgICAgbXV0YWJsZSBMb2NrIG1fcHJvY2Vz
c0xvY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
UGFyYW1UaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1Bh
cmFtVGltZWxpbmUuaAppbmRleCBhNWVhNmMwNTdhNjY4Y2YwMGEwMDBjMzQ3ZGQzNzc1MDE1NDk4
MGEzLi4yYjliZWFjYTZkZjUxM2IwOGJkNjA2NGQ1NTg5NTE0YWQzNjI3MjhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmgK
QEAgLTE4OSwxMCArMTg5LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGNvbnN0IGludCBldmVudElu
ZGV4OwogICAgIH07CiAKLSAgICB2b2lkIHJlbW92ZUNhbmNlbGxlZEV2ZW50cyhzaXplX3QgZmly
c3RFdmVudFRvUmVtb3ZlKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2V2ZW50c0xvY2spOwotICAgIHZv
aWQgcmVtb3ZlT2xkRXZlbnRzKHNpemVfdCBldmVudENvdW50KSBXVEZfUkVRVUlSRVNfTE9DSyht
X2V2ZW50c0xvY2spOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGluc2VydEV2ZW50KFBhcmFtRXZl
bnQmJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9ldmVudHNMb2NrKTsKLSAgICBmbG9hdCB2YWx1ZXNG
b3JGcmFtZVJhbmdlSW1wbChzaXplX3Qgc3RhcnRGcmFtZSwgc2l6ZV90IGVuZEZyYW1lLCBmbG9h
dCBkZWZhdWx0VmFsdWUsIGZsb2F0KiB2YWx1ZXMsIHVuc2lnbmVkIG51bWJlck9mVmFsdWVzLCBk
b3VibGUgc2FtcGxlUmF0ZSwgZG91YmxlIGNvbnRyb2xSYXRlKSBXVEZfUkVRVUlSRVNfTE9DSyht
X2V2ZW50c0xvY2spOworICAgIHZvaWQgcmVtb3ZlQ2FuY2VsbGVkRXZlbnRzKHNpemVfdCBmaXJz
dEV2ZW50VG9SZW1vdmUpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZXZlbnRzTG9jayk7Cisg
ICAgdm9pZCByZW1vdmVPbGRFdmVudHMoc2l6ZV90IGV2ZW50Q291bnQpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKG1fZXZlbnRzTG9jayk7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gaW5zZXJ0RXZl
bnQoUGFyYW1FdmVudCYmKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2V2ZW50c0xvY2spOwor
ICAgIGZsb2F0IHZhbHVlc0ZvckZyYW1lUmFuZ2VJbXBsKHNpemVfdCBzdGFydEZyYW1lLCBzaXpl
X3QgZW5kRnJhbWUsIGZsb2F0IGRlZmF1bHRWYWx1ZSwgZmxvYXQqIHZhbHVlcywgdW5zaWduZWQg
bnVtYmVyT2ZWYWx1ZXMsIGRvdWJsZSBzYW1wbGVSYXRlLCBkb3VibGUgY29udHJvbFJhdGUpIFdU
Rl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZXZlbnRzTG9jayk7CiAgICAgZmxvYXQgbGluZWFyUmFt
cEF0VGltZShTZWNvbmRzIHQsIGZsb2F0IHZhbHVlMSwgU2Vjb25kcyB0aW1lMSwgZmxvYXQgdmFs
dWUyLCBTZWNvbmRzIHRpbWUyKTsKICAgICBmbG9hdCBleHBvbmVudGlhbFJhbXBBdFRpbWUoU2Vj
b25kcyB0LCBmbG9hdCB2YWx1ZTEsIFNlY29uZHMgdGltZTEsIGZsb2F0IHZhbHVlMiwgU2Vjb25k
cyB0aW1lMik7CiAgICAgZmxvYXQgdmFsdWVDdXJ2ZUF0VGltZShTZWNvbmRzIHQsIFNlY29uZHMg
dGltZTEsIFNlY29uZHMgZHVyYXRpb24sIGNvbnN0IGZsb2F0KiBjdXJ2ZURhdGEsIHNpemVfdCBj
dXJ2ZUxlbmd0aCk7CkBAIC0yMDEsMTIgKzIwMSwxMiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBw
cm9jZXNzTGluZWFyUmFtcChjb25zdCBBdXRvbWF0aW9uU3RhdGUmLCBmbG9hdCogdmFsdWVzLCBz
aXplX3QmIGN1cnJlbnRGcmFtZSwgZmxvYXQmIHZhbHVlLCB1bnNpZ25lZCYgd3JpdGVJbmRleCk7
CiAgICAgdm9pZCBwcm9jZXNzRXhwb25lbnRpYWxSYW1wKGNvbnN0IEF1dG9tYXRpb25TdGF0ZSYs
IGZsb2F0KiB2YWx1ZXMsIHNpemVfdCYgY3VycmVudEZyYW1lLCBmbG9hdCYgdmFsdWUsIHVuc2ln
bmVkJiB3cml0ZUluZGV4KTsKLSAgICB2b2lkIHByb2Nlc3NDYW5jZWxWYWx1ZXMoY29uc3QgQXV0
b21hdGlvblN0YXRlJiwgZmxvYXQqIHZhbHVlcywgc2l6ZV90JiBjdXJyZW50RnJhbWUsIGZsb2F0
JiB2YWx1ZSwgdW5zaWduZWQmIHdyaXRlSW5kZXgpIFdURl9SRVFVSVJFU19MT0NLKG1fZXZlbnRz
TG9jayk7CisgICAgdm9pZCBwcm9jZXNzQ2FuY2VsVmFsdWVzKGNvbnN0IEF1dG9tYXRpb25TdGF0
ZSYsIGZsb2F0KiB2YWx1ZXMsIHNpemVfdCYgY3VycmVudEZyYW1lLCBmbG9hdCYgdmFsdWUsIHVu
c2lnbmVkJiB3cml0ZUluZGV4KSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2V2ZW50c0xvY2sp
OwogICAgIHZvaWQgcHJvY2Vzc1NldFRhcmdldChjb25zdCBBdXRvbWF0aW9uU3RhdGUmLCBmbG9h
dCogdmFsdWVzLCBzaXplX3QmIGN1cnJlbnRGcmFtZSwgZmxvYXQmIHZhbHVlLCB1bnNpZ25lZCYg
d3JpdGVJbmRleCk7CiAgICAgdm9pZCBwcm9jZXNzU2V0VmFsdWVDdXJ2ZShjb25zdCBBdXRvbWF0
aW9uU3RhdGUmLCBmbG9hdCogdmFsdWVzLCBzaXplX3QmIGN1cnJlbnRGcmFtZSwgZmxvYXQmIHZh
bHVlLCB1bnNpZ25lZCYgd3JpdGVJbmRleCk7Ci0gICAgdm9pZCBwcm9jZXNzU2V0VGFyZ2V0Rm9s
bG93ZWRCeVJhbXAoaW50IGV2ZW50SW5kZXgsIFBhcmFtRXZlbnQqJiwgUGFyYW1FdmVudDo6VHlw
ZSBuZXh0RXZlbnRUeXBlLCBzaXplX3QgY3VycmVudEZyYW1lLCBkb3VibGUgc2FtcGxpbmdQZXJp
b2QsIGRvdWJsZSBjb250cm9sUmF0ZSwgZmxvYXQmIHZhbHVlKSBXVEZfUkVRVUlSRVNfTE9DSyht
X2V2ZW50c0xvY2spOworICAgIHZvaWQgcHJvY2Vzc1NldFRhcmdldEZvbGxvd2VkQnlSYW1wKGlu
dCBldmVudEluZGV4LCBQYXJhbUV2ZW50KiYsIFBhcmFtRXZlbnQ6OlR5cGUgbmV4dEV2ZW50VHlw
ZSwgc2l6ZV90IGN1cnJlbnRGcmFtZSwgZG91YmxlIHNhbXBsaW5nUGVyaW9kLCBkb3VibGUgY29u
dHJvbFJhdGUsIGZsb2F0JiB2YWx1ZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9ldmVudHNM
b2NrKTsKIAotICAgIFZlY3RvcjxQYXJhbUV2ZW50PiBtX2V2ZW50cyBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fZXZlbnRzTG9jayk7CisgICAgVmVjdG9yPFBhcmFtRXZlbnQ+IG1fZXZlbnRzIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV9ldmVudHNMb2NrKTsKIAogICAgIG11dGFibGUgTG9jayBt
X2V2ZW50c0xvY2s7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb1dvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1dvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGY4MjJlMmI4MzExNGZiNDA3
NDYwYjI0ODBjYmY0ZDY2NDJjNjAzZWEuLmVjY2U2OWQ3ODgzZDczNjM3ZmMxMDAwMjFiNGRiZTc0
MzYzMzgyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Xb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToK
ICAgICBjb25zdCBmbG9hdCBtX3NhbXBsZVJhdGU7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0
cjxKU0F1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0cnVjdG9yPj4gbV9wcm9jZXNzb3JDb25zdHJ1
Y3Rvck1hcDsKICAgICBMb2NrIG1fcHJvY2Vzc29yc0xvY2s7Ci0gICAgV2Vha0hhc2hTZXQ8QXVk
aW9Xb3JrbGV0UHJvY2Vzc29yLCBXVEY6OkVtcHR5Q291bnRlciwgRW5hYmxlV2Vha1B0clRocmVh
ZGluZ0Fzc2VydGlvbnM6Ok5vPiBtX3Byb2Nlc3NvcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3By
b2Nlc3NvcnNMb2NrKTsKKyAgICBXZWFrSGFzaFNldDxBdWRpb1dvcmtsZXRQcm9jZXNzb3IsIFdU
Rjo6RW1wdHlDb3VudGVyLCBFbmFibGVXZWFrUHRyVGhyZWFkaW5nQXNzZXJ0aW9uczo6Tm8+IG1f
cHJvY2Vzc29ycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcHJvY2Vzc29yc0xvY2spOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3Rpb25EYXRh
PiBtX3BlbmRpbmdQcm9jZXNzb3JDb25zdHJ1Y3Rpb25EYXRhOwogICAgIHN0ZDo6b3B0aW9uYWw8
SlNDOjpKU0xvY2tIb2xkZXI+IG1fbG9ja0R1cmluZ1JlbmRlcmluZzsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5oCmluZGV4IDNjYTUwYmYy
ZWM5MDBiNTQxNzdkZWRiNWRiZTg3Mzk1ODI5NTVhZDQuLjY5Nzk0YTRkNjdhYzZmNDBmODIxNTcz
MDE3NzYzZjI3NGRjZjY1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQ29udm9sdmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQ29udm9sdmVyTm9kZS5oCkBAIC02MCw4ICs2MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBw
cm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpIGZpbmFsOwogICAgIHZvaWQgY2hlY2tOdW1i
ZXJPZkNoYW5uZWxzRm9ySW5wdXQoQXVkaW9Ob2RlSW5wdXQqKSBmaW5hbDsKIAotICAgIHN0ZDo6
dW5pcXVlX3B0cjxSZXZlcmI+IG1fcmV2ZXJiIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wcm9jZXNz
TG9jayk7IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIG1haW4gdGhyZWFkIGJ1dCBhY2Nlc3NlZCBv
biB0aGUgYXVkaW8gdGhyZWFkLgotICAgIFJlZlB0cjxBdWRpb0J1ZmZlcj4gbV9idWZmZXIgV1RG
X0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsgLy8gT25seSBtb2RpZmllZCBvbiB0aGUg
bWFpbiB0aHJlYWQgYnV0IGFjY2Vzc2VkIG9uIHRoZSBhdWRpbyB0aHJlYWQuCisgICAgc3RkOjp1
bmlxdWVfcHRyPFJldmVyYj4gbV9yZXZlcmIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3By
b2Nlc3NMb2NrKTsgLy8gT25seSBtb2RpZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQgYnV0IGFjY2Vz
c2VkIG9uIHRoZSBhdWRpbyB0aHJlYWQuCisgICAgUmVmUHRyPEF1ZGlvQnVmZmVyPiBtX2J1ZmZl
ciBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spOyAvLyBPbmx5IG1vZGlm
aWVkIG9uIHRoZSBtYWluIHRocmVhZCBidXQgYWNjZXNzZWQgb24gdGhlIGF1ZGlvIHRocmVhZC4K
IAogICAgIC8vIFRoaXMgc3luY2hyb25pemVzIGR5bmFtaWMgY2hhbmdlcyB0byB0aGUgY29udm9s
dXRpb24gaW1wdWxzZSByZXNwb25zZSB3aXRoIHByb2Nlc3MoKS4KICAgICBtdXRhYmxlIExvY2sg
bV9wcm9jZXNzTG9jazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCmluZGV4IDc3YmMzOTYwNDBi
NWYwNzIyN2FkNWY2OWY1NjQ0MGM3ZDZmZDJkYzAuLjBlZGY5ZDc0NTUzYTQzMDU1NzRlNzcwMWM0
NmQ3YTgxOTdkNGVmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaApAQCAtNTQsNyArNTQs
NyBAQCBwdWJsaWM6CiAgICAgLy8gQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudAogICAgIHZvaWQg
c2V0Rm9ybWF0KHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBmbG9hdCBzYW1wbGVSYXRlKSBvdmVy
cmlkZTsKIAotICAgIExvY2smIHByb2Nlc3NMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX3Byb2Nl
c3NMb2NrKSB7IHJldHVybiBtX3Byb2Nlc3NMb2NrOyB9CisgICAgTG9jayYgcHJvY2Vzc0xvY2so
KSBXVEZfUkVUVVJOU19DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spIHsgcmV0dXJuIG1fcHJvY2Vz
c0xvY2s7IH0KIAogcHJpdmF0ZToKICAgICBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUoQmFz
ZUF1ZGlvQ29udGV4dCYsIFJlZjxIVE1MTWVkaWFFbGVtZW50PiYmKTsKQEAgLTcyLDExICs3Miwx
MSBAQCBwcml2YXRlOgogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBtX21lZGlhRWxlbWVudDsK
ICAgICBMb2NrIG1fcHJvY2Vzc0xvY2s7CiAKLSAgICB1bnNpZ25lZCBtX3NvdXJjZU51bWJlck9m
Q2hhbm5lbHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKSB7IDAgfTsKLSAgICBk
b3VibGUgbV9zb3VyY2VTYW1wbGVSYXRlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wcm9jZXNzTG9j
aykgeyAwIH07Ci0gICAgYm9vbCBtX211dGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wcm9jZXNz
TG9jaykgeyBmYWxzZSB9OworICAgIHVuc2lnbmVkIG1fc291cmNlTnVtYmVyT2ZDaGFubmVscyBX
VEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spIHsgMCB9OworICAgIGRvdWJs
ZSBtX3NvdXJjZVNhbXBsZVJhdGUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NM
b2NrKSB7IDAgfTsKKyAgICBib29sIG1fbXV0ZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X3Byb2Nlc3NMb2NrKSB7IGZhbHNlIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8TXVsdGlDaGFu
bmVsUmVzYW1wbGVyPiBtX211bHRpQ2hhbm5lbFJlc2FtcGxlciBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fcHJvY2Vzc0xvY2spOworICAgIHN0ZDo6dW5pcXVlX3B0cjxNdWx0aUNoYW5uZWxSZXNhbXBs
ZXI+IG1fbXVsdGlDaGFubmVsUmVzYW1wbGVyIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9w
cm9jZXNzTG9jayk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlLmgKaW5kZXggODM2NzIyNWZkZTdjNGRjYmIzYzE2ZDBiMzM4NjM4ZmM4NmRmZWRmMC4u
ZGIzNjYyNWJkNjc2ZWE0M2M5OTBlZGMxOGUzYzBmN2JjZjFkZWQyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuaApAQCAtNjcsMTIgKzY3LDEyIEBAIHByaXZhdGU6CiAKICAgICBSZWY8TWVkaWFT
dHJlYW0+IG1fbWVkaWFTdHJlYW07CiAgICAgUmVmPFdlYkF1ZGlvU291cmNlUHJvdmlkZXI+IG1f
cHJvdmlkZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPE11bHRpQ2hhbm5lbFJlc2FtcGxlcj4gbV9t
dWx0aUNoYW5uZWxSZXNhbXBsZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8TXVsdGlDaGFubmVsUmVzYW1wbGVyPiBtX211bHRpQ2hhbm5l
bFJlc2FtcGxlciBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spOwogCiAg
ICAgTG9jayBtX3Byb2Nlc3NMb2NrOwogCi0gICAgdW5zaWduZWQgbV9zb3VyY2VOdW1iZXJPZkNo
YW5uZWxzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wcm9jZXNzTG9jaykgeyAwIH07Ci0gICAgZG91
YmxlIG1fc291cmNlU2FtcGxlUmF0ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcHJvY2Vzc0xvY2sp
IHsgMCB9OworICAgIHVuc2lnbmVkIG1fc291cmNlTnVtYmVyT2ZDaGFubmVscyBXVEZfR1VBUkRF
RF9CWV9DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spIHsgMCB9OworICAgIGRvdWJsZSBtX3NvdXJj
ZVNhbXBsZVJhdGUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKSB7IDAg
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuaAppbmRleCAyZDg4OTQwMmUzOWRiOGJlMDgx
YjVmYWRlZWQ5MmUyODk4M2I5N2M1Li4wOTU4ODI4MzdmYjg3ZTkzZWEwNjc0NDMzNjQ1NDAyNzA5
MDA1MzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2ls
bGF0b3JOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxh
dG9yTm9kZS5oCkBAIC02MSwxMCArNjEsMTAgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbGF0ZW5j
eVRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAKICAgICAvLyBSZXR1cm5zIHRydWUg
aWYgdGhlcmUgYXJlIHNhbXBsZS1hY2N1cmF0ZSB0aW1lbGluZSBwYXJhbWV0ZXIgY2hhbmdlcy4K
LSAgICBib29sIGNhbGN1bGF0ZVNhbXBsZUFjY3VyYXRlUGhhc2VJbmNyZW1lbnRzKHNpemVfdCBm
cmFtZXNUb1Byb2Nlc3MpIFdURl9SRVFVSVJFU19MT0NLKG1fcHJvY2Vzc0xvY2spOworICAgIGJv
b2wgY2FsY3VsYXRlU2FtcGxlQWNjdXJhdGVQaGFzZUluY3JlbWVudHMoc2l6ZV90IGZyYW1lc1Rv
UHJvY2VzcykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKLSAgICBk
b3VibGUgcHJvY2Vzc0FSYXRlKGludCwgZmxvYXQqIGRlc3RQLCBkb3VibGUgdmlydHVhbFJlYWRJ
bmRleCwgZmxvYXQqIHBoYXNlSW5jcmVtZW50cykgV1RGX1JFUVVJUkVTX0xPQ0sobV9wcm9jZXNz
TG9jayk7Ci0gICAgZG91YmxlIHByb2Nlc3NLUmF0ZShpbnQsIGZsb2F0KiBkZXN0UCwgZG91Ymxl
IHZpcnR1YWxSZWFkSW5kZXgpIFdURl9SRVFVSVJFU19MT0NLKG1fcHJvY2Vzc0xvY2spOworICAg
IGRvdWJsZSBwcm9jZXNzQVJhdGUoaW50LCBmbG9hdCogZGVzdFAsIGRvdWJsZSB2aXJ0dWFsUmVh
ZEluZGV4LCBmbG9hdCogcGhhc2VJbmNyZW1lbnRzKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSht
X3Byb2Nlc3NMb2NrKTsKKyAgICBkb3VibGUgcHJvY2Vzc0tSYXRlKGludCwgZmxvYXQqIGRlc3RQ
LCBkb3VibGUgdmlydHVhbFJlYWRJbmRleCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9j
ZXNzTG9jayk7CiAKICAgICBib29sIHByb3BhZ2F0ZXNTaWxlbmNlKCkgY29uc3QgZmluYWw7CiAK
QEAgLTkwLDcgKzkwLDcgQEAgcHJpdmF0ZToKICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9waGFzZUlu
Y3JlbWVudHM7CiAgICAgQXVkaW9GbG9hdEFycmF5IG1fZGV0dW5lVmFsdWVzOwogICAgIAotICAg
IFJlZlB0cjxQZXJpb2RpY1dhdmU+IG1fcGVyaW9kaWNXYXZlIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9wcm9jZXNzTG9jayk7CisgICAgUmVmUHRyPFBlcmlvZGljV2F2ZT4gbV9wZXJpb2RpY1dhdmUg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKIH07CiAKIFN0cmluZyBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhPc2NpbGxhdG9yVHlwZSk7IC8vIEluIEpTT3NjaWxs
YXRvck5vZGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1Bhbm5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5oCmluZGV4IGM1NTNmOTVmMGQ5YjhjNDUwYzAwODEyNTMzM2U0YzA2ZDA4YWVjZWQuLmJiNzdl
OTZiNDZmZTgxZTE3YzZmNjNmZDJjMTk5ODZlNGZmYWQwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCkBAIC0xMjEsNDAgKzEyMSw0MCBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBmbG9hdCBjYWxjdWxhdGVEaXN0YW5jZUNvbmVHYWluKGNvbnN0IEZs
b2F0UG9pbnQzRCYgcG9zaXRpb24sIGNvbnN0IEZsb2F0UG9pbnQzRCYgb3JpZW50YXRpb24sIGNv
bnN0IEZsb2F0UG9pbnQzRCYgbGlzdGVuZXJQb3NpdGlvbiwgY29uc3QgRGlzdGFuY2VFZmZlY3Qm
LCBjb25zdCBDb25lRWZmZWN0Jik7CiAKICAgICAvLyBSZXR1cm5zIHRoZSBjb21iaW5lZCBkaXN0
YW5jZSBhbmQgY29uZSBnYWluIGF0dGVudWF0aW9uLgotICAgIGZsb2F0IGRpc3RhbmNlQ29uZUdh
aW4oKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAgICBmbG9hdCBkaXN0YW5j
ZUNvbmVHYWluKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKICAg
ICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQg
aW52YWxpZGF0ZUNhY2hlZFByb3BlcnRpZXNJZk5lY2Vzc2FyeSgpIFdURl9SRVFVSVJFU19MT0NL
KG1fcHJvY2Vzc0xvY2spOworICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeSgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2spOwogCi0gICAg
Y29uc3QgQXppbXV0aEVsZXZhdGlvbiYgYXppbXV0aEVsZXZhdGlvbigpIFdURl9SRVFVSVJFU19M
T0NLKG1fcHJvY2Vzc0xvY2spOwotICAgIHZvaWQgcHJvY2Vzc1NhbXBsZUFjY3VyYXRlVmFsdWVz
KEF1ZGlvQnVzKiBkZXN0aW5hdGlvbiwgY29uc3QgQXVkaW9CdXMqIHNvdXJjZSwgc2l6ZV90IGZy
YW1lc1RvUHJvY2VzcykgV1RGX1JFUVVJUkVTX0xPQ0sobV9wcm9jZXNzTG9jayk7Ci0gICAgYm9v
bCBoYXNTYW1wbGVBY2N1cmF0ZVZhbHVlcygpIGNvbnN0IFdURl9SRVFVSVJFU19MT0NLKG1fcHJv
Y2Vzc0xvY2spOwotICAgIGJvb2wgc2hvdWxkVXNlQVJhdGUoKSBjb25zdCBXVEZfUkVRVUlSRVNf
TE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAgICBjb25zdCBBemltdXRoRWxldmF0aW9uJiBhemltdXRo
RWxldmF0aW9uKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CisgICAg
dm9pZCBwcm9jZXNzU2FtcGxlQWNjdXJhdGVWYWx1ZXMoQXVkaW9CdXMqIGRlc3RpbmF0aW9uLCBj
b25zdCBBdWRpb0J1cyogc291cmNlLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKyAgICBib29sIGhhc1NhbXBsZUFjY3VyYXRl
VmFsdWVzKCkgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7Cisg
ICAgYm9vbCBzaG91bGRVc2VBUmF0ZSgpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1f
cHJvY2Vzc0xvY2spOwogCi0gICAgRmxvYXRQb2ludDNEIHBvc2l0aW9uKCkgY29uc3QgV1RGX1JF
UVVJUkVTX0xPQ0sobV9wcm9jZXNzTG9jayk7Ci0gICAgRmxvYXRQb2ludDNEIG9yaWVudGF0aW9u
KCkgY29uc3QgV1RGX1JFUVVJUkVTX0xPQ0sobV9wcm9jZXNzTG9jayk7CisgICAgRmxvYXRQb2lu
dDNEIHBvc2l0aW9uKCkgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9j
ayk7CisgICAgRmxvYXRQb2ludDNEIG9yaWVudGF0aW9uKCkgY29uc3QgV1RGX1JFUVVJUkVTX0NB
UEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKICAgICBSZWY8SFJURkRhdGFiYXNlTG9hZGVyPiBt
X2hydGZEYXRhYmFzZUxvYWRlcjsKLSAgICBQYW5uaW5nTW9kZWxUeXBlIG1fcGFubmluZ01vZGVs
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9wcm9jZXNzTG9jayk7Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PFBhbm5lcj4gbV9wYW5uZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAg
ICBQYW5uaW5nTW9kZWxUeXBlIG1fcGFubmluZ01vZGVsIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJ
VFkobV9wcm9jZXNzTG9jayk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBhbm5lcj4gbV9wYW5uZXIg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKIAogICAgIC8vIEdhaW4K
LSAgICBEaXN0YW5jZUVmZmVjdCBtX2Rpc3RhbmNlRWZmZWN0IFdURl9HVUFSREVEX0JZX0xPQ0so
bV9wcm9jZXNzTG9jayk7Ci0gICAgQ29uZUVmZmVjdCBtX2NvbmVFZmZlY3QgV1RGX0dVQVJERURf
QllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAgICBEaXN0YW5jZUVmZmVjdCBtX2Rpc3RhbmNlRWZm
ZWN0IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CisgICAgQ29uZUVm
ZmVjdCBtX2NvbmVFZmZlY3QgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2Nr
KTsKICAgICAKLSAgICBSZWY8QXVkaW9QYXJhbT4gbV9wb3NpdGlvblggV1RGX0dVQVJERURfQllf
TE9DSyhtX3Byb2Nlc3NMb2NrKTsKLSAgICBSZWY8QXVkaW9QYXJhbT4gbV9wb3NpdGlvblkgV1RG
X0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKLSAgICBSZWY8QXVkaW9QYXJhbT4gbV9w
b3NpdGlvblogV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAgICBSZWY8QXVk
aW9QYXJhbT4gbV9wb3NpdGlvblggV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NM
b2NrKTsKKyAgICBSZWY8QXVkaW9QYXJhbT4gbV9wb3NpdGlvblkgV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKyAgICBSZWY8QXVkaW9QYXJhbT4gbV9wb3NpdGlvblog
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKICAgICAKLSAgICBSZWY8
QXVkaW9QYXJhbT4gbV9vcmllbnRhdGlvblggV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NM
b2NrKTsKLSAgICBSZWY8QXVkaW9QYXJhbT4gbV9vcmllbnRhdGlvblkgV1RGX0dVQVJERURfQllf
TE9DSyhtX3Byb2Nlc3NMb2NrKTsKLSAgICBSZWY8QXVkaW9QYXJhbT4gbV9vcmllbnRhdGlvblog
V1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKLQotICAgIG11dGFibGUgc3RkOjpv
cHRpb25hbDxBemltdXRoRWxldmF0aW9uPiBtX2NhY2hlZEF6aW11dGhFbGV2YXRpb24gV1RGX0dV
QVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKLSAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8
ZmxvYXQ+IG1fY2FjaGVkQ29uZUdhaW4gV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2Nr
KTsKLSAgICBGbG9hdFBvaW50M0QgbV9sYXN0UG9zaXRpb24gV1RGX0dVQVJERURfQllfTE9DSyht
X3Byb2Nlc3NMb2NrKTsKLSAgICBGbG9hdFBvaW50M0QgbV9sYXN0T3JpZW50YXRpb24gV1RGX0dV
QVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKTsKKyAgICBSZWY8QXVkaW9QYXJhbT4gbV9vcmll
bnRhdGlvblggV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKyAgICBS
ZWY8QXVkaW9QYXJhbT4gbV9vcmllbnRhdGlvblkgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X3Byb2Nlc3NMb2NrKTsKKyAgICBSZWY8QXVkaW9QYXJhbT4gbV9vcmllbnRhdGlvblogV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKworICAgIG11dGFibGUgc3RkOjpv
cHRpb25hbDxBemltdXRoRWxldmF0aW9uPiBtX2NhY2hlZEF6aW11dGhFbGV2YXRpb24gV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKyAgICBtdXRhYmxlIHN0ZDo6b3B0
aW9uYWw8ZmxvYXQ+IG1fY2FjaGVkQ29uZUdhaW4gV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X3Byb2Nlc3NMb2NrKTsKKyAgICBGbG9hdFBvaW50M0QgbV9sYXN0UG9zaXRpb24gV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKKyAgICBGbG9hdFBvaW50M0QgbV9sYXN0
T3JpZW50YXRpb24gV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3Byb2Nlc3NMb2NrKTsKIAog
ICAgIC8vIFN5bmNocm9uaXplIHByb2Nlc3MoKSB3aXRoIHNldHRpbmcgb2YgdGhlIHBhbm5pbmcg
bW9kZWwsIHNvdXJjZSdzIGxvY2F0aW9uCiAgICAgLy8gaW5mb3JtYXRpb24sIGxpc3RlbmVyLCBk
aXN0YW5jZSBwYXJhbWV0ZXJzIGFuZCBzb3VuZCBjb25lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmgKaW5kZXggMWQ5ZTk3
MmE2Y2FjNjU3ZjZjZWM1ZjRkN2VmN2RlNzU2YzM3MWM5NC4uOTZjZDNkMGYyY2U2ZTZjYjBiMGY0
ZjlhODcyZjUwZTg1MDVlMWMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vzc29yLmgKQEAgLTU0LDE5ICs1NCwxOSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNldEN1cnZlRm9yQmluZGluZ3MoRmxvYXQzMkFycmF5Kik7CiAgICAg
RmxvYXQzMkFycmF5KiBjdXJ2ZUZvckJpbmRpbmdzKCkgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVU
WV9BTkFMWVNJUyB7IEFTU0VSVChpc01haW5UaHJlYWQoKSk7IHJldHVybiBtX2N1cnZlLmdldCgp
OyB9IC8vIERvZXNuJ3QgZ3JhYiB0aGUgbG9jaywgb25seSBzYWZlIHRvIGNhbGwgb24gdGhlIG1h
aW4gdGhyZWFkLgotICAgIEZsb2F0MzJBcnJheSogY3VydmUoKSBjb25zdCBXVEZfUkVRVUlSRVNf
TE9DSyhtX3Byb2Nlc3NMb2NrKSB7IHJldHVybiBtX2N1cnZlLmdldCgpOyB9CisgICAgRmxvYXQz
MkFycmF5KiBjdXJ2ZSgpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fcHJvY2Vzc0xv
Y2spIHsgcmV0dXJuIG1fY3VydmUuZ2V0KCk7IH0KIAogICAgIHZvaWQgc2V0T3ZlcnNhbXBsZUZv
ckJpbmRpbmdzKE92ZXJTYW1wbGVUeXBlKTsKICAgICBPdmVyU2FtcGxlVHlwZSBvdmVyc2FtcGxl
Rm9yQmluZGluZ3MoKSBjb25zdCBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTIHsg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsgcmV0dXJuIG1fb3ZlcnNhbXBsZTsgfSAvLyBEb2Vzbid0
IGdyYWIgdGhlIGxvY2ssIG9ubHkgc2FmZSB0byBjYWxsIG9uIHRoZSBtYWluIHRocmVhZC4KLSAg
ICBPdmVyU2FtcGxlVHlwZSBvdmVyc2FtcGxlKCkgY29uc3QgV1RGX1JFUVVJUkVTX0xPQ0sobV9w
cm9jZXNzTG9jaykgeyByZXR1cm4gbV9vdmVyc2FtcGxlOyB9CisgICAgT3ZlclNhbXBsZVR5cGUg
b3ZlcnNhbXBsZSgpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fcHJvY2Vzc0xvY2sp
IHsgcmV0dXJuIG1fb3ZlcnNhbXBsZTsgfQogCi0gICAgTG9jayYgcHJvY2Vzc0xvY2soKSBjb25z
dCBXVEZfUkVUVVJOU19MT0NLKG1fcHJvY2Vzc0xvY2spIHsgcmV0dXJuIG1fcHJvY2Vzc0xvY2s7
IH0KKyAgICBMb2NrJiBwcm9jZXNzTG9jaygpIGNvbnN0IFdURl9SRVRVUk5TX0NBUEFCSUxJVFko
bV9wcm9jZXNzTG9jaykgeyByZXR1cm4gbV9wcm9jZXNzTG9jazsgfQogCiBwcml2YXRlOgogICAg
IC8vIG1fY3VydmUgcmVwcmVzZW50cyB0aGUgbm9uLWxpbmVhciBzaGFwaW5nIGN1cnZlLgotICAg
IFJlZlB0cjxGbG9hdDMyQXJyYXk+IG1fY3VydmUgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nl
c3NMb2NrKTsKKyAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX2N1cnZlIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9wcm9jZXNzTG9jayk7CiAKLSAgICBPdmVyU2FtcGxlVHlwZSBtX292ZXJz
YW1wbGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb2Nlc3NMb2NrKSB7IE92ZXJTYW1wbGVOb25l
IH07CisgICAgT3ZlclNhbXBsZVR5cGUgbV9vdmVyc2FtcGxlIFdURl9HVUFSREVEX0JZX0NBUEFC
SUxJVFkobV9wcm9jZXNzTG9jaykgeyBPdmVyU2FtcGxlTm9uZSB9OwogCiAgICAgLy8gVGhpcyBz
eW5jaHJvbml6ZXMgcHJvY2VzcygpIHdpdGggc2V0Q3VydmUoKS4KICAgICBtdXRhYmxlIExvY2sg
bV9wcm9jZXNzTG9jazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZS5jcHAKaW5kZXggNzdmZmQ5MzE5N2Q2ZTIzYmUyMDExMGEzZTNiOTI1ZTc5N2NhMmVm
Zi4uNWEzMDk0YTg0MGQ2Njc5ZGI0NjA1MzI5ZTEzOTYyYmUwYjE5MDExYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAKQEAgLTE1NSwxMyAr
MTU1LDEzIEBAIHN0YXRpYyBib29sIHJldHJpZXZlVGV4dFJlc3VsdEZyb21EYXRhYmFzZShTUUxp
dGVEYXRhYmFzZSYgZGIsIGNvbnN0IFN0cmluZyYgcXVlCiAvLyBGSVhNRTogbW92ZSBhbGwgZ3Vp
ZC1yZWxhdGVkIGZ1bmN0aW9ucyB0byBhIERhdGFiYXNlVmVyc2lvblRyYWNrZXIgY2xhc3MuCiBz
dGF0aWMgTG9jayBndWlkTG9jazsKIAotc3RhdGljIEhhc2hNYXA8RGF0YWJhc2VHVUlELCBTdHJp
bmc+JiBndWlkVG9WZXJzaW9uTWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0soZ3VpZExvY2spCitzdGF0
aWMgSGFzaE1hcDxEYXRhYmFzZUdVSUQsIFN0cmluZz4mIGd1aWRUb1ZlcnNpb25NYXAoKSBXVEZf
UkVRVUlSRVNfQ0FQQUJJTElUWShndWlkTG9jaykKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8SGFzaE1hcDxEYXRhYmFzZUdVSUQsIFN0cmluZz4+IG1hcDsKICAgICByZXR1cm4gbWFwOwog
fQogCi1zdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlR1VJRFZlcnNpb25NYXAoRGF0YWJhc2VHVUlE
IGd1aWQsIGNvbnN0IFN0cmluZyYgbmV3VmVyc2lvbikgV1RGX1JFUVVJUkVTX0xPQ0soZ3VpZExv
Y2spCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlR1VJRFZlcnNpb25NYXAoRGF0YWJhc2VHVUlE
IGd1aWQsIGNvbnN0IFN0cmluZyYgbmV3VmVyc2lvbikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFko
Z3VpZExvY2spCiB7CiAgICAgLy8gTm90ZTogSXQgaXMgbm90IHNhZmUgdG8gcHV0IGFuIGVtcHR5
IHN0cmluZyBpbnRvIHRoZSBndWlkVG9WZXJzaW9uTWFwKCkgbWFwLgogICAgIC8vIFRoYXQncyBi
ZWNhdXNlIHRoZSBtYXAgaXMgY3Jvc3MtdGhyZWFkLCBidXQgZW1wdHkgc3RyaW5ncyBhcmUgcGVy
LXRocmVhZC4KQEAgLTE3MywxMyArMTczLDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVH
VUlEVmVyc2lvbk1hcChEYXRhYmFzZUdVSUQgZ3VpZCwgY29uc3QgU3RyaW5nJiBuZXdWZXJzCiAg
ICAgZ3VpZFRvVmVyc2lvbk1hcCgpLnNldChndWlkLCBuZXdWZXJzaW9uLmlzRW1wdHkoKSA/IFN0
cmluZygpIDogbmV3VmVyc2lvbi5pc29sYXRlZENvcHkoKSk7CiB9CiAKLXN0YXRpYyBIYXNoTWFw
PERhdGFiYXNlR1VJRCwgSGFzaFNldDxEYXRhYmFzZSo+PiYgZ3VpZFRvRGF0YWJhc2VNYXAoKSBX
VEZfUkVRVUlSRVNfTE9DSyhndWlkTG9jaykKK3N0YXRpYyBIYXNoTWFwPERhdGFiYXNlR1VJRCwg
SGFzaFNldDxEYXRhYmFzZSo+PiYgZ3VpZFRvRGF0YWJhc2VNYXAoKSBXVEZfUkVRVUlSRVNfQ0FQ
QUJJTElUWShndWlkTG9jaykKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxE
YXRhYmFzZUdVSUQsIEhhc2hTZXQ8RGF0YWJhc2UqPj4+IG1hcDsKICAgICByZXR1cm4gbWFwOwog
fQogCi1zdGF0aWMgaW5saW5lIERhdGFiYXNlR1VJRCBndWlkRm9yT3JpZ2luQW5kTmFtZShjb25z
dCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lKSBXVEZfUkVRVUlSRVNfTE9DSyhn
dWlkTG9jaykKK3N0YXRpYyBpbmxpbmUgRGF0YWJhc2VHVUlEIGd1aWRGb3JPcmlnaW5BbmROYW1l
KGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKGd1aWRMb2NrKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFw
PFN0cmluZywgRGF0YWJhc2VHVUlEPj4gbWFwOwogICAgIHJldHVybiBtYXAuZ2V0KCkuZW5zdXJl
KG1ha2VTdHJpbmcob3JpZ2luLCAnLycsIG5hbWUpLCBbXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmgKaW5kZXggNWUzYmU4NTRmMDA5Y2Y2MGE2ZWEw
OGRkZWY2N2Q1ZTJmMWE1ZTBlNy4uZTQyN2RlOGUyOWNiZTIyZjg1ZTdiYTg0Yzg0YmY0ZmJlOWFi
N2Y5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2Uu
aApAQCAtMTM5LDcgKzEzOSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBnZXRBY3R1YWxWZXJzaW9u
Rm9yVHJhbnNhY3Rpb24oU3RyaW5nJiB2ZXJzaW9uKTsKICAgICB2b2lkIHNldEVzdGltYXRlZFNp
emUodW5zaWduZWQgbG9uZyBsb25nKTsKIAotICAgIHZvaWQgc2NoZWR1bGVUcmFuc2FjdGlvbigp
IFdURl9SRVFVSVJFU19MT0NLKG1fdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jayk7CisgICAgdm9p
ZCBzY2hlZHVsZVRyYW5zYWN0aW9uKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV90cmFuc2Fj
dGlvbkluUHJvZ3Jlc3NMb2NrKTsKIAogICAgIHZvaWQgcnVuVHJhbnNhY3Rpb24oUmVmUHRyPFNR
TFRyYW5zYWN0aW9uQ2FsbGJhY2s+JiYsIFJlZlB0cjxTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2s+JiYsIFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgc3VjY2Vzc0NhbGxiYWNrLCBSZWZQdHI8U1FM
VHJhbnNhY3Rpb25XcmFwcGVyPiYmLCBib29sIHJlYWRPbmx5KTsKIApAQCAtMTY5LDEwICsxNjks
MTAgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxEYXRhYmFzZUF1dGhvcml6ZXI+IG1fZGF0YWJhc2VB
dXRob3JpemVyOwogCi0gICAgRGVxdWU8UmVmPFNRTFRyYW5zYWN0aW9uPj4gbV90cmFuc2FjdGlv
blF1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NMb2NrKTsK
KyAgICBEZXF1ZTxSZWY8U1FMVHJhbnNhY3Rpb24+PiBtX3RyYW5zYWN0aW9uUXVldWUgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spOwogICAgIExv
Y2sgbV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NMb2NrOwotICAgIGJvb2wgbV90cmFuc2FjdGlvbklu
UHJvZ3Jlc3MgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2sp
IHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxlZCBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jaykgeyB0cnVlIH07CisgICAg
Ym9vbCBtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
dHJhbnNhY3Rpb25JblByb2dyZXNzTG9jaykgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1RyYW5z
YWN0aW9uUXVldWVFbmFibGVkIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV90cmFuc2FjdGlv
bkluUHJvZ3Jlc3NMb2NrKSB7IHRydWUgfTsKIAogICAgIGZyaWVuZCBjbGFzcyBDaGFuZ2VWZXJz
aW9uV3JhcHBlcjsKICAgICBmcmllbmQgY2xhc3MgRGF0YWJhc2VNYW5hZ2VyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmgKaW5k
ZXggYWE2MjFkNjIxN2VmNTVjODY3MmUzMjVjNjYzZWM4Y2ZmZTk3Y2JmMS4uNGE4NWRkYjllZTlk
ZjE2M2M0NWY4YzQ3MmE1MjM3NjU2MmYwMzNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5oCkBAIC04OCw3ICs4OCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2RhdGFiYXNlSXNBdmFpbGFibGUgeyB0cnVlIH07CiAKICAg
ICBMb2NrIG1fcHJvcG9zZWREYXRhYmFzZXNMb2NrOwotICAgIEhhc2hTZXQ8UHJvcG9zZWREYXRh
YmFzZSo+IG1fcHJvcG9zZWREYXRhYmFzZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb3Bvc2Vk
RGF0YWJhc2VzTG9jayk7CisgICAgSGFzaFNldDxQcm9wb3NlZERhdGFiYXNlKj4gbV9wcm9wb3Nl
ZERhdGFiYXNlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcHJvcG9zZWREYXRhYmFzZXNM
b2NrKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCmluZGV4IDdlMTM1ZDgxZjkwYjhl
YjI2MGFiYTYwMjZhZWIzNjFhNTVkMzE5NjQuLjNhNmM5OWE3NjhjMjkzMmEyZjY0ZmVkNDk2ODVl
NzIwZTNlZjJlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZVRhc2suaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJp
dmF0ZToKLSAgICBib29sIG1fdGFza0NvbXBsZXRlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3lu
Y2hyb25vdXNMb2NrKSB7IGZhbHNlIH07CisgICAgYm9vbCBtX3Rhc2tDb21wbGV0ZWQgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX3N5bmNocm9ub3VzTG9jaykgeyBmYWxzZSB9OwogICAgIExv
Y2sgbV9zeW5jaHJvbm91c0xvY2s7CiAgICAgQ29uZGl0aW9uIG1fc3luY2hyb25vdXNDb25kaXRp
b247CiAjaWYgQVNTRVJUX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaAppbmRleCA5NWI3YzZiZWZlMmE2NDEzNDVlODEy
Mzg4ZWFkMGZkOWNiMmM3OWJjLi5lYTc3NzFkN2MzYWViYWM0MzU1YjY1MDQ1YzBmNjIxYjRhZjBk
MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRocmVhZC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhpcyBzZXQg
a2VlcHMgdHJhY2sgb2YgdGhlIG9wZW4gZGF0YWJhc2VzIHRoYXQgaGF2ZSBiZWVuIHVzZWQgb24g
dGhpcyB0aHJlYWQuCiAgICAgdXNpbmcgRGF0YWJhc2VTZXQgPSBIYXNoU2V0PFJlZlB0cjxEYXRh
YmFzZT4+OwogICAgIG11dGFibGUgTG9jayBtX29wZW5EYXRhYmFzZVNldExvY2s7Ci0gICAgRGF0
YWJhc2VTZXQgbV9vcGVuRGF0YWJhc2VTZXQgV1RGX0dVQVJERURfQllfTE9DSyhtX29wZW5EYXRh
YmFzZVNldExvY2spOworICAgIERhdGFiYXNlU2V0IG1fb3BlbkRhdGFiYXNlU2V0IFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9vcGVuRGF0YWJhc2VTZXRMb2NrKTsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yPiBtX3RyYW5zYWN0aW9uQ29vcmRpbmF0
b3I7CiAgICAgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKiBtX2NsZWFudXBTeW5jIHsgbnVsbHB0
ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRyYWNrZXIuY3BwCmluZGV4IDExOWYzZTJkMzNiMDc2N2UwZDUxMWViOWZkNDc2MGRlOTc2
NTM4NjMuLjhhNDU1YTcyODkwMGE3YjU3OTVlYTQyZjY4OWQ4NjRlZGRiNjI4YzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tl
ci5jcHAKQEAgLTEyNzksNyArMTI3OSw3IEBAIExvY2smIERhdGFiYXNlVHJhY2tlcjo6b3BlbkRh
dGFiYXNlTXV0ZXgoKQogICAgIHJldHVybiBvcGVuRGF0YWJhc2VMb2NrOwogfQogCi0vLyBXZSBh
cmUgbm90IHVzaW5nIFdURl9BQ1FVSVJFU19MT0NLKG9wZW5EYXRhYmFzZUxvY2spIGJlY2F1c2Ug
dGhlIGNhbGwgc2l0ZXMgYXJlIE9iakMgZnVuY3Rpb25zIGFuZCBjYW5ub3QgYmUgYW5ub3RhdGVk
LgorLy8gV2UgYXJlIG5vdCB1c2luZyBXVEZfQUNRVUlSRVNfQ0FQQUJJTElUWShvcGVuRGF0YWJh
c2VMb2NrKSBiZWNhdXNlIHRoZSBjYWxsIHNpdGVzIGFyZSBPYmpDIGZ1bmN0aW9ucyBhbmQgY2Fu
bm90IGJlIGFubm90YXRlZC4KIHZvaWQgRGF0YWJhc2VUcmFja2VyOjplbXB0eURhdGFiYXNlRmls
ZXNSZW1vdmFsVGFza1dpbGxCZVNjaGVkdWxlZCgpIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlf
QU5BTFlTSVMKIHsKICAgICAvLyBMb2NrIHRoZSBkYXRhYmFzZSBmcm9tIG9wZW5pbmcgYW55IGRh
dGFiYXNlIHVudGlsIHdlIGFyZSBkb25lIHdpdGggc2Nhbm5pbmcgdGhlIGZpbGUgc3lzdGVtIGZv
cgpAQCAtMTI4Nyw3ICsxMjg3LDcgQEAgdm9pZCBEYXRhYmFzZVRyYWNrZXI6OmVtcHR5RGF0YWJh
c2VGaWxlc1JlbW92YWxUYXNrV2lsbEJlU2NoZWR1bGVkKCkgV1RGX0lHTk9SRVMKICAgICBvcGVu
RGF0YWJhc2VMb2NrLmxvY2soKTsKIH0KIAotLy8gV2UgYXJlIG5vdCB1c2luZyBXVEZfUkVMRUFT
RVNfTE9DSyhvcGVuRGF0YWJhc2VMb2NrKSBiZWNhdXNlIHRoZSBjYWxsIHNpdGVzIGFyZSBPYmpD
IGZ1bmN0aW9ucyBhbmQgY2Fubm90IGJlIGFubm90YXRlZC4KKy8vIFdlIGFyZSBub3QgdXNpbmcg
V1RGX1JFTEVBU0VTX0NBUEFCSUxJVFkob3BlbkRhdGFiYXNlTG9jaykgYmVjYXVzZSB0aGUgY2Fs
bCBzaXRlcyBhcmUgT2JqQyBmdW5jdGlvbnMgYW5kIGNhbm5vdCBiZSBhbm5vdGF0ZWQuCiB2b2lk
IERhdGFiYXNlVHJhY2tlcjo6ZW1wdHlEYXRhYmFzZUZpbGVzUmVtb3ZhbFRhc2tEaWRGaW5pc2go
KSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiB7CiAgICAgb3BlbkRhdGFiYXNl
TG9jay51bmxvY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcwY2MyMmI2OGRkYzUwOTUyNThmOWVkMDEwZGNk
NjYzNDNlZDc3YTIuLjM2MjFkNzZlZDAzNjAyNTZkMzg2NzViOTJlYmZkNWY1NDhjNTkyOTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFj
a2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRy
YWNrZXIuaApAQCAtMTIwLDI2ICsxMjAsMjYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBEYXRhYmFzZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogCi0gICAg
RXhjZXB0aW9uT3I8dm9pZD4gaGFzQWRlcXVhdGVRdW90YUZvck9yaWdpbihjb25zdCBTZWN1cml0
eU9yaWdpbkRhdGEmLCB1aW50NjRfdCBlc3RpbWF0ZWRTaXplKSBXVEZfUkVRVUlSRVNfTE9DSyht
X2RhdGFiYXNlR3VhcmQpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGhhc0FkZXF1YXRlUXVvdGFG
b3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgdWludDY0X3QgZXN0aW1hdGVkU2l6
ZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKTsKIAotICAgIGJvb2wg
aGFzRW50cnlGb3JPcmlnaW5Ob0xvY2soY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgV1RGX1JF
UVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICBTdHJpbmcgZnVsbFBhdGhGb3JEYXRh
YmFzZU5vTG9jayhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGJvb2wgY3JlYXRlSWZEb2VzTm90RXhpc3QpIFdURl9SRVFVSVJFU19MT0NLKG1fZGF0YWJhc2VH
dWFyZCk7Ci0gICAgVmVjdG9yPFN0cmluZz4gZGF0YWJhc2VOYW1lc05vTG9jayhjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2RhdGFiYXNlR3VhcmQpIFdURl9S
RVFVSVJFU19MT0NLKG1fZGF0YWJhc2VHdWFyZCk7Ci0gICAgdWludDY0X3QgcXVvdGFOb0xvY2so
Y29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1
YXJkKTsKKyAgICBib29sIGhhc0VudHJ5Rm9yT3JpZ2luTm9Mb2NrKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAg
U3RyaW5nIGZ1bGxQYXRoRm9yRGF0YWJhc2VOb0xvY2soY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIGNyZWF0ZUlmRG9lc05vdEV4aXN0KSBXVEZfUkVR
VUlSRVNfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3VhcmQpOworICAgIFZlY3RvcjxTdHJpbmc+IGRh
dGFiYXNlTmFtZXNOb0xvY2soY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgV1RGX1JFUVVJUkVT
X0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2Rh
dGFiYXNlR3VhcmQpOworICAgIHVpbnQ2NF90IHF1b3RhTm9Mb2NrKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CiAKLSAg
ICBTdHJpbmcgdHJhY2tlckRhdGFiYXNlUGF0aCgpIGNvbnN0IFdURl9SRVFVSVJFU19MT0NLKG1f
ZGF0YWJhc2VHdWFyZCk7CisgICAgU3RyaW5nIHRyYWNrZXJEYXRhYmFzZVBhdGgoKSBjb25zdCBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3VhcmQpOwogCiAgICAgZW51bSBUcmFj
a2VyQ3JlYXRpb25BY3Rpb24gewogICAgICAgICBEb250Q3JlYXRlSWZEb2VzTm90RXhpc3QsCiAg
ICAgICAgIENyZWF0ZUlmRG9lc05vdEV4aXN0CiAgICAgfTsKLSAgICB2b2lkIG9wZW5UcmFja2Vy
RGF0YWJhc2UoVHJhY2tlckNyZWF0aW9uQWN0aW9uKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2RhdGFi
YXNlR3VhcmQpOworICAgIHZvaWQgb3BlblRyYWNrZXJEYXRhYmFzZShUcmFja2VyQ3JlYXRpb25B
Y3Rpb24pIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CiAKICAgICBT
dHJpbmcgb3JpZ2luUGF0aChjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBjb25zdDsKIAotICAg
IGJvb2wgaGFzRW50cnlGb3JEYXRhYmFzZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25z
dCBTdHJpbmcmIGRhdGFiYXNlSWRlbnRpZmllcikgV1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFz
ZUd1YXJkKTsKKyAgICBib29sIGhhc0VudHJ5Rm9yRGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmln
aW5EYXRhJiwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlkZW50aWZpZXIpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CiAKLSAgICBib29sIGFkZERhdGFiYXNlKGNvbnN0
IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBw
YXRoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2RhdGFiYXNlR3VhcmQpOworICAgIGJvb2wgYWRkRGF0
YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHBhdGgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7
CiAKICAgICBlbnVtIGNsYXNzIERlbGV0aW9uTW9kZSB7CiAgICAgICAgIEltbWVkaWF0ZSwKQEAg
LTE1Niw0MSArMTU2LDQxIEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZWxldGVPcmlnaW4oY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiwgRGVsZXRpb25Nb2RlKTsKICAgICBib29sIGRlbGV0ZURhdGFi
YXNlRmlsZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUsIERl
bGV0aW9uTW9kZSk7CiAKLSAgICB2b2lkIGRlbGV0ZU9yaWdpbkxvY2tGb3IoY29uc3QgU2VjdXJp
dHlPcmlnaW5EYXRhJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKKyAgICB2
b2lkIGRlbGV0ZU9yaWdpbkxvY2tGb3IoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgV1RGX1JF
UVVJUkVTX0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKTsKIAogICAgIHVzaW5nIERhdGFiYXNl
U2V0ID0gSGFzaFNldDxEYXRhYmFzZSo+OwogICAgIHVzaW5nIERhdGFiYXNlTmFtZU1hcCA9IEhh
c2hNYXA8U3RyaW5nLCBEYXRhYmFzZVNldCo+OwogICAgIHVzaW5nIERhdGFiYXNlT3JpZ2luTWFw
ID0gSGFzaE1hcDxTZWN1cml0eU9yaWdpbkRhdGEsIERhdGFiYXNlTmFtZU1hcCo+OwogCiAgICAg
TG9jayBtX29wZW5EYXRhYmFzZU1hcEd1YXJkOwotICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRy
PERhdGFiYXNlT3JpZ2luTWFwPiBtX29wZW5EYXRhYmFzZU1hcCBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fb3BlbkRhdGFiYXNlTWFwR3VhcmQpOworICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPERh
dGFiYXNlT3JpZ2luTWFwPiBtX29wZW5EYXRhYmFzZU1hcCBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKG1fb3BlbkRhdGFiYXNlTWFwR3VhcmQpOwogCiAgICAgLy8gVGhpcyBsb2NrIHByb3RlY3Rz
IG1fZGF0YWJhc2UsIG1fb3JpZ2luTG9ja01hcCwgbV9kYXRhYmFzZURpcmVjdG9yeVBhdGgsIG1f
b3JpZ2luc0JlaW5nRGVsZXRlZCwgbV9iZWluZ0NyZWF0ZWQsIGFuZCBtX2JlaW5nRGVsZXRlZC4K
ICAgICBMb2NrIG1fZGF0YWJhc2VHdWFyZDsKLSAgICBTUUxpdGVEYXRhYmFzZSBtX2RhdGFiYXNl
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKKyAgICBTUUxpdGVEYXRhYmFz
ZSBtX2RhdGFiYXNlIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKTsK
IAogICAgIHVzaW5nIE9yaWdpbkxvY2tNYXAgPSBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE9yaWdp
bkxvY2s+PjsKLSAgICBPcmlnaW5Mb2NrTWFwIG1fb3JpZ2luTG9ja01hcCBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fZGF0YWJhc2VHdWFyZCk7CisgICAgT3JpZ2luTG9ja01hcCBtX29yaWdpbkxvY2tN
YXAgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3VhcmQpOwogCiAgICAgU3Ry
aW5nIG1fZGF0YWJhc2VEaXJlY3RvcnlQYXRoOwogCiAgICAgRGF0YWJhc2VNYW5hZ2VyQ2xpZW50
KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKIAotICAgIEhhc2hNYXA8U2VjdXJpdHlPcmlnaW5EYXRh
LCBzdGQ6OnVuaXF1ZV9wdHI8SGFzaENvdW50ZWRTZXQ8U3RyaW5nPj4+IG1fYmVpbmdDcmVhdGVk
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICBIYXNoTWFwPFNlY3Vy
aXR5T3JpZ2luRGF0YSwgc3RkOjp1bmlxdWVfcHRyPEhhc2hTZXQ8U3RyaW5nPj4+IG1fYmVpbmdE
ZWxldGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICBIYXNoU2V0
PFNlY3VyaXR5T3JpZ2luRGF0YT4gbV9vcmlnaW5zQmVpbmdEZWxldGVkIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICBib29sIGlzRGVsZXRpbmdEYXRhYmFzZU9yT3Jp
Z2luRm9yKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSkgV1RG
X1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICB2b2lkIHJlY29yZENyZWF0aW5n
RGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiBuYW1lKSBX
VEZfUkVRVUlSRVNfTE9DSyhtX2RhdGFiYXNlR3VhcmQpOwotICAgIHZvaWQgZG9uZUNyZWF0aW5n
RGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiBuYW1lKSBX
VEZfUkVRVUlSRVNfTE9DSyhtX2RhdGFiYXNlR3VhcmQpOwotICAgIGJvb2wgY3JlYXRpbmdEYXRh
YmFzZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUpIFdURl9S
RVFVSVJFU19MT0NLKG1fZGF0YWJhc2VHdWFyZCk7Ci0gICAgYm9vbCBjYW5EZWxldGVEYXRhYmFz
ZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUpIFdURl9SRVFV
SVJFU19MT0NLKG1fZGF0YWJhc2VHdWFyZCk7Ci0gICAgdm9pZCByZWNvcmREZWxldGluZ0RhdGFi
YXNlKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSkgV1RGX1JF
UVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICB2b2lkIGRvbmVEZWxldGluZ0RhdGFi
YXNlKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSkgV1RGX1JF
UVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICBib29sIGlzRGVsZXRpbmdEYXRhYmFz
ZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUpIFdURl9SRVFV
SVJFU19MT0NLKG1fZGF0YWJhc2VHdWFyZCk7Ci0gICAgYm9vbCBjYW5EZWxldGVPcmlnaW4oY29u
c3QgU2VjdXJpdHlPcmlnaW5EYXRhJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJk
KTsKLSAgICBib29sIGlzRGVsZXRpbmdPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJikg
V1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKLSAgICB2b2lkIHJlY29yZERlbGV0
aW5nT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpIFdURl9SRVFVSVJFU19MT0NLKG1f
ZGF0YWJhc2VHdWFyZCk7Ci0gICAgdm9pZCBkb25lRGVsZXRpbmdPcmlnaW4oY29uc3QgU2VjdXJp
dHlPcmlnaW5EYXRhJikgV1RGX1JFUVVJUkVTX0xPQ0sobV9kYXRhYmFzZUd1YXJkKTsKKyAgICBI
YXNoTWFwPFNlY3VyaXR5T3JpZ2luRGF0YSwgc3RkOjp1bmlxdWVfcHRyPEhhc2hDb3VudGVkU2V0
PFN0cmluZz4+PiBtX2JlaW5nQ3JlYXRlZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fZGF0
YWJhc2VHdWFyZCk7CisgICAgSGFzaE1hcDxTZWN1cml0eU9yaWdpbkRhdGEsIHN0ZDo6dW5pcXVl
X3B0cjxIYXNoU2V0PFN0cmluZz4+PiBtX2JlaW5nRGVsZXRlZCBXVEZfR1VBUkRFRF9CWV9DQVBB
QklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAgSGFzaFNldDxTZWN1cml0eU9yaWdpbkRhdGE+
IG1fb3JpZ2luc0JlaW5nRGVsZXRlZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fZGF0YWJh
c2VHdWFyZCk7CisgICAgYm9vbCBpc0RlbGV0aW5nRGF0YWJhc2VPck9yaWdpbkZvcihjb25zdCBT
ZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJpbmcmIG5hbWUpIFdURl9SRVFVSVJFU19DQVBB
QklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAgdm9pZCByZWNvcmRDcmVhdGluZ0RhdGFiYXNl
KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSkgV1RGX1JFUVVJ
UkVTX0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKTsKKyAgICB2b2lkIGRvbmVDcmVhdGluZ0Rh
dGFiYXNlKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYgbmFtZSkgV1RG
X1JFUVVJUkVTX0NBUEFCSUxJVFkobV9kYXRhYmFzZUd1YXJkKTsKKyAgICBib29sIGNyZWF0aW5n
RGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiBuYW1lKSBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3VhcmQpOworICAgIGJvb2wgY2FuRGVs
ZXRlRGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiBuYW1l
KSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3VhcmQpOworICAgIHZvaWQgcmVj
b3JkRGVsZXRpbmdEYXRhYmFzZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTdHJp
bmcmIG5hbWUpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAg
dm9pZCBkb25lRGVsZXRpbmdEYXRhYmFzZShjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25z
dCBTdHJpbmcmIG5hbWUpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7
CisgICAgYm9vbCBpc0RlbGV0aW5nRGF0YWJhc2UoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiwg
Y29uc3QgU3RyaW5nJiBuYW1lKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2RhdGFiYXNlR3Vh
cmQpOworICAgIGJvb2wgY2FuRGVsZXRlT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYp
IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAgYm9vbCBpc0Rl
bGV0aW5nT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpIFdURl9SRVFVSVJFU19DQVBB
QklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CisgICAgdm9pZCByZWNvcmREZWxldGluZ09yaWdpbihj
b25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2RhdGFi
YXNlR3VhcmQpOworICAgIHZvaWQgZG9uZURlbGV0aW5nT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3Jp
Z2luRGF0YSYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fZGF0YWJhc2VHdWFyZCk7CiAKICAg
ICBzdGF0aWMgdm9pZCBzY2hlZHVsZUZvck5vdGlmaWNhdGlvbigpOwogICAgIHN0YXRpYyB2b2lk
IG5vdGlmeURhdGFiYXNlc0NoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTENhbGxiYWNrV3JhcHBlci5oCmluZGV4IGM0ODEyNWViYzQ2
YTM3YWIwZGE2N2VlNjE2NzlkMTI4YjBmNzZmMmIuLmIzMDNmZmQ0YTMwYTA0NjNkZDViNTY2NTIy
NGIwODNjZDA3N2E3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxDYWxsYmFja1dyYXBwZXIuaApAQCAtOTUsOCArOTUsOCBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgTG9jayBtX2xvY2s7Ci0gICAgUmVmUHRyPFQ+IG1fY2FsbGJhY2sg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwotICAgIFJlZlB0cjxTY3JpcHRFeGVjdXRpb25D
b250ZXh0PiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOworICAgIFJlZlB0cjxUPiBtX2NhbGxiYWNrIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
bV9sb2NrKTsKKyAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaAppbmRleCA0NWU0ODcxNmEwNjZkNTdjNDRkZTkxYzJm
ODZjOTBkZWEyMjMzMWVmLi43ZjgyNWQ2N2Q2NTQ2YmM1MWJmOTZmMjM3MjdjMmQ3YTI2MzUxYWJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5z
YWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFu
c2FjdGlvbi5oCkBAIC0xMzksNyArMTM5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzVmVy
c2lvbk1pc21hdGNoIHsgZmFsc2UgfTsKIAogICAgIExvY2sgbV9zdGF0ZW1lbnRMb2NrOwotICAg
IERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxTUUxTdGF0ZW1lbnQ+PiBtX3N0YXRlbWVudFF1ZXVlIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9zdGF0ZW1lbnRMb2NrKTsKKyAgICBEZXF1ZTxzdGQ6OnVuaXF1
ZV9wdHI8U1FMU3RhdGVtZW50Pj4gbV9zdGF0ZW1lbnRRdWV1ZSBXVEZfR1VBUkRFRF9CWV9DQVBB
QklMSVRZKG1fc3RhdGVtZW50TG9jayk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1FMU3RhdGVt
ZW50PiBtX2N1cnJlbnRTdGF0ZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuaAppbmRleCBhYmUzZGE5NmY1ZjhkZjg0ZmVmNDU3MzVkNWM4MGJi
YWMyMDRkNmZmLi44ZDU2Yjk2NTllNjI0MjAwNWJhNDU2MDhhNmJmYmZjN2ViMTAwN2ZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCkBAIC01OCw4
ICs1OCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdlYlNvY2tldD4+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBwcm90b2NvbHMpOwogICAgIHZpcnR1YWwgfldlYlNvY2tldCgpOwog
Ci0gICAgc3RhdGljIEhhc2hTZXQ8V2ViU29ja2V0Kj4mIGFsbEFjdGl2ZVdlYlNvY2tldHMoKSBX
VEZfUkVRVUlSRVNfTE9DSyhzX2FsbEFjdGl2ZVdlYlNvY2tldHNMb2NrKTsKLSAgICBzdGF0aWMg
TG9jayYgYWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfYWxsQWN0
aXZlV2ViU29ja2V0c0xvY2spOworICAgIHN0YXRpYyBIYXNoU2V0PFdlYlNvY2tldCo+JiBhbGxB
Y3RpdmVXZWJTb2NrZXRzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc19hbGxBY3RpdmVXZWJT
b2NrZXRzTG9jayk7CisgICAgc3RhdGljIExvY2smIGFsbEFjdGl2ZVdlYlNvY2tldHNMb2NrKCkg
V1RGX1JFVFVSTlNfQ0FQQUJJTElUWShzX2FsbEFjdGl2ZVdlYlNvY2tldHNMb2NrKTsKIAogICAg
IGVudW0gU3RhdGUgewogICAgICAgICBDT05ORUNUSU5HID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCmluZGV4IGQxYmEw
ODRmMWNiYmU1MDI0NzlhNTY0ZDIxYjVmOGE3NDM5MzgwN2MuLjc0ODIzM2M3NjQ3MzVmN2ZiOTc1
Mzc5ZjdmMzg3ODAzY2E3YTgzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
dGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcApAQCAtOTMsOCArOTMsOCBAQCB1c2luZyBU
ZXh0Q29kZWNNYXAgPSBIYXNoTWFwPGNvbnN0IGNoYXIqLCBOZXdUZXh0Q29kZWNGdW5jdGlvbj47
CiAKIHN0YXRpYyBMb2NrIGVuY29kaW5nUmVnaXN0cnlMb2NrOwogCi1zdGF0aWMgVGV4dEVuY29k
aW5nTmFtZU1hcCogdGV4dEVuY29kaW5nTmFtZU1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKGVuY29k
aW5nUmVnaXN0cnlMb2NrKTsKLXN0YXRpYyBUZXh0Q29kZWNNYXAqIHRleHRDb2RlY01hcCBXVEZf
R1VBUkRFRF9CWV9MT0NLKGVuY29kaW5nUmVnaXN0cnlMb2NrKTsKK3N0YXRpYyBUZXh0RW5jb2Rp
bmdOYW1lTWFwKiB0ZXh0RW5jb2RpbmdOYW1lTWFwIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
ZW5jb2RpbmdSZWdpc3RyeUxvY2spOworc3RhdGljIFRleHRDb2RlY01hcCogdGV4dENvZGVjTWFw
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkoZW5jb2RpbmdSZWdpc3RyeUxvY2spOwogc3RhdGlj
IGJvb2wgZGlkRXh0ZW5kVGV4dENvZGVjTWFwczsKIHN0YXRpYyBIYXNoU2V0PGNvbnN0IGNoYXIq
PiogamFwYW5lc2VFbmNvZGluZ3M7CiBzdGF0aWMgSGFzaFNldDxjb25zdCBjaGFyKj4qIG5vbkJh
Y2tzbGFzaEVuY29kaW5nczsKQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgYm9vbCBpc1VuZGVz
aXJlZEFsaWFzKGNvbnN0IGNoYXIqIGFsaWFzKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3Rh
dGljIHZvaWQgYWRkVG9UZXh0RW5jb2RpbmdOYW1lTWFwKGNvbnN0IGNoYXIqIGFsaWFzLCBjb25z
dCBjaGFyKiBuYW1lKSBXVEZfUkVRVUlSRVNfTE9DSyhlbmNvZGluZ1JlZ2lzdHJ5TG9jaykKK3N0
YXRpYyB2b2lkIGFkZFRvVGV4dEVuY29kaW5nTmFtZU1hcChjb25zdCBjaGFyKiBhbGlhcywgY29u
c3QgY2hhciogbmFtZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoZW5jb2RpbmdSZWdpc3RyeUxv
Y2spCiB7CiAgICAgQVNTRVJUKHN0cmxlbihhbGlhcykgPD0gbWF4RW5jb2RpbmdOYW1lTGVuZ3Ro
KTsKICAgICBpZiAoaXNVbmRlc2lyZWRBbGlhcyhhbGlhcykpCkBAIC0xMzAsMTQgKzEzMCwxNCBA
QCBzdGF0aWMgdm9pZCBhZGRUb1RleHRFbmNvZGluZ05hbWVNYXAoY29uc3QgY2hhciogYWxpYXMs
IGNvbnN0IGNoYXIqIG5hbWUpIFdURl9SRQogICAgIHRleHRFbmNvZGluZ05hbWVNYXAtPmFkZChh
bGlhcywgYXRvbU5hbWUpOwogfQogCi1zdGF0aWMgdm9pZCBhZGRUb1RleHRDb2RlY01hcChjb25z
dCBjaGFyKiBuYW1lLCBOZXdUZXh0Q29kZWNGdW5jdGlvbiYmIGZ1bmN0aW9uKSBXVEZfUkVRVUlS
RVNfTE9DSyhlbmNvZGluZ1JlZ2lzdHJ5TG9jaykKK3N0YXRpYyB2b2lkIGFkZFRvVGV4dENvZGVj
TWFwKGNvbnN0IGNoYXIqIG5hbWUsIE5ld1RleHRDb2RlY0Z1bmN0aW9uJiYgZnVuY3Rpb24pIFdU
Rl9SRVFVSVJFU19DQVBBQklMSVRZKGVuY29kaW5nUmVnaXN0cnlMb2NrKQogewogICAgIGNvbnN0
IGNoYXIqIGF0b21OYW1lID0gdGV4dEVuY29kaW5nTmFtZU1hcC0+Z2V0KG5hbWUpOwogICAgIEFT
U0VSVChhdG9tTmFtZSk7CiAgICAgdGV4dENvZGVjTWFwLT5hZGQoYXRvbU5hbWUsIFdURk1vdmUo
ZnVuY3Rpb24pKTsKIH0KIAotc3RhdGljIHZvaWQgcHJ1bmVCbG9ja2xpc3RlZENvZGVjcygpIFdU
Rl9SRVFVSVJFU19MT0NLKGVuY29kaW5nUmVnaXN0cnlMb2NrKQorc3RhdGljIHZvaWQgcHJ1bmVC
bG9ja2xpc3RlZENvZGVjcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGVuY29kaW5nUmVnaXN0
cnlMb2NrKQogewogICAgIGZvciAoYXV0byYgbmFtZUZyb21CbG9ja2xpc3QgOiB0ZXh0RW5jb2Rp
bmdOYW1lQmxvY2tsaXN0KSB7CiAgICAgICAgIGF1dG8qIGF0b21OYW1lID0gdGV4dEVuY29kaW5n
TmFtZU1hcC0+Z2V0KG5hbWVGcm9tQmxvY2tsaXN0KTsKQEAgLTE1Nyw3ICsxNTcsNyBAQCBzdGF0
aWMgdm9pZCBwcnVuZUJsb2NrbGlzdGVkQ29kZWNzKCkgV1RGX1JFUVVJUkVTX0xPQ0soZW5jb2Rp
bmdSZWdpc3RyeUxvY2spCiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCBidWlsZEJhc2VUZXh0Q29k
ZWNNYXBzKCkgV1RGX1JFUVVJUkVTX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spCitzdGF0aWMg
dm9pZCBidWlsZEJhc2VUZXh0Q29kZWNNYXBzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoZW5j
b2RpbmdSZWdpc3RyeUxvY2spCiB7CiAgICAgQVNTRVJUKCF0ZXh0Q29kZWNNYXApOwogICAgIEFT
U0VSVCghdGV4dEVuY29kaW5nTmFtZU1hcCk7CkBAIC0xNzgsNyArMTc4LDcgQEAgc3RhdGljIHZv
aWQgYnVpbGRCYXNlVGV4dENvZGVjTWFwcygpIFdURl9SRVFVSVJFU19MT0NLKGVuY29kaW5nUmVn
aXN0cnlMb2NrKQogICAgIFRleHRDb2RlY1VzZXJEZWZpbmVkOjpyZWdpc3RlckNvZGVjcyhhZGRU
b1RleHRDb2RlY01hcCk7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZEVuY29kaW5nTmFtZShIYXNoU2V0
PGNvbnN0IGNoYXIqPiogc2V0LCBjb25zdCBjaGFyKiBuYW1lKSBXVEZfUkVRVUlSRVNfTE9DSyhl
bmNvZGluZ1JlZ2lzdHJ5TG9jaykKK3N0YXRpYyB2b2lkIGFkZEVuY29kaW5nTmFtZShIYXNoU2V0
PGNvbnN0IGNoYXIqPiogc2V0LCBjb25zdCBjaGFyKiBuYW1lKSBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShlbmNvZGluZ1JlZ2lzdHJ5TG9jaykKIHsKICAgICAvLyBXZSBtdXN0IG5vdCB1c2UgYXRv
bUNhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoKSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGluIGl0LgogICAgIGNvbnN0IGNoYXIqIGF0b21OYW1lID0gdGV4dEVuY29kaW5nTmFtZU1h
cC0+Z2V0KG5hbWUpOwpAQCAtMTg2LDcgKzE4Niw3IEBAIHN0YXRpYyB2b2lkIGFkZEVuY29kaW5n
TmFtZShIYXNoU2V0PGNvbnN0IGNoYXIqPiogc2V0LCBjb25zdCBjaGFyKiBuYW1lKSBXVEZfUkVR
CiAgICAgICAgIHNldC0+YWRkKGF0b21OYW1lKTsKIH0KIAotc3RhdGljIHZvaWQgYnVpbGRRdWly
a3NTZXRzKCkgV1RGX1JFUVVJUkVTX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spCitzdGF0aWMg
dm9pZCBidWlsZFF1aXJrc1NldHMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShlbmNvZGluZ1Jl
Z2lzdHJ5TG9jaykKIHsKICAgICAvLyBGSVhNRTogSGF2aW5nIGlzSmFwYW5lc2VFbmNvZGluZygp
IGFuZCBzaG91bGRTaG93QmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbEluKCkKICAgICAvLyBhbmQg
aW5pdGlhbGl6aW5nIHRoZSBzZXRzIGZvciB0aGVtIGluIFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNw
cCBsb29rIHN0cmFuZ2UuCkBAIC0yMzEsNyArMjMxLDcgQEAgYm9vbCBzaG91bGRTaG93QmFja3Ns
YXNoQXNDdXJyZW5jeVN5bWJvbEluKGNvbnN0IGNoYXIqIGNhbm9uaWNhbEVuY29kaW5nTmFtZSkK
ICAgICByZXR1cm4gY2Fub25pY2FsRW5jb2RpbmdOYW1lICYmIG5vbkJhY2tzbGFzaEVuY29kaW5n
cyAmJiBub25CYWNrc2xhc2hFbmNvZGluZ3MtPmNvbnRhaW5zKGNhbm9uaWNhbEVuY29kaW5nTmFt
ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGV4dGVuZFRleHRDb2RlY01hcHMoKSBXVEZfUkVRVUlSRVNf
TE9DSyhlbmNvZGluZ1JlZ2lzdHJ5TG9jaykKK3N0YXRpYyB2b2lkIGV4dGVuZFRleHRDb2RlY01h
cHMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShlbmNvZGluZ1JlZ2lzdHJ5TG9jaykKIHsKICAg
ICBUZXh0Q29kZWNSZXBsYWNlbWVudDo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKGFkZFRvVGV4dEVu
Y29kaW5nTmFtZU1hcCk7CiAgICAgVGV4dENvZGVjUmVwbGFjZW1lbnQ6OnJlZ2lzdGVyQ29kZWNz
KGFkZFRvVGV4dENvZGVjTWFwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDRhZTEyNzFhOWM3
NDU3MGQ5ZTc4Y2Y3OWE1NTE0NGUwZDFiY2QzZTcuLjIwOTZmMTFhOGZlNjU2OWRmMzRjZDY0NTcx
ODM0MTUyM2IwODA1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMzY3LDcgKzM2Nyw3IEBA
IHB1YmxpYzoKICAgICAvLyBCb3RoIHNldFJvb3ROb2RlSUQgYW5kIHNldEZvY3VzZWROb2RlSUQg
YXJlIGNhbGxlZCBkdXJpbmcgdGhlIGdlbmVyYXRpb24KICAgICAvLyBvZiB0aGUgSXNvbGF0ZWRU
cmVlLgogICAgIC8vIEZvY3VzZWQgbm9kZSB1cGRhdGVzIGluIEFYT2JqZWN0Q2FjaGUgdXNlIHNl
dEZvY3VzTm9kZUlELgotICAgIHZvaWQgc2V0Um9vdE5vZGUoQVhJc29sYXRlZE9iamVjdCopIFdU
Rl9SRVFVSVJFU19MT0NLKG1fY2hhbmdlTG9nTG9jayk7CisgICAgdm9pZCBzZXRSb290Tm9kZShB
WElzb2xhdGVkT2JqZWN0KikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9jaGFuZ2VMb2dMb2Nr
KTsKICAgICB2b2lkIHNldEZvY3VzZWROb2RlSUQoQVhJRCk7CiAKICAgICAvLyBDYWxsZWQgb24g
QVggdGhyZWFkIGZyb20gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgbWV0aG9kcy4KQEAg
LTM4MSwxNSArMzgxLDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhcigpOwogCiAgICAgc3Rh
dGljIExvY2sgc19jYWNoZUxvY2s7Ci0gICAgc3RhdGljIEhhc2hNYXA8QVhJc29sYXRlZFRyZWVJ
RCwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIHRyZWVJRENhY2hlKCkgV1RGX1JFUVVJUkVTX0xPQ0so
c19jYWNoZUxvY2spOwotICAgIHN0YXRpYyBIYXNoTWFwPFBhZ2VJZGVudGlmaWVyLCBSZWY8QVhJ
c29sYXRlZFRyZWU+PiYgdHJlZVBhZ2VDYWNoZSgpIFdURl9SRVFVSVJFU19MT0NLKHNfY2FjaGVM
b2NrKTsKKyAgICBzdGF0aWMgSGFzaE1hcDxBWElzb2xhdGVkVHJlZUlELCBSZWY8QVhJc29sYXRl
ZFRyZWU+PiYgdHJlZUlEQ2FjaGUoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShzX2NhY2hlTG9j
ayk7CisgICAgc3RhdGljIEhhc2hNYXA8UGFnZUlkZW50aWZpZXIsIFJlZjxBWElzb2xhdGVkVHJl
ZT4+JiB0cmVlUGFnZUNhY2hlKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc19jYWNoZUxvY2sp
OwogCiAgICAgLy8gTWV0aG9kcyBpbiB0aGlzIGJsb2NrIGFyZSBjYWxsZWQgb24gdGhlIG1haW4g
dGhyZWFkLgogICAgIC8vIENvbXB1dGVzIHRoZSBwYXJlbnQgSUQgb2YgdGhlIGdpdmVuIG9iamVj
dCwgd2hpY2ggaXMgZ2VuZXJhbGx5IHRoZSAiYXNzdW1lZCIgcGFyZW50IElEIChidXQgbm90IGFs
d2F5cywgbGlrZSBpbiB0aGUgY2FzZSBvZiB0YWJsZXMpLgogICAgIEFYSUQgcGFyZW50SURGb3JP
YmplY3QoQVhDb3JlT2JqZWN0JiwgQVhJRCBhc3N1bWVkUGFyZW50SUQpOwogICAgIE5vZGVDaGFu
Z2Ugbm9kZUNoYW5nZUZvck9iamVjdChBWENvcmVPYmplY3QmLCBBWElEIHBhcmVudElELCBib29s
IGF0dGFjaFdyYXBwZXIgPSB0cnVlKTsKICAgICB2b2lkIGNvbGxlY3ROb2RlQ2hhbmdlc0ZvclN1
YnRyZWUoQVhDb3JlT2JqZWN0JiwgQVhJRCBwYXJlbnRJRCwgYm9vbCBhdHRhY2hXcmFwcGVyLCBW
ZWN0b3I8Tm9kZUNoYW5nZT4mLCBIYXNoU2V0PEFYSUQ+KiA9IG51bGxwdHIpOwotICAgIHZvaWQg
cXVldWVDaGFuZ2UoY29uc3QgTm9kZUNoYW5nZSYpIFdURl9SRVFVSVJFU19MT0NLKG1fY2hhbmdl
TG9nTG9jayk7CisgICAgdm9pZCBxdWV1ZUNoYW5nZShjb25zdCBOb2RlQ2hhbmdlJikgV1RGX1JF
UVVJUkVTX0NBUEFCSUxJVFkobV9jaGFuZ2VMb2dMb2NrKTsKICAgICB2b2lkIHF1ZXVlQ2hhbmdl
c0FuZFJlbW92YWxzKGNvbnN0IFZlY3RvcjxOb2RlQ2hhbmdlPiYsIGNvbnN0IFZlY3RvcjxBWElE
PiYgPSB7IH0pOwogCiAgICAgQVhJc29sYXRlZFRyZWVJRCBtX3RyZWVJRDsKQEAgLTQxMSwxNSAr
NDExLDE1IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBWElELCBSZWY8QVhJc29sYXRlZE9iamVj
dD4+IG1fcmVhZGVyVGhyZWFkTm9kZU1hcDsKIAogICAgIC8vIFdyaXR0ZW4gdG8gYnkgbWFpbiB0
aHJlYWQgdW5kZXIgbG9jaywgYWNjZXNzZWQgYW5kIGFwcGxpZWQgYnkgQVggdGhyZWFkLgotICAg
IFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBtX3Jvb3ROb2RlIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9jaGFuZ2VMb2dMb2NrKTsKLSAgICBWZWN0b3I8Tm9kZUNoYW5nZT4gbV9wZW5kaW5nQXBwZW5k
cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2hhbmdlTG9nTG9jayk7IC8vIE5vZGVzIHRvIGJlIGFk
ZGVkIHRvIHRoZSB0cmVlIGFuZCBwbGF0Zm9ybS13cmFwcGVkLgotICAgIFZlY3RvcjxBWFByb3Bl
cnR5Q2hhbmdlPiBtX3BlbmRpbmdQcm9wZXJ0eUNoYW5nZXMgV1RGX0dVQVJERURfQllfTE9DSyht
X2NoYW5nZUxvZ0xvY2spOwotICAgIFZlY3RvcjxBWElEPiBtX3BlbmRpbmdOb2RlUmVtb3ZhbHMg
V1RGX0dVQVJERURfQllfTE9DSyhtX2NoYW5nZUxvZ0xvY2spOyAvLyBOb2RlcyB0byBiZSByZW1v
dmVkIGZyb20gdGhlIHRyZWUuCi0gICAgVmVjdG9yPEFYSUQ+IG1fcGVuZGluZ1N1YnRyZWVSZW1v
dmFscyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2hhbmdlTG9nTG9jayk7IC8vIE5vZGVzIHdob3Nl
IHN1YnRyZWVzIGFyZSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHRyZWUuCi0gICAgVmVjdG9yPHN0
ZDo6cGFpcjxBWElELCBWZWN0b3I8QVhJRD4+PiBtX3BlbmRpbmdDaGlsZHJlblVwZGF0ZXMgV1RG
X0dVQVJERURfQllfTE9DSyhtX2NoYW5nZUxvZ0xvY2spOwotICAgIEFYSUQgbV9wZW5kaW5nRm9j
dXNlZE5vZGVJRCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2hhbmdlTG9nTG9jayk7CisgICAgUmVm
UHRyPEFYSXNvbGF0ZWRPYmplY3Q+IG1fcm9vdE5vZGUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElU
WShtX2NoYW5nZUxvZ0xvY2spOworICAgIFZlY3RvcjxOb2RlQ2hhbmdlPiBtX3BlbmRpbmdBcHBl
bmRzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jaGFuZ2VMb2dMb2NrKTsgLy8gTm9kZXMg
dG8gYmUgYWRkZWQgdG8gdGhlIHRyZWUgYW5kIHBsYXRmb3JtLXdyYXBwZWQuCisgICAgVmVjdG9y
PEFYUHJvcGVydHlDaGFuZ2U+IG1fcGVuZGluZ1Byb3BlcnR5Q2hhbmdlcyBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKG1fY2hhbmdlTG9nTG9jayk7CisgICAgVmVjdG9yPEFYSUQ+IG1fcGVuZGlu
Z05vZGVSZW1vdmFscyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fY2hhbmdlTG9nTG9jayk7
IC8vIE5vZGVzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgdHJlZS4KKyAgICBWZWN0b3I8QVhJRD4g
bV9wZW5kaW5nU3VidHJlZVJlbW92YWxzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jaGFu
Z2VMb2dMb2NrKTsgLy8gTm9kZXMgd2hvc2Ugc3VidHJlZXMgYXJlIHRvIGJlIHJlbW92ZWQgZnJv
bSB0aGUgdHJlZS4KKyAgICBWZWN0b3I8c3RkOjpwYWlyPEFYSUQsIFZlY3RvcjxBWElEPj4+IG1f
cGVuZGluZ0NoaWxkcmVuVXBkYXRlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fY2hhbmdl
TG9nTG9jayk7CisgICAgQVhJRCBtX3BlbmRpbmdGb2N1c2VkTm9kZUlEIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9jaGFuZ2VMb2dMb2NrKTsKICAgICBBWElEIG1fZm9jdXNlZE5vZGVJRDsK
LSAgICBkb3VibGUgbV9wZW5kaW5nTG9hZGluZ1Byb2dyZXNzIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9jaGFuZ2VMb2dMb2NrKSB7IDAgfTsKKyAgICBkb3VibGUgbV9wZW5kaW5nTG9hZGluZ1Byb2dy
ZXNzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jaGFuZ2VMb2dMb2NrKSB7IDAgfTsKICAg
ICBkb3VibGUgbV9sb2FkaW5nUHJvZ3Jlc3MgeyAwIH07CiAgICAgTG9jayBtX2NoYW5nZUxvZ0xv
Y2s7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmgKaW5kZXggMGE1OGU3ZTlkNjcxYmVkZjc2NmZmMmI4MzY3NTA0MTI0Y2IxZDFjYi4uZDczOTc3
ZDc4ZjAwOGYwZWRkY2IyM2UwNGVjMjQ0ZDU0ODliZGEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC01NywxMCArNTcsMTAgQEAgcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKIAogcHVibGljOgot
ICAgIExvY2smIGdjTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9nY0xvY2spIHsgcmV0dXJuIG1f
Z2NMb2NrOyB9CisgICAgTG9jayYgZ2NMb2NrKCkgV1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX2dj
TG9jaykgeyByZXR1cm4gbV9nY0xvY2s7IH0gLy8gTk9MSU5UCiAKLSAgICBKU0RPTVN0cnVjdHVy
ZU1hcCYgc3RydWN0dXJlcygpIFdURl9SRVFVSVJFU19MT0NLKG1fZ2NMb2NrKSB7IHJldHVybiBt
X3N0cnVjdHVyZXM7IH0KLSAgICBET01HdWFyZGVkT2JqZWN0U2V0JiBndWFyZGVkT2JqZWN0cygp
IFdURl9SRVFVSVJFU19MT0NLKG1fZ2NMb2NrKSB7IHJldHVybiBtX2d1YXJkZWRPYmplY3RzOyB9
CisgICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShtX2djTG9jaykgeyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9IC8vIE5PTElOVAorICAgIERP
TUd1YXJkZWRPYmplY3RTZXQmIGd1YXJkZWRPYmplY3RzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkobV9nY0xvY2spIHsgcmV0dXJuIG1fZ3VhcmRlZE9iamVjdHM7IH0gLy8gTk9MSU5UCiAgICAg
RE9NQ29uc3RydWN0b3JzJiBjb25zdHJ1Y3RvcnMoKSB7IHJldHVybiAqbV9jb25zdHJ1Y3RvcnM7
IH0KIAogICAgIC8vIE5vIGxvY2tpbmcgaXMgbmVjZXNzYXJ5IGZvciBjYWxsIHNpdGVzIHRoYXQg
ZG8gbm90IG11dGF0ZSB0aGUgY29udGFpbmVycyBhbmQgYXJlIG5vdCBvbiB0aGUgR0MgdGhyZWFk
LgpAQCAtMTIzLDggKzEyMyw4IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgSlNDOjpKU0ludGVy
bmFsUHJvbWlzZSogbW9kdWxlTG9hZGVySW1wb3J0TW9kdWxlKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkpTTW9kdWxlTG9hZGVyKiwgSlNDOjpKU1N0cmluZyosIEpTQzo6SlNWYWx1ZSwgY29u
c3QgSlNDOjpTb3VyY2VPcmlnaW4mKTsKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogbW9kdWxl
TG9hZGVyQ3JlYXRlSW1wb3J0TWV0YVByb3BlcnRpZXMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6SlNNb2R1bGVMb2FkZXIqLCBKU0M6OkpTVmFsdWUsIEpTQzo6SlNNb2R1bGVSZWNvcmQqLCBK
U0M6OkpTVmFsdWUpOwogCi0gICAgSlNET01TdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9nY0xvY2spOwotICAgIERPTUd1YXJkZWRPYmplY3RTZXQgbV9ndWFy
ZGVkT2JqZWN0cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZ2NMb2NrKTsKKyAgICBKU0RPTVN0cnVj
dHVyZU1hcCBtX3N0cnVjdHVyZXMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2djTG9jayk7
CisgICAgRE9NR3VhcmRlZE9iamVjdFNldCBtX2d1YXJkZWRPYmplY3RzIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9nY0xvY2spOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Db25zdHJ1Y3Rv
cnM+IG1fY29uc3RydWN0b3JzOwogCiAgICAgUmVmPERPTVdyYXBwZXJXb3JsZD4gbV93b3JsZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5t
bSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQppbmRleCAz
MWMyMjhjMDIyYjAzYzY3YjdjN2VjNWFjNWZjMTJiOTEwMmIwMTdmLi43NmMyZTkxNWFlNzc4ZDUz
YzhhZjZhODBjNjAwNDlmZDRhZTk4ZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvV2ViU2NyaXB0T2JqZWN0Lm1tCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBMb2NrIHdyYXBw
ZXJDYWNoZUxvY2s7CiBzdGF0aWMgQ3JlYXRlV3JhcHBlckZ1bmN0aW9uIGNyZWF0ZURPTVdyYXBw
ZXJGdW5jdGlvbjsKIHN0YXRpYyBEaXNjb25uZWN0V2luZG93V3JhcHBlckZ1bmN0aW9uIGRpc2Nv
bm5lY3RXaW5kb3dXcmFwcGVyRnVuY3Rpb247CiAKLXN0YXRpYyBIYXNoTWFwPEpTT2JqZWN0Kiwg
TlNPYmplY3QgKj4mIHdyYXBwZXJDYWNoZSgpIFdURl9SRVFVSVJFU19MT0NLKHdyYXBwZXJDYWNo
ZUxvY2spCitzdGF0aWMgSGFzaE1hcDxKU09iamVjdCosIE5TT2JqZWN0ICo+JiB3cmFwcGVyQ2Fj
aGUoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSh3cmFwcGVyQ2FjaGVMb2NrKQogewogICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPEpTT2JqZWN0KiwgTlNPYmplY3QgKj4+IG1hcDsK
ICAgICByZXR1cm4gbWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0
b0FsZ29yaXRobVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3Jp
dGhtUmVnaXN0cnkuaAppbmRleCA0OWQ3NWIyYWZlZWEyYjk5NTE3MzVjZmI4ODZkYWQzOGUxN2Iy
MGJlLi5lMTZiMmFjMTk3ZjM3ZDk1MTllYTM1ZTdmYTY2NWFmZmZlMTcyYThiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaApAQCAtNjQsOCAr
NjQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJBbGdvcml0aG0oY29uc3QgU3RyaW5n
JiBuYW1lLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1Db25zdHJ1
Y3Rvcik7CiAKICAgICBMb2NrIG1fbG9jazsKLSAgICBIYXNoTWFwPFN0cmluZywgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2lkZW50aWZpZXJz
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKLSAgICBIYXNoTWFwPHVuc2lnbmVkLCBzdGQ6
OnBhaXI8U3RyaW5nLCBDcnlwdG9BbGdvcml0aG1Db25zdHJ1Y3Rvcj4+IG1fY29uc3RydWN0b3Jz
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKKyAgICBIYXNoTWFwPFN0cmluZywgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2lkZW50aWZp
ZXJzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKKyAgICBIYXNoTWFwPHVuc2ln
bmVkLCBzdGQ6OnBhaXI8U3RyaW5nLCBDcnlwdG9BbGdvcml0aG1Db25zdHJ1Y3Rvcj4+IG1fY29u
c3RydWN0b3JzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ccm9hZGNh
c3RDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ccm9hZGNhc3RDaGFubmVsLmNwcApp
bmRleCBlNzYyNTNjZDY0OGI0OTgwMWY5YzM0MjU2NmY3NDZiNGUyOWM3MzM2Li41YjQyOWM5NTFl
MTY0NjBkMjAyOThlZmM5MzY3ZWY3NzU3OGUxYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vQnJvYWRjYXN0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Jyb2Fk
Y2FzdENoYW5uZWwuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChCcm9hZGNhc3RDaGFubmVsKTsKIAogc3RhdGljIExv
Y2sgYWxsQnJvYWRjYXN0Q2hhbm5lbHNMb2NrOwotc3RhdGljIEhhc2hNYXA8QnJvYWRjYXN0Q2hh
bm5lbElkZW50aWZpZXIsIEJyb2FkY2FzdENoYW5uZWwqPiYgYWxsQnJvYWRjYXN0Q2hhbm5lbHMo
KSBXVEZfUkVRVUlSRVNfTE9DSyhhbGxCcm9hZGNhc3RDaGFubmVsc0xvY2spCitzdGF0aWMgSGFz
aE1hcDxCcm9hZGNhc3RDaGFubmVsSWRlbnRpZmllciwgQnJvYWRjYXN0Q2hhbm5lbCo+JiBhbGxC
cm9hZGNhc3RDaGFubmVscygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGFsbEJyb2FkY2FzdENo
YW5uZWxzTG9jaykKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxCcm9hZGNh
c3RDaGFubmVsSWRlbnRpZmllciwgQnJvYWRjYXN0Q2hhbm5lbCo+PiBtYXA7CiAgICAgcmV0dXJu
IG1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmluZGV4IDE3N2Y4ZTQzZDQ1OGQ0OWVi
ZjEyYWFiZjY1MzQwYjk5NTU3NDE4YWYuLjBiYjRiMTFmOWJlMjA2MjkyMTMxMzhjYmRhZDZhNjc3
YjQ1MTA2NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcApAQCAtNDYsNyArNDYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTWVzc2Fn
ZVBvcnQpOwogCiBzdGF0aWMgTG9jayBhbGxNZXNzYWdlUG9ydHNMb2NrOwotc3RhdGljIEhhc2hN
YXA8TWVzc2FnZVBvcnRJZGVudGlmaWVyLCBNZXNzYWdlUG9ydCo+JiBhbGxNZXNzYWdlUG9ydHMo
KSBXVEZfUkVRVUlSRVNfTE9DSyhhbGxNZXNzYWdlUG9ydHNMb2NrKQorc3RhdGljIEhhc2hNYXA8
TWVzc2FnZVBvcnRJZGVudGlmaWVyLCBNZXNzYWdlUG9ydCo+JiBhbGxNZXNzYWdlUG9ydHMoKSBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWShhbGxNZXNzYWdlUG9ydHNMb2NrKQogewogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPE1lc3NhZ2VQb3J0SWRlbnRpZmllciwgTWVzc2FnZVBv
cnQqPj4gbWFwOwogICAgIHJldHVybiBtYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggYjViOTVhZGM2YWYzNTVkMTU0MzI0NWFmYWU4NDFk
MDI4MTU1OGU2ZC4uY2IxNTcyMTYyODFiZjUzNTZhNGEyM2VmZWViMzQ1NzQ5MDVlZDRjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtODYs
NyArODYsNyBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogc3RhdGljIHN0ZDo6YXRvbWlj
PENyb3NzT3JpZ2luTW9kZT4gZ2xvYmFsQ3Jvc3NPcmlnaW5Nb2RlIHsgQ3Jvc3NPcmlnaW5Nb2Rl
OjpTaGFyZWQgfTsKIAogc3RhdGljIExvY2sgYWxsU2NyaXB0RXhlY3V0aW9uQ29udGV4dHNNYXBM
b2NrOwotc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqPiYgYWxsU2NyaXB0RXhlY3V0aW9uQ29udGV4dHNNYXAoKSBX
VEZfUkVRVUlSRVNfTE9DSyhhbGxTY3JpcHRFeGVjdXRpb25Db250ZXh0c01hcExvY2spCitzdGF0
aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCo+JiBhbGxTY3JpcHRFeGVjdXRpb25Db250ZXh0c01hcCgpIFdURl9SRVFVSVJF
U19DQVBBQklMSVRZKGFsbFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRzTWFwTG9jaykKIHsKICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllciwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCo+PiBjb250ZXh0czsKICAgICBBU1NFUlQoYWxs
U2NyaXB0RXhlY3V0aW9uQ29udGV4dHNNYXBMb2NrLmlzTG9ja2VkKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDVh
ZTc5YmYwYjllMzkwYjNhYTYxNTNkMjYwMThkN2ZiMWJlYzk1MjMuLmZlZGEzM2RkNzRmYmRjMzNj
ZTAyZjdjMjQzOTNmZTE4NWQ5ZTU1MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTUyLDggKzUyLDggQEAgY2xhc3Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgewogcHVibGlj
OgogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKTsKIAotICAgIHN0YXRpYyBI
YXNoU2V0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQqPiYgaW5zdGFuY2VzKCkgV1RGX1JFUVVJUkVT
X0xPQ0soaW5zdGFuY2VzTG9jaygpKTsKLSAgICBzdGF0aWMgTG9jayYgaW5zdGFuY2VzTG9jaygp
IFdURl9SRVRVUk5TX0xPQ0soc19pbnN0YW5jZXNMb2NrKTsKKyAgICBzdGF0aWMgSGFzaFNldDxD
YW52YXNSZW5kZXJpbmdDb250ZXh0Kj4mIGluc3RhbmNlcygpIFdURl9SRVFVSVJFU19DQVBBQklM
SVRZKGluc3RhbmNlc0xvY2soKSk7CisgICAgc3RhdGljIExvY2smIGluc3RhbmNlc0xvY2soKSBX
VEZfUkVUVVJOU19DQVBBQklMSVRZKHNfaW5zdGFuY2VzTG9jayk7CiAKICAgICB2b2lkIHJlZigp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVyZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xQcm9ncmFtLmgKaW5kZXggN2I4ZWI3ZDAzYjM0MjE3MWY2ZGVkOTNjM2Y5ZGVh
N2MwOTlkOGUzZS4uN2UxYTAwYWEzZDU5NTZhODk4OWJmZjVjYTJiNDI2ZGU4OWI1MTlmYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmgKQEAgLTUzLDggKzUzLDgg
QEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViR0xQcm9ncmFtPiBjcmVhdGUoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZSYpOwogICAgIHZpcnR1YWwgfldlYkdMUHJvZ3JhbSgpOwogCi0gICAg
c3RhdGljIEhhc2hNYXA8V2ViR0xQcm9ncmFtKiwgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSo+
JiBpbnN0YW5jZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhpbnN0YW5jZXNMb2NrKCkpOwotICAgIHN0
YXRpYyBMb2NrJiBpbnN0YW5jZXNMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhzX2luc3RhbmNlc0xv
Y2spOworICAgIHN0YXRpYyBIYXNoTWFwPFdlYkdMUHJvZ3JhbSosIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UqPiYgaW5zdGFuY2VzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoaW5zdGFuY2Vz
TG9jaygpKTsKKyAgICBzdGF0aWMgTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9SRVRVUk5TX0NB
UEFCSUxJVFkoc19pbnN0YW5jZXNMb2NrKTsKIAogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgp
IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXggYjU0NTdlNzEzN2Y4NDI2ZGMwMzEwNGI0YzRlNmEz
ZmIyMjI0YzNiYy4uYzAwMDFhNDIwYzA1NDRkOGE1Nzg0ZDZkN2U1OTA4OTQ2MTg5ZWRiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuaApAQCAtNDMwLDcgKzQzMCw3IEBAIHB1YmxpYzoKICAgICAvLyBjdXJyZW50bHkg
bGF0Y2hlZCBpbnRvIHRoZSBjb250ZXh0IC0gd2l0aG91dCB0cmF2ZXJzaW5nIGFsbCBvZgogICAg
IC8vIHRoZSBsYXRjaGVkIG9iamVjdHMgdG8gZmluZCB0aGUgY3VycmVudCBvbmUsIHdoaWNoIHdv
dWxkIGJlCiAgICAgLy8gcHJvaGliaXRpdmVseSBleHBlbnNpdmUuCi0gICAgTG9jayYgb2JqZWN0
R3JhcGhMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX29iamVjdEdyYXBoTG9jayk7CisgICAgTG9j
ayYgb2JqZWN0R3JhcGhMb2NrKCkgV1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX29iamVjdEdyYXBo
TG9jayk7CiAKIHByb3RlY3RlZDoKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKENhbnZh
c0Jhc2UmLCBXZWJHTENvbnRleHRBdHRyaWJ1dGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5oCmluZGV4IDcyZjQy
M2ZmNjEyNzdlZWY0YmQzNTYzMjhjNDZkM2JkOTEzMWZmNjUuLjVmZTYzMGRmNjYzMWZiYzU0NzVl
ZjY3NzYxZmJjMTJjZGE1NjliZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yTmV0d29ya0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuaApAQCAtMTM0LDcgKzEzNCw3IEBA
IHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgSW5zcGVjdG9yOjpQcm90b2NvbDo6TmV0d29yazo6
TG9hZGVySWQgbG9hZGVySWRlbnRpZmllcihEb2N1bWVudExvYWRlciopID0gMDsKICAgICB2aXJ0
dWFsIEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OkZyYW1lSWQgZnJhbWVJZGVudGlmaWVy
KERvY3VtZW50TG9hZGVyKikgPSAwOwotICAgIHZpcnR1YWwgVmVjdG9yPFdlYlNvY2tldCo+IGFj
dGl2ZVdlYlNvY2tldHMoKSBXVEZfUkVRVUlSRVNfTE9DSyhXZWJTb2NrZXQ6OmFsbEFjdGl2ZVdl
YlNvY2tldHNMb2NrKCkpID0gMDsKKyAgICB2aXJ0dWFsIFZlY3RvcjxXZWJTb2NrZXQqPiBhY3Rp
dmVXZWJTb2NrZXRzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoV2ViU29ja2V0OjphbGxBY3Rp
dmVXZWJTb2NrZXRzTG9jaygpKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFJlc291cmNlQ2Fj
aGluZ0Rpc2FibGVkSW50ZXJuYWwoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dChJbnNwZWN0b3I6OlByb3RvY29sOjpF
cnJvclN0cmluZyYsIGNvbnN0IEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OkZyYW1lSWQm
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEZvcmNlQnVmZmVyaW5nTmV0d29ya1Jlc291
cmNlRGF0YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvV2ViSGVhcEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvV2ViSGVhcEFnZW50LmNwcAppbmRleCA2MTYyNzg4ZTY2NjNjODYwNDY2NTdiZjNhOTRhZTU4
ZTJiZmYxNzY3Li4zYjE3NDgxN2RiZWFjZTRjYzAxOTAwM2U4NzAwMGQzMGFhMzU1ZTBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL1dlYkhlYXBBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9XZWJIZWFwQWdlbnQuY3BwCkBA
IC01Miw3ICs1Miw3IEBAIHByaXZhdGU6CiAKICAgICBXZWJIZWFwQWdlbnQmIG1fYWdlbnQ7CiAg
ICAgTG9jayBtX2NvbGxlY3Rpb25zTG9jazsKLSAgICBWZWN0b3I8R2FyYmFnZUNvbGxlY3Rpb25E
YXRhPiBtX2NvbGxlY3Rpb25zIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jb2xsZWN0aW9uc0xvY2sp
OworICAgIFZlY3RvcjxHYXJiYWdlQ29sbGVjdGlvbkRhdGE+IG1fY29sbGVjdGlvbnMgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2NvbGxlY3Rpb25zTG9jayk7CiAgICAgUnVuTG9vcDo6VGlt
ZXI8U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzaz4gbV90aW1lcjsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlTmV0d29ya0Fn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3BhZ2UvUGFnZU5ldHdvcmtB
Z2VudC5oCmluZGV4IDRiNjZjMmVhYTk4NDE0NGFkYTI2ZGNhMDM5NzBlODAxYjQyYjFlYWQuLjg1
M2VhYTBkMWI1M2YwYjUzODE0ODdmODJiNWFmYzZmOGEzZjhkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvcGFnZS9QYWdlTmV0d29ya0FnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9wYWdlL1BhZ2VOZXR3b3JrQWdlbnQuaApA
QCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEluc3BlY3Rvcjo6UHJvdG9j
b2w6Ok5ldHdvcms6OkxvYWRlcklkIGxvYWRlcklkZW50aWZpZXIoRG9jdW1lbnRMb2FkZXIqKTsK
ICAgICBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpGcmFtZUlkIGZyYW1lSWRlbnRpZmll
cihEb2N1bWVudExvYWRlciopOwotICAgIFZlY3RvcjxXZWJTb2NrZXQqPiBhY3RpdmVXZWJTb2Nr
ZXRzKCkgV1RGX1JFUVVJUkVTX0xPQ0soV2ViU29ja2V0OjphbGxBY3RpdmVXZWJTb2NrZXRzTG9j
aygpKTsKKyAgICBWZWN0b3I8V2ViU29ja2V0Kj4gYWN0aXZlV2ViU29ja2V0cygpIFdURl9SRVFV
SVJFU19DQVBBQklMSVRZKFdlYlNvY2tldDo6YWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKSk7CiAg
ICAgdm9pZCBzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEludGVybmFsKGJvb2wpOwogICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoSW5zcGVjdG9yOjpQ
cm90b2NvbDo6RXJyb3JTdHJpbmcmLCBjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3Jr
OjpGcmFtZUlkJik7CiAgICAgYm9vbCBzaG91bGRGb3JjZUJ1ZmZlcmluZ05ldHdvcmtSZXNvdXJj
ZURhdGEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy93b3JrZXIvV29ya2VyTmV0d29ya0FnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3dvcmtlci9Xb3JrZXJOZXR3b3JrQWdlbnQuaAppbmRl
eCBkZTE0ZGVkMmFiYmUxNmIwNzVhNDJhYmJkNzA4YjdkZDM4MDViMjNkLi43YjlmNzA1MzNjY2Mx
Njc3MTNiN2UxMmYzOTQ0N2Q1MmZhY2VjM2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL3dvcmtlci9Xb3JrZXJOZXR3b3JrQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL3dvcmtlci9Xb3JrZXJOZXR3b3JrQWdlbnQuaApAQCAt
MzksNyArMzksNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEluc3BlY3Rvcjo6UHJvdG9jb2w6
Ok5ldHdvcms6OkxvYWRlcklkIGxvYWRlcklkZW50aWZpZXIoRG9jdW1lbnRMb2FkZXIqKTsKICAg
ICBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpGcmFtZUlkIGZyYW1lSWRlbnRpZmllcihE
b2N1bWVudExvYWRlciopOwotICAgIFZlY3RvcjxXZWJTb2NrZXQqPiBhY3RpdmVXZWJTb2NrZXRz
KCkgV1RGX1JFUVVJUkVTX0xPQ0soV2ViU29ja2V0OjphbGxBY3RpdmVXZWJTb2NrZXRzTG9jaygp
KTsKKyAgICBWZWN0b3I8V2ViU29ja2V0Kj4gYWN0aXZlV2ViU29ja2V0cygpIFdURl9SRVFVSVJF
U19DQVBBQklMSVRZKFdlYlNvY2tldDo6YWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKSk7CiAgICAg
dm9pZCBzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEludGVybmFsKGJvb2wpOwogICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoSW5zcGVjdG9yOjpQcm90
b2NvbDo6RXJyb3JTdHJpbmcmLCBjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpG
cmFtZUlkJik7CiAgICAgYm9vbCBzaG91bGRGb3JjZUJ1ZmZlcmluZ05ldHdvcmtSZXNvdXJjZURh
dGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VV
c2FnZVRocmVhZC5oCmluZGV4IGEwMWFkN2ZkZTE5Y2VhMjY1YWFmZDNkYzU3ZmQwMTYyZDY1YTIy
MGQuLjBkNTY0NGVjZDE1NGY4ZDNmMjg5MGViOGU4NDJmMGI0NGQwN2UxM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCkBAIC02OSw3ICs2OSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB3YWl0VW50aWxPYnNlcnZlcnMoKTsKICAgICB2b2lkIG5vdGlmeU9ic2Vy
dmVycyhSZXNvdXJjZVVzYWdlRGF0YSYmKTsKIAotICAgIHZvaWQgcmVjb21wdXRlQ29sbGVjdGlv
bk1vZGUoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX29ic2VydmVyc0xvY2spOworICAgIHZvaWQgcmVj
b21wdXRlQ29sbGVjdGlvbk1vZGUoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX29ic2VydmVy
c0xvY2spOwogCiAgICAgdm9pZCBjcmVhdGVUaHJlYWRJZk5lZWRlZCgpOwogICAgIE5PX1JFVFVS
TiB2b2lkIHRocmVhZEJvZHkoKTsKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8VGhyZWFkPiBtX3RocmVhZDsKICAgICBMb2NrIG1fb2JzZXJ2ZXJzTG9jazsKICAgICBDb25k
aXRpb24gbV9jb25kaXRpb247Ci0gICAgSGFzaE1hcDx2b2lkKiwgc3RkOjpwYWlyPFJlc291cmNl
VXNhZ2VDb2xsZWN0aW9uTW9kZSwgc3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IFJlc291cmNlVXNh
Z2VEYXRhJik+Pj4gbV9vYnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX29ic2VydmVyc0xv
Y2spOworICAgIEhhc2hNYXA8dm9pZCosIHN0ZDo6cGFpcjxSZXNvdXJjZVVzYWdlQ29sbGVjdGlv
bk1vZGUsIHN0ZDo6ZnVuY3Rpb248dm9pZChjb25zdCBSZXNvdXJjZVVzYWdlRGF0YSYpPj4+IG1f
b2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9vYnNlcnZlcnNMb2NrKTsKICAg
ICBSZXNvdXJjZVVzYWdlQ29sbGVjdGlvbk1vZGUgbV9jb2xsZWN0aW9uTW9kZSB7IE5vbmUgfTsK
IAogICAgIC8vIFBsYXRmb3JtcyBtYXkgbmVlZCB0byBhY2Nlc3Mgc29tZSBkYXRhIGZyb20gdGhl
IGNvbW1vbiBWTS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xp
Y3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGljeS5jcHAKaW5kZXggNjhi
NDkxNDJiNmU0NDNjOTNhM2FhYzk4ZDQ0ZjBlNjgyMjc1M2JjYS4uMzQ2NDBjOWRmMGMxODg0Mzky
YTdlN2E2MWQxZDcxYjFjMTcwNzk3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eVBvbGlj
eS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdXNpbmcgT3JpZ2luQWNjZXNzQWxsb3dsaXN0ID0gVmVj
dG9yPE9yaWdpbkFjY2Vzc0VudHJ5PjsKIHVzaW5nIE9yaWdpbkFjY2Vzc01hcCA9IEhhc2hNYXA8
U2VjdXJpdHlPcmlnaW5EYXRhLCBzdGQ6OnVuaXF1ZV9wdHI8T3JpZ2luQWNjZXNzQWxsb3dsaXN0
Pj47CiAKIHN0YXRpYyBMb2NrIG9yaWdpbkFjY2Vzc01hcExvY2s7Ci1zdGF0aWMgT3JpZ2luQWNj
ZXNzTWFwJiBvcmlnaW5BY2Nlc3NNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhvcmlnaW5BY2Nlc3NN
YXBMb2NrKQorc3RhdGljIE9yaWdpbkFjY2Vzc01hcCYgb3JpZ2luQWNjZXNzTWFwKCkgV1RGX1JF
UVVJUkVTX0NBUEFCSUxJVFkob3JpZ2luQWNjZXNzTWFwTG9jaykKIHsKICAgICBBU1NFUlQob3Jp
Z2luQWNjZXNzTWFwTG9jay5pc0hlbGQoKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE9y
aWdpbkFjY2Vzc01hcD4gb3JpZ2luQWNjZXNzTWFwOwpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMg
T3JpZ2luQWNjZXNzTWFwJiBvcmlnaW5BY2Nlc3NNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhvcmln
aW5BY2Nlc3NNYXBMb2NrKQogfQogCiBzdGF0aWMgTG9jayBvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9j
azsKLXN0YXRpYyBWZWN0b3I8VXNlckNvbnRlbnRVUkxQYXR0ZXJuPiYgb3JpZ2luQWNjZXNzUGF0
dGVybnMoKSBXVEZfUkVRVUlSRVNfTE9DSyhvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jaykKK3N0YXRp
YyBWZWN0b3I8VXNlckNvbnRlbnRVUkxQYXR0ZXJuPiYgb3JpZ2luQWNjZXNzUGF0dGVybnMoKSBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWShvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jaykKIHsKICAgICBB
U1NFUlQob3JpZ2luQWNjZXNzUGF0dGVybkxvY2suaXNIZWxkKCkpOwogICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxWZWN0b3I8VXNlckNvbnRlbnRVUkxQYXR0ZXJuPj4gb3JpZ2luQWNjZXNzUGF0
dGVybnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0TW9u
aXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdE1vbml0b3IuaAppbmRl
eCBkMTRiN2Y4NDg0YjZiZTYzYjRlMGM3NDU3ZTMzZTE0ZjQ0NDAxZjhkLi41Y2Y3MDI0N2M2NTVl
MzkwMzcyMWM2NGQ2NDE0MzFhNjEyNGViNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hl
ZWxFdmVudFRlc3RNb25pdG9yLmgKQEAgLTc1LDEyICs3NSwxMiBAQCBwcml2YXRlOgogICAgIFBh
Z2UmIG1fcGFnZTsKIAogICAgIExvY2sgbV9sb2NrOwotICAgIFNjcm9sbGFibGVBcmVhUmVhc29u
TWFwIG1fZGVmZXJDb21wbGV0aW9uUmVhc29ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7
Ci0gICAgYm9vbCBtX2V4cGVjdFdoZWVsRW5kT3JDYW5jZWwgV1RGX0dVQVJERURfQllfTE9DSyht
X2xvY2spIHsgZmFsc2UgfTsKLSAgICBib29sIG1fcmVjZWl2ZWRXaGVlbEVuZE9yQ2FuY2VsIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2V4cGVjdE1v
bWVudHVtRW5kIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07Ci0gICAgYm9v
bCBtX3JlY2VpdmVkTW9tZW50dW1FbmQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgZmFs
c2UgfTsKLSAgICBib29sIG1fZXZlckhhZERlZmVycmFsIFdURl9HVUFSREVEX0JZX0xPQ0sobV9s
b2NrKSB7IGZhbHNlIH07CisgICAgU2Nyb2xsYWJsZUFyZWFSZWFzb25NYXAgbV9kZWZlckNvbXBs
ZXRpb25SZWFzb25zIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKKyAgICBib29s
IG1fZXhwZWN0V2hlZWxFbmRPckNhbmNlbCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9j
aykgeyBmYWxzZSB9OworICAgIGJvb2wgbV9yZWNlaXZlZFdoZWVsRW5kT3JDYW5jZWwgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgZmFsc2UgfTsKKyAgICBib29sIG1fZXhwZWN0
TW9tZW50dW1FbmQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgZmFsc2UgfTsK
KyAgICBib29sIG1fcmVjZWl2ZWRNb21lbnR1bUVuZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZ
KG1fbG9jaykgeyBmYWxzZSB9OworICAgIGJvb2wgbV9ldmVySGFkRGVmZXJyYWwgV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNzIFdoZWVsRXZl
bnRUZXN0TW9uaXRvckNvbXBsZXRpb25EZWZlcnJlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKaW5kZXggYmQ0MGU4MGQ2MWQ1ZTk0NzZhMzcwNzRj
NzFjMjAyZDZiZjM2ZjljMy4uOGU2MGJhZWVjNDY5ODhjZmUwMjg5OWYzZDJmODQ3YzVlZWNhNDU1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaApA
QCAtMjIxLDEyICsyMjEsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2NrTGF5ZXJz
Rm9ySGl0VGVzdGluZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bmxvY2tMYXllcnNGb3JIaXRU
ZXN0aW5nKCkgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxpbmdTeW5jaHJvbml6ZWRX
aXRoTWFpblRocmVhZCgpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spIHsgcmV0dXJuIHRy
dWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxpbmdTeW5jaHJvbml6ZWRXaXRoTWFpblRo
cmVhZCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fdHJlZUxvY2spIHsgcmV0dXJuIHRydWU7
IH0KIAogICAgIHZpcnR1YWwgdm9pZCB3aWxsU2VuZEV2ZW50VG9NYWluVGhyZWFkKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3YWl0Rm9yRXZlbnRUb0Jl
UHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIHsgfTsKIAot
ICAgIExvY2smIHRyZWVMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhtX3RyZWVMb2NrKSB7IHJldHVy
biBtX3RyZWVMb2NrOyB9CisgICAgTG9jayYgdHJlZUxvY2soKSBXVEZfUkVUVVJOU19DQVBBQklM
SVRZKG1fdHJlZUxvY2spIHsgcmV0dXJuIG1fdHJlZUxvY2s7IH0KIAogICAgIHZvaWQgd2luZG93
U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlELCBzdGQ6Om9wdGlvbmFsPEZyYW1lc1Bl
clNlY29uZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCk7CiAgICAgUGxhdGZvcm1EaXNwbGF5SUQg
ZGlzcGxheUlEKCk7CkBAIC0yNDAsNyArMjQwLDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAg
IFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBoYW5kbGVXaGVlbEV2ZW50V2l0aE5vZGUoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0PFdoZWVsRXZlbnRQcm9jZXNzaW5nU3RlcHM+
LCBTY3JvbGxpbmdUcmVlTm9kZSosIEV2ZW50VGFyZ2V0aW5nID0gRXZlbnRUYXJnZXRpbmc6OlBy
b3BhZ2F0ZSk7CiAKLSAgICBGbG9hdFBvaW50IG1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKCkgY29u
c3QgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlU3RhdGVMb2NrKTsKKyAgICBGbG9hdFBvaW50IG1h
aW5GcmFtZVNjcm9sbFBvc2l0aW9uKCkgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV90
cmVlU3RhdGVMb2NrKTsKICAgICB2b2lkIHNldE1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKEZsb2F0
UG9pbnQpOwogCiAgICAgdm9pZCBzZXRHZXN0dXJlU3RhdGUoc3RkOjpvcHRpb25hbDxXaGVlbFNj
cm9sbEdlc3R1cmVTdGF0ZT4pOwpAQCAtMjQ4LDggKzI0OCw4IEBAIHByb3RlY3RlZDoKIAogICAg
IHN0ZDo6b3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKCk7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0lu
dGVybmFsKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7Ci0gICAgdm9pZCByZW1vdmVB
bGxOb2RlcygpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZpcnR1YWwgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShtX3RyZWVMb2NrKTsKKyAgICB2b2lkIHJlbW92ZUFsbE5vZGVzKCkgV1RG
X1JFUVVJUkVTX0NBUEFCSUxJVFkobV90cmVlTG9jayk7CiAgICAgCiAgICAgdmlydHVhbCB2b2lk
IGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKGJvb2wgLyogaGFzTm9kZVdpdGhBbmlt
YXRlZFNjcm9sbCAqLykgeyB9CiAKQEAgLTI2MCwxMiArMjYwLDEyIEBAIHByb3RlY3RlZDoKICAg
ICBMb2NrIG1fdHJlZUxvY2s7IC8vIFByb3RlY3RzIHRoZSBzY3JvbGxpbmcgdHJlZS4KIAogcHJp
dmF0ZToKLSAgICB2b2lkIHVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlUmVjdXJzaXZlKGNvbnN0IFNj
cm9sbGluZ1N0YXRlTm9kZSosIHN0cnVjdCBDb21taXRUcmVlU3RhdGUmKSBXVEZfUkVRVUlSRVNf
TE9DSyhtX3RyZWVMb2NrKTsKLSAgICB2aXJ0dWFsIHZvaWQgcHJvcGFnYXRlU3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYpIFdURl9SRVFV
SVJFU19MT0NLKG1fdHJlZUxvY2spIHsgfQorICAgIHZvaWQgdXBkYXRlVHJlZUZyb21TdGF0ZU5v
ZGVSZWN1cnNpdmUoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlKiwgc3RydWN0IENvbW1pdFRyZWVT
dGF0ZSYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fdHJlZUxvY2spOworICAgIHZpcnR1YWwg
dm9pZCBwcm9wYWdhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoY29uc3QgSGFzaFNldDxT
Y3JvbGxpbmdOb2RlSUQ+JikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV90cmVlTG9jaykgeyB9
CiAKLSAgICB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJlZU5v
ZGUmKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKKyAgICB2b2lkIGFwcGx5TGF5ZXJQ
b3NpdGlvbnNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJlZU5vZGUmKSBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShtX3RyZWVMb2NrKTsKICAgICB2b2lkIG5vdGlmeVJlbGF0ZWROb2Rlc1JlY3Vyc2l2ZShT
Y3JvbGxpbmdUcmVlTm9kZSYpOwotICAgIHZvaWQgdHJhdmVyc2VTY3JvbGxpbmdUcmVlUmVjdXJz
aXZlKFNjcm9sbGluZ1RyZWVOb2RlJiwgY29uc3QgVmlzaXRvckZ1bmN0aW9uJikgV1RGX1JFUVVJ
UkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgdm9pZCB0cmF2ZXJzZVNjcm9sbGluZ1RyZWVSZWN1
cnNpdmUoU2Nyb2xsaW5nVHJlZU5vZGUmLCBjb25zdCBWaXNpdG9yRnVuY3Rpb24mKSBXVEZfUkVR
VUlSRVNfQ0FQQUJJTElUWShtX3RyZWVMb2NrKTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q29tbWl0VHJlZSgpIHsgfQogCkBAIC0yNzQsNyArMjc0LDcgQEAgcHJpdmF0ZToKICAgICBXRUJD
T1JFX0VYUE9SVCB2aXJ0dWFsIE9wdGlvblNldDxFdmVudExpc3RlbmVyUmVnaW9uVHlwZT4gZXZl
bnRMaXN0ZW5lclJlZ2lvblR5cGVzRm9yUG9pbnQoRmxvYXRQb2ludCkgY29uc3Q7CiAjZW5kaWYK
IAotICAgIE9wdGlvblNldDxXaGVlbEV2ZW50UHJvY2Vzc2luZ1N0ZXBzPiBjb21wdXRlV2hlZWxQ
cm9jZXNzaW5nU3RlcHMoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgV1RGX1JFUVVJUkVTX0xP
Q0sobV90cmVlU3RhdGVMb2NrKTsKKyAgICBPcHRpb25TZXQ8V2hlZWxFdmVudFByb2Nlc3NpbmdT
dGVwcz4gY29tcHV0ZVdoZWVsUHJvY2Vzc2luZ1N0ZXBzKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fdHJlZVN0YXRlTG9jayk7CiAKICAgICB2aXJ0
dWFsIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIHsg
fQogCkBAIC0zMDQsNyArMzA0LDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIAogICAgIExvY2sg
bV90cmVlU3RhdGVMb2NrOwotICAgIFRyZWVTdGF0ZSBtX3RyZWVTdGF0ZSBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fdHJlZVN0YXRlTG9jayk7CisgICAgVHJlZVN0YXRlIG1fdHJlZVN0YXRlIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV90cmVlU3RhdGVMb2NrKTsKIAogICAgIHN0cnVjdCBTd2lw
ZVN0YXRlIHsKICAgICAgICAgU2Nyb2xsUGlubmluZ0JlaGF2aW9yIHNjcm9sbFBpbm5pbmdCZWhh
dmlvciB7IERvTm90UGluIH07CkBAIC0zMTgsMTMgKzMxOCwxMyBAQCBwcml2YXRlOgogICAgIH07
CiAKICAgICBMb2NrIG1fc3dpcGVTdGF0ZUxvY2s7Ci0gICAgU3dpcGVTdGF0ZSBtX3N3aXBlU3Rh
dGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3N3aXBlU3RhdGVMb2NrKTsKKyAgICBTd2lwZVN0YXRl
IG1fc3dpcGVTdGF0ZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc3dpcGVTdGF0ZUxvY2sp
OwogCiAgICAgTG9jayBtX3BlbmRpbmdTY3JvbGxVcGRhdGVzTG9jazsKLSAgICBWZWN0b3I8U2Ny
b2xsVXBkYXRlPiBtX3BlbmRpbmdTY3JvbGxVcGRhdGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9w
ZW5kaW5nU2Nyb2xsVXBkYXRlc0xvY2spOworICAgIFZlY3RvcjxTY3JvbGxVcGRhdGU+IG1fcGVu
ZGluZ1Njcm9sbFVwZGF0ZXMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3BlbmRpbmdTY3Jv
bGxVcGRhdGVzTG9jayk7CiAKICAgICBMb2NrIG1fbGFzdFdoZWVsRXZlbnRUaW1lTG9jazsKLSAg
ICBNb25vdG9uaWNUaW1lIG1fbGFzdFdoZWVsRXZlbnRUaW1lIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9sYXN0V2hlZWxFdmVudFRpbWVMb2NrKTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFdoZWVs
RXZlbnRUaW1lIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sYXN0V2hlZWxFdmVudFRpbWVM
b2NrKTsKIAogcHJvdGVjdGVkOgogICAgIGJvb2wgbV9hbGxvd0xhdGNoaW5nIHsgdHJ1ZSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUxh
dGNoaW5nQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oCmluZGV4IDJkNmVlNjczYjE0ZjUxNWE4ZjEwM2Jl
YzFkNzEzMDM2MTdkMjU0MjEuLmJmODA2MzFiZTMwMDFmYzY0Mzk3OWRlZGE3Mzk3Y2UwY2FhYjkz
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVMYXRjaGluZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIGxhdGNoZWROb2RlSXNSZWxldmFudCgpIGNvbnN0OwogCiAgICAgbXV0
YWJsZSBMb2NrIG1fbGF0Y2hlZE5vZGVMb2NrOwotICAgIHN0ZDo6b3B0aW9uYWw8U2Nyb2xsaW5n
Tm9kZUFuZFByb2Nlc3NpbmdTdGVwcz4gbV9sYXRjaGVkTm9kZUFuZFN0ZXBzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9sYXRjaGVkTm9kZUxvY2spOworICAgIHN0ZDo6b3B0aW9uYWw8U2Nyb2xsaW5n
Tm9kZUFuZFByb2Nlc3NpbmdTdGVwcz4gbV9sYXRjaGVkTm9kZUFuZFN0ZXBzIFdURl9HVUFSREVE
X0JZX0NBUEFCSUxJVFkobV9sYXRjaGVkTm9kZUxvY2spOwogICAgIHN0ZDo6b3B0aW9uYWw8T3B0
aW9uU2V0PFdoZWVsRXZlbnRQcm9jZXNzaW5nU3RlcHM+PiBtX3Byb2Nlc3NpbmdTdGVwc0ZvckN1
cnJlbnRHZXN0dXJlOwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TGF0Y2hlZE5vZGVJbnRlcmF0
aW9uVGltZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Ro
cmVhZGVkU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDQ2ZjFkOTUyNGJkNjQ4YjZhNTUxMjU0NDhiODVh
OTQ2YmQyNjIxNmUuLmE1Mzk5MDBmYzFmOGNhY2U0YTJkMjhlMGM1YTVmZGIwNzE2NzE3MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5n
VHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xs
aW5nVHJlZS5oCkBAIC02MiwxNyArNjIsMTcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbFN0YXJ0
UmVuZGVyaW5nVXBkYXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlUmVuZGVyaW5n
VXBkYXRlKCk7CiAKLSAgICBMb2NrJiB0cmVlTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV90cmVl
TG9jaykgeyByZXR1cm4gbV90cmVlTG9jazsgfQorICAgIExvY2smIHRyZWVMb2NrKCkgV1RGX1JF
VFVSTlNfQ0FQQUJJTElUWShtX3RyZWVMb2NrKSB7IHJldHVybiBtX3RyZWVMb2NrOyB9CiAKICAg
ICBib29sIHNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQW5p
bWF0b3JFbmFibGVkOyB9Ci0gICAgdm9pZCByZW1vdmVQZW5kaW5nU2Nyb2xsQW5pbWF0aW9uRm9y
Tm9kZShTY3JvbGxpbmdOb2RlSUQpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spIGZpbmFs
OworICAgIHZvaWQgcmVtb3ZlUGVuZGluZ1Njcm9sbEFuaW1hdGlvbkZvck5vZGUoU2Nyb2xsaW5n
Tm9kZUlEKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX3RyZWVMb2NrKSBmaW5hbDsKIAogcHJv
dGVjdGVkOgogICAgIGV4cGxpY2l0IFRocmVhZGVkU2Nyb2xsaW5nVHJlZShBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yJik7CiAKICAgICB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlJiwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiA9
IFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlN5bmMpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2Nyb2xsaW5nVHJlZU5vZGVEaWRTdG9wQW5pbWF0ZWRTY3JvbGwoU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUmKSBvdmVycmlkZTsKLSAgICBib29sIHNjcm9sbGluZ1RyZWVOb2RlUmVxdWVzdHNT
Y3JvbGwoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBSZXF1ZXN0ZWRTY3JvbGxEYXRhJikgb3ZlcnJp
ZGUgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgYm9vbCBzY3JvbGxpbmdUcmVl
Tm9kZVJlcXVlc3RzU2Nyb2xsKFNjcm9sbGluZ05vZGVJRCwgY29uc3QgUmVxdWVzdGVkU2Nyb2xs
RGF0YSYpIG92ZXJyaWRlIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fdHJlZUxvY2spOwogCiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudFBoYXNlKFNjcm9sbGlu
Z05vZGVJRCwgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UpIG92ZXJyaWRlOwpAQCAtOTIsMjQgKzky
LDI0IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBib29sIGlzVGhyZWFkZWRTY3JvbGxp
bmdUcmVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZvaWQgcHJvcGFn
YXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9k
ZUlEPiYpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spIG92ZXJyaWRlOworICAgIHZvaWQg
cHJvcGFnYXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xs
aW5nTm9kZUlEPiYpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fdHJlZUxvY2spIG92ZXJyaWRl
OwogCiAgICAgdm9pZCBkaWRDb21taXRUcmVlKCkgZmluYWw7Ci0gICAgdm9pZCBkaWRDb21taXRU
cmVlT25TY3JvbGxpbmdUaHJlYWQoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKKyAg
ICB2b2lkIGRpZENvbW1pdFRyZWVPblNjcm9sbGluZ1RocmVhZCgpIFdURl9SRVFVSVJFU19DQVBB
QklMSVRZKG1fdHJlZUxvY2spOwogCiAgICAgdm9pZCBkaXNwbGF5RGlkUmVmcmVzaE9uU2Nyb2xs
aW5nVGhyZWFkKCk7Ci0gICAgdm9pZCB3YWl0Rm9yUmVuZGVyaW5nVXBkYXRlQ29tcGxldGlvbk9y
VGltZW91dCgpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOworICAgIHZvaWQgd2FpdEZv
clJlbmRlcmluZ1VwZGF0ZUNvbXBsZXRpb25PclRpbWVvdXQoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShtX3RyZWVMb2NrKTsKIAotICAgIGJvb2wgY2FuVXBkYXRlTGF5ZXJzT25TY3JvbGxpbmdU
aHJlYWQoKSBjb25zdCBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKKyAgICBib29sIGNh
blVwZGF0ZUxheWVyc09uU2Nyb2xsaW5nVGhyZWFkKCkgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFC
SUxJVFkobV90cmVlTG9jayk7CiAKLSAgICB2b2lkIHNjaGVkdWxlRGVsYXllZFJlbmRlcmluZ1Vw
ZGF0ZURldGVjdGlvblRpbWVyKFNlY29uZHMpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2sp
OworICAgIHZvaWQgc2NoZWR1bGVEZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXIo
U2Vjb25kcykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV90cmVlTG9jayk7CiAgICAgdm9pZCBk
ZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXJGaXJlZCgpOwogCiAgICAgdm9pZCBo
YXNOb2RlV2l0aEFuaW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sKSBmaW5hbDsKICAgICAKLSAgICBi
b29sIGlzU2Nyb2xsaW5nU3luY2hyb25pemVkV2l0aE1haW5UaHJlYWQoKSBmaW5hbCBXVEZfUkVR
VUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKKyAgICBib29sIGlzU2Nyb2xsaW5nU3luY2hyb25pemVk
V2l0aE1haW5UaHJlYWQoKSBmaW5hbCBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX3RyZWVMb2Nr
KTsKIAotICAgIHZvaWQgc2VydmljZVNjcm9sbEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSkgV1RG
X1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgdm9pZCBzZXJ2aWNlU2Nyb2xsQW5pbWF0
aW9ucyhNb25vdG9uaWNUaW1lKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX3RyZWVMb2NrKTsK
IAogICAgIFNlY29uZHMgZnJhbWVEdXJhdGlvbigpOwogICAgIFNlY29uZHMgbWF4QWxsb3dhYmxl
UmVuZGVyaW5nVXBkYXRlRHVyYXRpb25Gb3JTeW5jaHJvbml6YXRpb24oKTsKQEAgLTEyMywyMCAr
MTIzLDIwIEBAIHByaXZhdGU6CiAgICAgICAgIERlc3luY2hyb25pemVkLAogICAgIH07CiAKLSAg
ICBTeW5jaHJvbml6YXRpb25TdGF0ZSBtX3N0YXRlIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVl
TG9jaykgeyBTeW5jaHJvbml6YXRpb25TdGF0ZTo6SWRsZSB9OworICAgIFN5bmNocm9uaXphdGlv
blN0YXRlIG1fc3RhdGUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3RyZWVMb2NrKSB7IFN5
bmNocm9uaXphdGlvblN0YXRlOjpJZGxlIH07CiAgICAgQ29uZGl0aW9uIG1fc3RhdGVDb25kaXRp
b247CiAKLSAgICBib29sIG1fcmVjZWl2ZWRCZWdhbkV2ZW50RnJvbU1haW5UaHJlYWQgV1RGX0dV
QVJERURfQllfTE9DSyhtX3RyZWVMb2NrKSB7IGZhbHNlIH07CisgICAgYm9vbCBtX3JlY2VpdmVk
QmVnYW5FdmVudEZyb21NYWluVGhyZWFkIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV90cmVl
TG9jaykgeyBmYWxzZSB9OwogICAgIENvbmRpdGlvbiBtX3dhaXRpbmdGb3JCZWdhbkV2ZW50Q29u
ZGl0aW9uOwogICAgIAogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0RGlzcGxheURpZFJlZnJlc2hU
aW1lOwogCiAgICAgLy8gRHluYW1pY2FsbHkgYWxsb2NhdGVkIGJlY2F1c2UgaXQgaGFzIHRvIHVz
ZSB0aGUgU2Nyb2xsaW5nVGhyZWFkJ3MgcnVubG9vcC4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8UnVu
TG9vcDo6VGltZXI8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPj4gbV9kZWxheWVkUmVuZGVyaW5nVXBk
YXRlRGV0ZWN0aW9uVGltZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVMb2NrKTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8UnVuTG9vcDo6VGltZXI8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPj4gbV9k
ZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJ
TElUWShtX3RyZWVMb2NrKTsKIAotICAgIEhhc2hNYXA8U2Nyb2xsaW5nTm9kZUlELCBSZXF1ZXN0
ZWRTY3JvbGxEYXRhPiBtX25vZGVzV2l0aFBlbmRpbmdTY3JvbGxBbmltYXRpb25zIFdURl9HVUFS
REVEX0JZX0xPQ0sobV90cmVlTG9jayk7CisgICAgSGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFJl
cXVlc3RlZFNjcm9sbERhdGE+IG1fbm9kZXNXaXRoUGVuZGluZ1Njcm9sbEFuaW1hdGlvbnMgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShtX3RyZWVMb2NrKTsKICAgICBjb25zdCBib29sIG1fc2Ny
b2xsQW5pbWF0b3JFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faGFzTm9kZXNXaXRoU3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jaykg
eyBmYWxzZSB9OworICAgIGJvb2wgbV9oYXNOb2Rlc1dpdGhTeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3RyZWVMb2NrKSB7IGZhbHNlIH07CiAg
ICAgc3RkOjphdG9taWM8Ym9vbD4gbV9yZW5kZXJpbmdVcGRhdGVXYXNTY2hlZHVsZWQ7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxp
bmdUcmVlRml4ZWROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9T
Y3JvbGxpbmdUcmVlRml4ZWROb2RlLmgKaW5kZXggNzhiZWEzYjY0YzA5NWUxOTFiMTZjYmY0Y2Jl
YjRjMWRhYWFiN2RiZC4uNTUzZTZjN2ExODViOGFmMDdhN2Q4NzU2OWI5OTZjMmRmMDA2OGExOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5n
VHJlZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2NvY29h
L1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaApAQCAtNDgsNyArNDgsNyBAQCBwcml2YXRlOgogICAg
IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7
CiAKICAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3Rh
dGVOb2RlJikgZmluYWw7Ci0gICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgZmluYWwgV1RG
X1JFUVVJUkVTX0xPQ0soc2Nyb2xsaW5nVHJlZSgpLnRyZWVMb2NrKCkpOworICAgIHZvaWQgYXBw
bHlMYXllclBvc2l0aW9ucygpIGZpbmFsIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKHNjcm9sbGlu
Z1RyZWUoKS50cmVlTG9jaygpKTsKIAogICAgIHZvaWQgZHVtcFByb3BlcnRpZXMoV1RGOjpUZXh0
U3RyZWFtJiwgT3B0aW9uU2V0PFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yPikgY29u
c3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nv
Y29hL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlQ29jb2EuaAppbmRleCAxYzhj
MGU5MTk0MTcyNTA4NmE3YTgwZGIyOGVjMzRhMGZmNmIyMGVlLi5lYjI2YmFkYWJiMzkyNDFkZWRl
OTc4MjNiMWMyNmU4NGE3YjVkMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZUNvY29hLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGVDb2Nv
YS5oCkBAIC00OCw3ICs0OCw3IEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJlZVN0aWNreU5v
ZGVDb2NvYShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZvaWQgY29t
bWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSBmaW5hbDsK
LSAgICB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnMoKSBmaW5hbCBXVEZfUkVRVUlSRVNfTE9DSyhz
Y3JvbGxpbmdUcmVlKCkudHJlZUxvY2soKSk7CisgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25z
KCkgZmluYWwgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc2Nyb2xsaW5nVHJlZSgpLnRyZWVMb2Nr
KCkpOwogICAgIEZsb2F0UG9pbnQgbGF5ZXJUb3BMZWZ0KCkgY29uc3QgZmluYWw7CiAKICAgICBS
ZXRhaW5QdHI8Q0FMYXllcj4gbV9sYXllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oCmluZGV4IDA4Nzk3MjQ3Nzk3MDZiNmVh
Yjg4N2Q1MjkxMjE2MDI4OGVhNWY2MDYuLjRkYzk3N2QyZGIzMWVlNDRkNmRkNjcwOTU2ODM3MzU1
MTE4YWQ5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVNYWMuaApAQCAtNjAsMTAgKzYwLDEwIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCByZW1vdmVXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25EZWZlcnJhbEZvclJlYXNvbihXaGVlbEV2
ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllciwgV2hlZWxFdmVudFRlc3RN
b25pdG9yOjpEZWZlclJlYXNvbikgZmluYWw7CiAKICAgICB2b2lkIHJlZ2lzdGVyRm9yUGxhdGZv
cm1SZW5kZXJpbmdVcGRhdGVDYWxsYmFjaygpOwotICAgIHZvaWQgYXBwbHlMYXllclBvc2l0aW9u
c0ludGVybmFsKCkgZmluYWwgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgdm9p
ZCBhcHBseUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKSBmaW5hbCBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShtX3RyZWVMb2NrKTsKIAotICAgIHZvaWQgbG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKSBm
aW5hbCBXVEZfQUNRVUlSRVNfTE9DSyhtX2xheWVySGl0VGVzdE11dGV4KTsKLSAgICB2b2lkIHVu
bG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKSBmaW5hbCBXVEZfUkVMRUFTRVNfTE9DSyhtX2xheWVy
SGl0VGVzdE11dGV4KTsKKyAgICB2b2lkIGxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgZmluYWwg
V1RGX0FDUVVJUkVTX0NBUEFCSUxJVFkobV9sYXllckhpdFRlc3RNdXRleCk7CisgICAgdm9pZCB1
bmxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgZmluYWwgV1RGX1JFTEVBU0VTX0NBUEFCSUxJVFko
bV9sYXllckhpdFRlc3RNdXRleCk7CiAKICAgICB2b2lkIGRpZENvbXBsZXRlUmVuZGVyaW5nVXBk
YXRlKCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0
YWJsZVRhc2tRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1
ZXVlLmgKaW5kZXggZjlmYzcwYjliMmUyM2U5MGU4YTI4NWQxMjQ2ZjFlYzAwODE4MDNhNC4uYWZj
OTRjN2ZlYWI0MjY0NGJhN2E3M2U5NzUwODI3YmY3ODdiZjkxYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1ZXVlLmgKQEAgLTIxNSw3ICsyMTUsNyBAQCBwcml2
YXRlOgogICAgICAgICB7IH0KICAgICB9OwogCi0gICAgdm9pZCBwb3N0VGFzayhGdW5jdGlvbjx2
b2lkKCk+JiYgY2FsbGJhY2spIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykKKyAgICB2b2lkIHBv
c3RUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykgV1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkobV9sb2NrKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fbG9jay5pc0hlbGQoKSk7CiAgICAg
ICAgIFJlZjxUYXNrPiB0YXNrID0gVGFzazo6Y3JlYXRlKHRoaXMsIFdURk1vdmUoY2FsbGJhY2sp
KTsKQEAgLTIyMyw3ICsyMjMsNyBAQCBwcml2YXRlOgogICAgICAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW3Rhc2sgPSBXVEZNb3ZlKHRhc2spXSgpIHsgdGFzay0+ZGlzcGF0Y2goKTsgfSk7
CiAgICAgfQogCi0gICAgdm9pZCBjYW5jZWxBbGxUYXNrcygpIFdURl9SRVFVSVJFU19MT0NLKG1f
bG9jaykKKyAgICB2b2lkIGNhbmNlbEFsbFRhc2tzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFko
bV9sb2NrKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICAgICAg
QVNTRVJUKG1fbG9jay5pc0hlbGQoKSk7CkBAIC0yMzIsMTAgKzIzMiwxMCBAQCBwcml2YXRlOgog
ICAgICAgICBtX2NoYW5uZWwuY2xlYXIoKTsKICAgICB9CiAKLSAgICBib29sIG1fYWJvcnRpbmcg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWJvcnRp
bmcgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgZmFsc2UgfTsKICAgICBMb2Nr
IG1fbG9jazsKICAgICBDb25kaXRpb24gbV9hYm9ydGVkT3JSZXNwb25zZVNldDsKLSAgICBEZXF1
ZTxSZWY8VGFzaz4+IG1fY2hhbm5lbCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAg
RGVxdWU8UmVmPFRhc2s+PiBtX2NoYW5uZWwgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xv
Y2spOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTGVnYWN5U2NoZW1lUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTGVnYWN5U2NoZW1lUmVnaXN0cnkuY3BwCmluZGV4IGM5MjIzZmQ4OWRhZTIwNzUy
NDI0YWY1YzBjNzE2OWE0ZDQ2M2Y3NmQuLjQzYWQxNzk5MTExMDFjZmM1ZmYyYTA0ZTg4ZDY0NTY0
MWU4ZDkwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlZ2FjeVNjaGVt
ZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZWdhY3lTY2hlbWVS
ZWdpc3RyeS5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdGF0aWMgY29uc3QgVVJMU2NoZW1lc01h
cCYgYWxsQnVpbHRpblNjaGVtZXMoKQogICAgIHJldHVybiBzY2hlbWVzOwogfQogCi1zdGF0aWMg
Y29uc3QgVVJMU2NoZW1lc01hcCYgYnVpbHRpbkxvY2FsVVJMU2NoZW1lcygpIFdURl9SRVFVSVJF
U19MT0NLKHNjaGVtZVJlZ2lzdHJ5TG9jaykKK3N0YXRpYyBjb25zdCBVUkxTY2hlbWVzTWFwJiBi
dWlsdGluTG9jYWxVUkxTY2hlbWVzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc2NoZW1lUmVn
aXN0cnlMb2NrKQogewogICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2suaXNIZWxkKCkpOwog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZCBzY2hlbWVzID0gVVJMU2NoZW1lc01hcCB7CkBAIC0x
MTksMTQgKzExOSwxNCBAQCBzdGF0aWMgY29uc3QgVVJMU2NoZW1lc01hcCYgYnVpbHRpbkxvY2Fs
VVJMU2NoZW1lcygpIFdURl9SRVFVSVJFU19MT0NLKHNjaGVtZVJlZwogICAgIHJldHVybiBzY2hl
bWVzOwogfQogCi1zdGF0aWMgVVJMU2NoZW1lc01hcCYgbG9jYWxVUkxTY2hlbWVzKCkgV1RGX1JF
UVVJUkVTX0xPQ0soc2NoZW1lUmVnaXN0cnlMb2NrKQorc3RhdGljIFVSTFNjaGVtZXNNYXAmIGxv
Y2FsVVJMU2NoZW1lcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKHNjaGVtZVJlZ2lzdHJ5TG9j
aykKIHsKICAgICBBU1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrLmlzSGVsZCgpKTsKICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gbG9jYWxTY2hlbWVzID0gYnVpbHRpbkxv
Y2FsVVJMU2NoZW1lcygpOwogICAgIHJldHVybiBsb2NhbFNjaGVtZXM7CiB9CiAKLXN0YXRpYyBV
UkxTY2hlbWVzTWFwJiBkaXNwbGF5SXNvbGF0ZWRVUkxTY2hlbWVzKCkgV1RGX1JFUVVJUkVTX0xP
Q0soc2NoZW1lUmVnaXN0cnlMb2NrKQorc3RhdGljIFVSTFNjaGVtZXNNYXAmIGRpc3BsYXlJc29s
YXRlZFVSTFNjaGVtZXMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShzY2hlbWVSZWdpc3RyeUxv
Y2spCiB7CiAgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jay5pc0hlbGQoKSk7CiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFVSTFNjaGVtZXNNYXA+IGRpc3BsYXlJc29sYXRlZFNjaGVtZXM7
CkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIFNwYW48Y29uc3QgQVNDSUlMaXRlcmFsPiBidWls
dGluU2VjdXJlU2NoZW1lcygpCiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0YXRpYyBVUkxT
Y2hlbWVzTWFwJiBzZWN1cmVTY2hlbWVzKCkgV1RGX1JFUVVJUkVTX0xPQ0soc2NoZW1lUmVnaXN0
cnlMb2NrKQorc3RhdGljIFVSTFNjaGVtZXNNYXAmIHNlY3VyZVNjaGVtZXMoKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShzY2hlbWVSZWdpc3RyeUxvY2spCiB7CiAgICAgQVNTRVJUKHNjaGVtZVJl
Z2lzdHJ5TG9jay5pc0hlbGQoKSk7CiAgICAgc3RhdGljIGF1dG8gc2VjdXJlU2NoZW1lcyA9IG1h
a2VOZXZlckRlc3Ryb3llZFNjaGVtZVNldChidWlsdGluU2VjdXJlU2NoZW1lcyk7CkBAIC0xNjks
NyArMTY5LDcgQEAgc3RhdGljIFNwYW48Y29uc3QgQVNDSUlMaXRlcmFsPiBidWlsdGluU2NoZW1l
c1dpdGhVbmlxdWVPcmlnaW5zKCkKICAgICByZXR1cm4gc2NoZW1lczsKIH0KIAotc3RhdGljIFVS
TFNjaGVtZXNNYXAmIHNjaGVtZXNXaXRoVW5pcXVlT3JpZ2lucygpIFdURl9SRVFVSVJFU19MT0NL
KHNjaGVtZVJlZ2lzdHJ5TG9jaykKK3N0YXRpYyBVUkxTY2hlbWVzTWFwJiBzY2hlbWVzV2l0aFVu
aXF1ZU9yaWdpbnMoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShzY2hlbWVSZWdpc3RyeUxvY2sp
CiB7CiAgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jay5pc0hlbGQoKSk7CiAgICAgc3RhdGlj
IGF1dG8gc2NoZW1lc1dpdGhVbmlxdWVPcmlnaW5zID0gbWFrZU5ldmVyRGVzdHJveWVkU2NoZW1l
U2V0KGJ1aWx0aW5TY2hlbWVzV2l0aFVuaXF1ZU9yaWdpbnMpOwpAQCAtMjAyLDcgKzIwMiw3IEBA
IHN0YXRpYyBTcGFuPGNvbnN0IEFTQ0lJTGl0ZXJhbD4gYnVpbHRpbkNhbkRpc3BsYXlPbmx5SWZD
YW5SZXF1ZXN0U2NoZW1lcygpCiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0YXRpYyBVUkxT
Y2hlbWVzTWFwJiBjYW5EaXNwbGF5T25seUlmQ2FuUmVxdWVzdFNjaGVtZXMoKSBXVEZfUkVRVUlS
RVNfTE9DSyhzY2hlbWVSZWdpc3RyeUxvY2spCitzdGF0aWMgVVJMU2NoZW1lc01hcCYgY2FuRGlz
cGxheU9ubHlJZkNhblJlcXVlc3RTY2hlbWVzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc2No
ZW1lUmVnaXN0cnlMb2NrKQogewogICAgIEFTU0VSVCghaXNJbk5ldHdvcmtQcm9jZXNzKCkpOwog
ICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2suaXNIZWxkKCkpOwpAQCAtMjM1LDcgKzIzNSw3
IEBAIHZvaWQgTGVnYWN5U2NoZW1lUmVnaXN0cnk6OnJlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRB
c0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lCiAgICAgbG9jYWxVUkxTY2hlbWVzKCkucmVtb3Zl
KHNjaGVtZSk7CiB9CiAKLXN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIHNjaGVtZXNIYW5kbGVkQnlT
Y2hlbWVIYW5kbGVyKCkgV1RGX1JFUVVJUkVTX0xPQ0soc2NoZW1lUmVnaXN0cnlMb2NrKQorc3Rh
dGljIEhhc2hTZXQ8U3RyaW5nPiYgc2NoZW1lc0hhbmRsZWRCeVNjaGVtZUhhbmRsZXIoKSBXVEZf
UkVRVUlSRVNfQ0FQQUJJTElUWShzY2hlbWVSZWdpc3RyeUxvY2spCiB7CiAgICAgQVNTRVJUKHNj
aGVtZVJlZ2lzdHJ5TG9jay5pc0hlbGQoKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhh
c2hTZXQ8U3RyaW5nPj4gc2V0OwpAQCAtMjc1LDE0ICsyNzUsMTQgQEAgc3RhdGljIFVSTFNjaGVt
ZXNNYXAmIENPUlNFbmFibGVkU2NoZW1lcygpCiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0
YXRpYyBVUkxTY2hlbWVzTWFwJiBDb250ZW50U2VjdXJpdHlQb2xpY3lCeXBhc3NpbmdTY2hlbWVz
KCkgV1RGX1JFUVVJUkVTX0xPQ0soc2NoZW1lUmVnaXN0cnlMb2NrKQorc3RhdGljIFVSTFNjaGVt
ZXNNYXAmIENvbnRlbnRTZWN1cml0eVBvbGljeUJ5cGFzc2luZ1NjaGVtZXMoKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShzY2hlbWVSZWdpc3RyeUxvY2spCiB7CiAgICAgQVNTRVJUKHNjaGVtZVJl
Z2lzdHJ5TG9jay5pc0hlbGQoKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFVSTFNjaGVt
ZXNNYXA+IHNjaGVtZXM7CiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0YXRpYyBVUkxTY2hl
bWVzTWFwJiBjYWNoZVBhcnRpdGlvbmluZ1NjaGVtZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhzY2hl
bWVSZWdpc3RyeUxvY2spCitzdGF0aWMgVVJMU2NoZW1lc01hcCYgY2FjaGVQYXJ0aXRpb25pbmdT
Y2hlbWVzKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoc2NoZW1lUmVnaXN0cnlMb2NrKQogewog
ICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2suaXNIZWxkKCkpOwogICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBzY2hlbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCmluZGV4IDVlN2YzZWM5NzIxMjgyNDNl
ZjE0YzJjOGI1NTgxODdmZmJiOGU2OWIuLjVjYzNiYjNkMTQzNDI4OWUwNmE1MzU2M2Q3M2Y5M2Vl
NmQ1OWQzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
RGVzdGluYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rl
c3RpbmF0aW9uLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IEF1
ZGlvRGVzdGluYXRpb24oQXVkaW9JT0NhbGxiYWNrJik7CiAKICAgICBMb2NrIG1fY2FsbGJhY2tM
b2NrOwotICAgIEF1ZGlvSU9DYWxsYmFjayogbV9jYWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fY2FsbGJhY2tMb2NrKSB7IG51bGxwdHIgfTsKKyAgICBBdWRpb0lPQ2FsbGJhY2sqIG1fY2Fs
bGJhY2sgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2NhbGxiYWNrTG9jaykgeyBudWxscHRy
IH07CiB9OwogCiBpbmxpbmUgQXVkaW9EZXN0aW5hdGlvbjo6QXVkaW9EZXN0aW5hdGlvbihBdWRp
b0lPQ2FsbGJhY2smIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuaAppbmRleCBlMTRhMTAwOGY4N2Q5ZjM3MzBjMTY3MDFk
NzJjYjAwN2NkMDViODZkLi41ZDNjZDdhN2VhZjA5YzAwNjk2ZmVmMWNkMzM0Mjg1ZGU0ZmY2ZDNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VM
b2FkZXIuaApAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gSG9sZGluZyBhIG1f
dGhyZWFkTG9jayBpcyByZXF1aXJlZCB3aGVuIGFjY2Vzc2luZyBtX2RhdGFiYXNlTG9hZGVyVGhy
ZWFkLgogICAgIExvY2sgbV90aHJlYWRMb2NrOwotICAgIFJlZlB0cjxUaHJlYWQ+IG1fZGF0YWJh
c2VMb2FkZXJUaHJlYWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3RocmVhZExvY2spOworICAgIFJl
ZlB0cjxUaHJlYWQ+IG1fZGF0YWJhc2VMb2FkZXJUaHJlYWQgV1RGX0dVQVJERURfQllfQ0FQQUJJ
TElUWShtX3RocmVhZExvY2spOwogCiAgICAgZmxvYXQgbV9kYXRhYmFzZVNhbXBsZVJhdGU7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvQXVkaW9E
ZXN0aW5hdGlvbkNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb0Rlc3RpbmF0aW9uQ29jb2EuaAppbmRleCA1NGY0NzE5NThlY2VkZDk3MTlkYjI3YzAxZTcy
YTAwNTU0ZDhjYTQ5Li41MTFkNGU3OGFmZTNiOTljMmZlM2JkNjZmODMwYmNlMzk3NWNhZTIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3Rp
bmF0aW9uQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9B
dWRpb0Rlc3RpbmF0aW9uQ29jb2EuaApAQCAtODYsMTMgKzg2LDEzIEBAIHByaXZhdGU6CiAgICAg
Ly8gUmVzb2x2ZXMgdGhlIGJ1ZmZlciBzaXplIG1pc21hdGNoIGJldHdlZW4gdGhlIFdlYkF1ZGlv
IGVuZ2luZSBhbmQKICAgICAvLyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZnJvbSB0aGUgYWN0dWFs
IGF1ZGlvIGRldmljZS4KICAgICBMb2NrIG1fZmlmb0xvY2s7Ci0gICAgVW5pcXVlUmVmPFB1c2hQ
dWxsRklGTz4gbV9maWZvIFdURl9HVUFSREVEX0JZX0xPQ0sobV9maWZvTG9jayk7CisgICAgVW5p
cXVlUmVmPFB1c2hQdWxsRklGTz4gbV9maWZvIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9m
aWZvTG9jayk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TXVsdGlDaGFubmVsUmVzYW1wbGVyPiBt
X3Jlc2FtcGxlcjsKICAgICBBdWRpb0lPUG9zaXRpb24gbV9vdXRwdXRUaW1lc3RhbXA7CiAKICAg
ICBMb2NrIG1fZGlzcGF0Y2hUb1JlbmRlclRocmVhZExvY2s7Ci0gICAgRnVuY3Rpb248dm9pZChG
dW5jdGlvbjx2b2lkKCk+JiYpPiBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWQgV1RGX0dVQVJERURf
QllfTE9DSyhtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWRMb2NrKTsKKyAgICBGdW5jdGlvbjx2b2lk
KEZ1bmN0aW9uPHZvaWQoKT4mJik+IG1fZGlzcGF0Y2hUb1JlbmRlclRocmVhZCBXVEZfR1VBUkRF
RF9CWV9DQVBBQklMSVRZKG1fZGlzcGF0Y2hUb1JlbmRlclRocmVhZExvY2spOwogCiAgICAgZmxv
YXQgbV9jb250ZXh0U2FtcGxlUmF0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFtZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb1NvdXJjZVByb3ZpZGVy
R1N0cmVhbWVyLmgKaW5kZXggYjg4MGM4NGFmN2NmNjY1MzI2YTcxZGEwOTM3MTE1ZDY3Y2RlZTQ4
Mi4uZGU4MTYzMGEwNzE4ZDdkZWMyNjQ2NmJlMTI0ZmE4OTBiZWVkZjdhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvU291cmNlUHJvdmlk
ZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFt
ZXIvQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lci5oCkBAIC04Miw3ICs4Miw3IEBAIHByaXZh
dGU6CiAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2F1ZGlvU2lua0JpbjsKICAgICBXZWFrUHRy
PEF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQ+IG1fY2xpZW50OwogICAgIGludCBtX2RlaW50ZXJs
ZWF2ZVNvdXJjZVBhZHMgeyAwIH07Ci0gICAgSGFzaE1hcDxpbnQsIEdSZWZQdHI8R3N0QWRhcHRl
cj4+IG1fYWRhcHRlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2FkYXB0ZXJMb2NrKTsKKyAgICBI
YXNoTWFwPGludCwgR1JlZlB0cjxHc3RBZGFwdGVyPj4gbV9hZGFwdGVycyBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKG1fYWRhcHRlckxvY2spOwogICAgIHVuc2lnbmVkIGxvbmcgbV9kZWludGVy
bGVhdmVQYWRBZGRlZEhhbmRsZXJJZCB7IDAgfTsKICAgICB1bnNpZ25lZCBsb25nIG1fZGVpbnRl
cmxlYXZlTm9Nb3JlUGFkc0hhbmRsZXJJZCB7IDAgfTsKICAgICB1bnNpZ25lZCBsb25nIG1fZGVp
bnRlcmxlYXZlUGFkUmVtb3ZlZEhhbmRsZXJJZCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJl
YW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0
V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDAzNTcxOWYzNjdmOWE4NWNkZDIyZmI2
YjFiMjgyMGIyYjU0YjUwYzcuLmExY2RkNmIyMzgzMWQyNWFiMDZlZjI4YzRhOTZhM2I2NjZlNTE4
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9X
ZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmNwcApA
QCAtODIsOSArODIsOSBAQCBzdHJ1Y3QgX1dlYktpdFdlYkF1ZGlvU3JjUHJpdmF0ZSB7CiAgICAg
Ym9vbCBoYXNSZW5kZXJlZEF1ZGlibGVGcmFtZSB7IGZhbHNlIH07CiAKICAgICBMb2NrIGRpc3Bh
dGNoVG9SZW5kZXJUaHJlYWRMb2NrOwotICAgIEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgp
PiYmKT4gZGlzcGF0Y2hUb1JlbmRlclRocmVhZEZ1bmN0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0so
ZGlzcGF0Y2hUb1JlbmRlclRocmVhZExvY2spOworICAgIEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248
dm9pZCgpPiYmKT4gZGlzcGF0Y2hUb1JlbmRlclRocmVhZEZ1bmN0aW9uIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkoZGlzcGF0Y2hUb1JlbmRlclRocmVhZExvY2spOwogCi0gICAgYm9vbCBkaXNw
YXRjaERvbmUgV1RGX0dVQVJERURfQllfTE9DSyhkaXNwYXRjaExvY2spOworICAgIGJvb2wgZGlz
cGF0Y2hEb25lIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkoZGlzcGF0Y2hMb2NrKTsKICAgICBM
b2NrIGRpc3BhdGNoTG9jazsKICAgICBDb25kaXRpb24gZGlzcGF0Y2hDb25kaXRpb247CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvRkZURnJhbWVNYWMuY3BwCmlu
ZGV4IDIyOTBmN2VhODYwNTllYmJmODhjNTg5OGUwODQyZjQzOWQyNDJjMzYuLjk0MGJlYmEzNzYw
ODA1ZmQwOTVmYmQzYjBhZTFiY2FmOTQyZTY1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL0ZGVEZyYW1lTWFjLmNwcApAQCAtNDgsNyArNDgsNyBAQCBjb25z
dGV4cHIgdW5zaWduZWQga01heEZGVFBvdzJTaXplID0gMjQ7CiAKIHN0YXRpYyBMb2NrIGZmdFNl
dHVwc0xvY2s7CiAKLXN0YXRpYyBWZWN0b3I8RkZUU2V0dXA+JiBmZnRTZXR1cHMoKSBXVEZfUkVR
VUlSRVNfTE9DSyhmZnRTZXR1cHNMb2NrKQorc3RhdGljIFZlY3RvcjxGRlRTZXR1cD4mIGZmdFNl
dHVwcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGZmdFNldHVwc0xvY2spCiB7CiAgICAgQVNT
RVJUKGZmdFNldHVwc0xvY2suaXNIZWxkKCkpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxW
ZWN0b3I8RkZUU2V0dXA+PiBmZnRTZXR1cHMoa01heEZGVFBvdzJTaXplLCBudWxscHRyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1Qcm94eS5oCmlu
ZGV4IGUxZTA5OGExZDVmNWZmYzY1YzJhNDhmYTQwYWE5NzJmZTg5ZTFlM2YuLjhlZDhjNjU2MzBl
NTQ5ZWMxOTgxYjgwZGRlMDRhYmVkZTFjZGM1NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJveHkuaApAQCAtMTgyLDcgKzE4Miw3IEBAIHB1
YmxpYzoKIHByb3RlY3RlZDoKICAgICBSZWZQdHI8S2V5SGFuZGxlPiBrZXlIYW5kbGUoY29uc3Qg
S2V5SURUeXBlJikgY29uc3Q7CiAgICAgYm9vbCBrZXlBdmFpbGFibGUoY29uc3QgS2V5SURUeXBl
JikgY29uc3Q7Ci0gICAgYm9vbCBrZXlBdmFpbGFibGVVbmxvY2tlZChjb25zdCBLZXlJRFR5cGUm
KSBjb25zdCBXVEZfUkVRVUlSRVNfTE9DSyhtX2tleXNMb2NrKTsKKyAgICBib29sIGtleUF2YWls
YWJsZVVubG9ja2VkKGNvbnN0IEtleUlEVHlwZSYpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklM
SVRZKG1fa2V5c0xvY2spOwogICAgIHN0ZDo6b3B0aW9uYWw8UmVmPEtleUhhbmRsZT4+IHRyeVdh
aXRGb3JLZXlIYW5kbGUoY29uc3QgS2V5SURUeXBlJiwgV2Vha1B0cjxDRE1Qcm94eURlY3J5cHRp
b25DbGllbnQ+JiYpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8UmVmPEtleUhhbmRsZT4+IGdl
dE9yV2FpdEZvcktleUhhbmRsZShjb25zdCBLZXlJRFR5cGUmLCBXZWFrUHRyPENETVByb3h5RGVj
cnlwdGlvbkNsaWVudD4mJikgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxLZXlIYW5kbGVWYWx1
ZVZhcmlhbnQ+IGdldE9yV2FpdEZvcktleVZhbHVlKGNvbnN0IEtleUlEVHlwZSYsIFdlYWtQdHI8
Q0RNUHJveHlEZWNyeXB0aW9uQ2xpZW50PiYmKSBjb25zdDsKQEAgLTE5MiwxMyArMTkyLDEzIEBA
IHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBtdXRhYmxlIExvY2sgbV9pbnN0YW5jZUxvY2s7
Ci0gICAgQ0RNSW5zdGFuY2VQcm94eSogbV9pbnN0YW5jZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
aW5zdGFuY2VMb2NrKTsKKyAgICBDRE1JbnN0YW5jZVByb3h5KiBtX2luc3RhbmNlIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9pbnN0YW5jZUxvY2spOwogCiAgICAgbXV0YWJsZSBMb2NrIG1f
a2V5c0xvY2s7CiAgICAgbXV0YWJsZSBDb25kaXRpb24gbV9rZXlzQ29uZGl0aW9uOwogICAgIC8v
IEZJWE1FOiBEdXBsaWNhdGVkIGtleSBzdG9yZXMgaW4gdGhlIGluc3RhbmNlIGFuZCB0aGUgcHJv
eHkgYXJlIHByb2JhYmx5IG5vdCBuZWVkZWQsIGJ1dCBzaW1wbGlmaWVkCiAgICAgLy8gdGhlIGlu
aXRpYWwgaW1wbGVtZW50YXRpb24gaW4gdGVybXMgb2YgdGhyZWFkaW5nIGludmFyaWFudHMuCi0g
ICAgUmVmZXJlbmNlQXdhcmVLZXlTdG9yZSBtX2tleVN0b3JlIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9rZXlzTG9jayk7CisgICAgUmVmZXJlbmNlQXdhcmVLZXlTdG9yZSBtX2tleVN0b3JlIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV9rZXlzTG9jayk7CiB9OwogCiBjbGFzcyBDRE1Qcm94eUZh
Y3RvcnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlz
cGxheVJlZnJlc2hNb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3IuaAppbmRleCA3OWQ0OTFlODA2YjA3ZmY0MDc2NWQyYzlmZGM2
Y2Y5MzFhNmI1NGVkLi5kMTM4NWViZGJlODlkZThiMDhhYTg0NDYzZTQ2ZTBkYzQ3NzdhYTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVz
aE1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3IuaApAQCAtNzIsMjMgKzcyLDIzIEBAIHByb3RlY3RlZDoKIAogICAgIFdF
QkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpc3BsYXlEaWRSZWZyZXNoKGNvbnN0
IERpc3BsYXlVcGRhdGUmKTsKIAotICAgIExvY2smIGxvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1f
bG9jaykgeyByZXR1cm4gbV9sb2NrOyB9Ci0gICAgdm9pZCBzZXRNYXhVbnNjaGVkdWxlZEZpcmVD
b3VudCh1bnNpZ25lZCBjb3VudCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKSB7IG1fbWF4VW5z
Y2hlZHVsZWRGaXJlQ291bnQgPSBjb3VudDsgfQorICAgIExvY2smIGxvY2soKSBXVEZfUkVUVVJO
U19DQVBBQklMSVRZKG1fbG9jaykgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgdm9pZCBzZXRNYXhV
bnNjaGVkdWxlZEZpcmVDb3VudCh1bnNpZ25lZCBjb3VudCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkobV9sb2NrKSB7IG1fbWF4VW5zY2hlZHVsZWRGaXJlQ291bnQgPSBjb3VudDsgfQogCiAgICAg
Ly8gUmV0dXJucyB0cnVlIGlmIHRoZSBzdGFydCB3YXMgc3VjY2Vzc2Z1bC4KICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSA9IDA7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20o
KSA9IDA7CiAKLSAgICBib29sIGlzU2NoZWR1bGVkKCkgY29uc3QgV1RGX1JFUVVJUkVTX0xPQ0so
bV9sb2NrKSB7IHJldHVybiBtX3NjaGVkdWxlZDsgfQotICAgIHZvaWQgc2V0SXNTY2hlZHVsZWQo
Ym9vbCBzY2hlZHVsZWQpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jaykgeyBtX3NjaGVkdWxlZCA9
IHNjaGVkdWxlZDsgfQorICAgIGJvb2wgaXNTY2hlZHVsZWQoKSBjb25zdCBXVEZfUkVRVUlSRVNf
Q0FQQUJJTElUWShtX2xvY2spIHsgcmV0dXJuIG1fc2NoZWR1bGVkOyB9CisgICAgdm9pZCBzZXRJ
c1NjaGVkdWxlZChib29sIHNjaGVkdWxlZCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2Nr
KSB7IG1fc2NoZWR1bGVkID0gc2NoZWR1bGVkOyB9CiAKLSAgICBib29sIGlzUHJldmlvdXNGcmFt
ZURvbmUoKSBjb25zdCBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spIHsgcmV0dXJuIG1fcHJldmlv
dXNGcmFtZURvbmU7IH0KLSAgICB2b2lkIHNldElzUHJldmlvdXNGcmFtZURvbmUoYm9vbCBkb25l
KSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spIHsgbV9wcmV2aW91c0ZyYW1lRG9uZSA9IGRvbmU7
IH0KKyAgICBib29sIGlzUHJldmlvdXNGcmFtZURvbmUoKSBjb25zdCBXVEZfUkVRVUlSRVNfQ0FQ
QUJJTElUWShtX2xvY2spIHsgcmV0dXJuIG1fcHJldmlvdXNGcmFtZURvbmU7IH0KKyAgICB2b2lk
IHNldElzUHJldmlvdXNGcmFtZURvbmUoYm9vbCBkb25lKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElU
WShtX2xvY2spIHsgbV9wcmV2aW91c0ZyYW1lRG9uZSA9IGRvbmU7IH0KIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZGlzcGxheURpZFJlZnJlc2goY29uc3QgRGlzcGxheVVwZGF0ZSYpOwogCiBw
cml2YXRlOgotICAgIGJvb2wgZmlyZWRBbmRSZWFjaGVkTWF4VW5zY2hlZHVsZWRGaXJlQ291bnQo
KSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOworICAgIGJvb2wgZmlyZWRBbmRSZWFjaGVkTWF4
VW5zY2hlZHVsZWRGaXJlQ291bnQoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spOwog
CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChGcmFtZXNQ
ZXJTZWNvbmQpIHsgfQogCkBAIC0xMDIsMTEgKzEwMiwxMSBAQCBwcml2YXRlOgogICAgIHN0ZDo6
b3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBtX21heENsaWVudFByZWZlcnJlZEZyYW1lc1BlclNl
Y29uZDsKIAogICAgIExvY2sgbV9sb2NrOwotICAgIGJvb2wgbV9zY2hlZHVsZWQgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xvY2spIHsgZmFsc2UgfTsKLSAgICBib29sIG1fcHJldmlvdXNGcmFtZURv
bmUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgdHJ1ZSB9OworICAgIGJvb2wgbV9zY2hl
ZHVsZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgZmFsc2UgfTsKKyAgICBi
b29sIG1fcHJldmlvdXNGcmFtZURvbmUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2sp
IHsgdHJ1ZSB9OwogICAgIAotICAgIHVuc2lnbmVkIG1fdW5zY2hlZHVsZWRGaXJlQ291bnQgV1RG
X0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgIHVuc2lnbmVkIG1fbWF4VW5zY2hl
ZHVsZWRGaXJlQ291bnQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgMCB9OworICAgIHVu
c2lnbmVkIG1fdW5zY2hlZHVsZWRGaXJlQ291bnQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X2xvY2spIHsgMCB9OworICAgIHVuc2lnbmVkIG1fbWF4VW5zY2hlZHVsZWRGaXJlQ291bnQgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgMCB9OwogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IGZkYTVh
ZDFkOTA3MGNjZjRjNjA4ZWRhYjEyYWY5MGI5NmU4NmY0MjcuLjZhZWRkOTU2MTczMWQzZWY5ZmI3
NjllMjA4YmMyYjE1Zjk3MTJjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTIzNiw3ICsyMzYsNyBAQCBzdGF0aWMgdm9pZCBh
ZGRNZWRpYUVuZ2luZShzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFQbGF5ZXJGYWN0b3J5PiYmKTsKIAog
c3RhdGljIExvY2sgbWVkaWFFbmdpbmVWZWN0b3JMb2NrOwogCi1zdGF0aWMgYm9vbCYgaGF2ZU1l
ZGlhRW5naW5lc1ZlY3RvcigpIFdURl9SRVFVSVJFU19MT0NLKG1lZGlhRW5naW5lVmVjdG9yTG9j
aykKK3N0YXRpYyBib29sJiBoYXZlTWVkaWFFbmdpbmVzVmVjdG9yKCkgV1RGX1JFUVVJUkVTX0NB
UEFCSUxJVFkobWVkaWFFbmdpbmVWZWN0b3JMb2NrKQogewogICAgIHN0YXRpYyBib29sIGhhdmVW
ZWN0b3I7CiAgICAgcmV0dXJuIGhhdmVWZWN0b3I7CkBAIC0yNTksNyArMjU5LDcgQEAgdm9pZCBS
ZW1vdGVNZWRpYVBsYXllclN1cHBvcnQ6OnNldFJlZ2lzdGVyUmVtb3RlUGxheWVyQ2FsbGJhY2so
UmVnaXN0ZXJSZW1vdGVQbGEKICAgICByZWdpc3RlclJlbW90ZVBsYXllckNhbGxiYWNrKCkgPSBX
VEZNb3ZlKGNhbGxiYWNrKTsKIH0KIAotc3RhdGljIHZvaWQgYnVpbGRNZWRpYUVuZ2luZXNWZWN0
b3IoKSBXVEZfUkVRVUlSRVNfTE9DSyhtZWRpYUVuZ2luZVZlY3RvckxvY2spCitzdGF0aWMgdm9p
ZCBidWlsZE1lZGlhRW5naW5lc1ZlY3RvcigpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1lZGlh
RW5naW5lVmVjdG9yTG9jaykKIHsKICAgICBBU1NFUlQobWVkaWFFbmdpbmVWZWN0b3JMb2NrLmlz
TG9ja2VkKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TaGFkb3dCbHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRv
d0JsdXIuY3BwCmluZGV4IGJiMTM4YjUyOTdhNTIxZmJmN2Q2OTNjZDExNDEwNDQwMGZjYWJjNGUu
LjdmNzJlMTg0MjNjYjA0ODk2Yzc1MGM0OGYxZDQzNDE2M2FkOTIwMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC02Nyw3ICs2Nyw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgUmVmUHRyPEltYWdlQnVmZmVyPiBnZXRT
Y3JhdGNoQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUpIFdURl9SRVFVSVJFU19MT0NLKGxvY2so
KSkKKyAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+IGdldFNjcmF0Y2hCdWZmZXIoY29uc3QgSW50U2l6
ZSYgc2l6ZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobG9jaygpKQogICAgIHsKICAgICAgICAg
QVNTRVJUKGxvY2soKS5pc0hlbGQoKSk7CiAgICAgICAgIGF1dG8gcmVsZWFzZUxheWVySW1hZ2Ug
PSBtYWtlU2NvcGVFeGl0KFt0aGlzXSB7CkBAIC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIG1faW1hZ2VCdWZmZXI7CiAgICAgfQogCi0gICAgYm9vbCBzZXRDYWNoZWRTaGFk
b3dWYWx1ZXMoY29uc3QgRmxvYXRTaXplJiByYWRpdXMsIGNvbnN0IENvbG9yJiBjb2xvciwgY29u
c3QgRmxvYXRSZWN0JiBzaGFkb3dSZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYg
cmFkaWksIGNvbnN0IEZsb2F0U2l6ZSYgbGF5ZXJTaXplKSBXVEZfUkVRVUlSRVNfTE9DSyhsb2Nr
KCkpCisgICAgYm9vbCBzZXRDYWNoZWRTaGFkb3dWYWx1ZXMoY29uc3QgRmxvYXRTaXplJiByYWRp
dXMsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dSZWN0LCBjb25z
dCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWksIGNvbnN0IEZsb2F0U2l6ZSYgbGF5ZXJT
aXplKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShsb2NrKCkpCiAgICAgewogICAgICAgICBBU1NF
UlQobG9jaygpLmlzSGVsZCgpKTsKICAgICAgICAgaWYgKCFtX2xhc3RXYXNJbnNldCAmJiBtX2xh
c3RSYWRpdXMgPT0gcmFkaXVzICYmIG1fbGFzdENvbG9yID09IGNvbG9yICYmIG1fbGFzdFNoYWRv
d1JlY3QgPT0gc2hhZG93UmVjdCAmJiAgbV9sYXN0UmFkaWkgPT0gcmFkaWkgJiYgbV9sYXN0TGF5
ZXJTaXplID09IGxheWVyU2l6ZSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgc2V0Q2FjaGVkSW5zZXRTaGFkb3dWYWx1
ZXMoY29uc3QgRmxvYXRTaXplJiByYWRpdXMsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxv
YXRSZWN0JiBib3VuZHMsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgRmxvYXRS
b3VuZGVkUmVjdDo6UmFkaWkmIHJhZGlpKSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKCkpCisgICAg
Ym9vbCBzZXRDYWNoZWRJbnNldFNoYWRvd1ZhbHVlcyhjb25zdCBGbG9hdFNpemUmIHJhZGl1cywg
Y29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kcywgY29uc3QgRmxvYXRS
ZWN0JiBzaGFkb3dSZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWkpIFdU
Rl9SRVFVSVJFU19DQVBBQklMSVRZKGxvY2soKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChsb2Nr
KCkuaXNIZWxkKCkpOwogICAgICAgICBpZiAobV9sYXN0V2FzSW5zZXQgJiYgbV9sYXN0UmFkaXVz
ID09IHJhZGl1cyAmJiBtX2xhc3RDb2xvciA9PSBjb2xvciAmJiBtX2xhc3RJbnNldEJvdW5kcyA9
PSBib3VuZHMgJiYgc2hhZG93UmVjdCA9PSBtX2xhc3RTaGFkb3dSZWN0ICYmIHJhZGlpID09IG1f
bGFzdFJhZGlpKQpAQCAtMTIxLDggKzEyMSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCi0gICAgc3RhdGljIFNjcmF0Y2hCdWZmZXImIHNpbmdsZXRvbigpIFdURl9S
RVFVSVJFU19MT0NLKGxvY2soKSk7Ci0gICAgc3RhdGljIExvY2smIGxvY2soKSBXVEZfUkVUVVJO
U19MT0NLKHNfbG9jaykgeyByZXR1cm4gc19sb2NrOyB9CisgICAgc3RhdGljIFNjcmF0Y2hCdWZm
ZXImIHNpbmdsZXRvbigpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGxvY2soKSk7CisgICAgc3Rh
dGljIExvY2smIGxvY2soKSBXVEZfUkVUVVJOU19DQVBBQklMSVRZKHNfbG9jaykgeyByZXR1cm4g
c19sb2NrOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNjcmF0Y2hCdWZmZXJQdXJn
ZSgpCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KIAotICAg
IHZvaWQgY2xlYXJTY3JhdGNoQnVmZmVyKCkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaygpKQorICAg
IHZvaWQgY2xlYXJTY3JhdGNoQnVmZmVyKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobG9jaygp
KQogICAgIHsKICAgICAgICAgQVNTRVJUKGxvY2soKS5pc0hlbGQoKSk7CiAgICAgICAgIG1faW1h
Z2VCdWZmZXIgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IGY0YjM1ZDc2OWQ3Mjc5N2EyZmFkNDVlYjc4MmJk
ZDI1YzkyNmNkYjIuLmYxMTA2MTM2NTU5Yjc3YjVhMGM1M2Q4ODllNzNlOWUwNjZlMDQ1YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
LmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwcml2YXRlOgogICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9w
ZW5kaW5nU2VlazsKIAogICAgIG11dGFibGUgTG9jayBtX3F1ZXVlZE5vdGlmaWNhdGlvbnNMb2Nr
OwotICAgIERlcXVlPE5vdGlmaWNhdGlvbj4gbV9xdWV1ZWROb3RpZmljYXRpb25zIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9xdWV1ZWROb3RpZmljYXRpb25zTG9jayk7CisgICAgRGVxdWU8Tm90aWZp
Y2F0aW9uPiBtX3F1ZXVlZE5vdGlmaWNhdGlvbnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X3F1ZXVlZE5vdGlmaWNhdGlvbnNMb2NrKTsKIAogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRy
PFBsYXRmb3JtVGltZVJhbmdlcz4gbV9jYWNoZWRMb2FkZWRUaW1lUmFuZ2VzOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bkNGLmNwcAppbmRleCBmNTVmNDMzNDRjMTI4YmY1MWI1Mzk5OGE1ZGI1ZDEyZDQyYzBjZGRjLi4z
YzU2OTY1NTQ2NWIyM2VkNzJlMjllYWU5ODRhM2MxZWZhMDNjZWRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5j
cHAKQEAgLTE2OCw4ICsxNjgsOCBAQCBwcml2YXRlOgogICAgIGlubGluZSB2b2lkKiBjYWxsYmFj
a0NvbnRleHQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihtX29iamVj
dElEKTsgfQogCiAgICAgc3RhdGljIExvY2sgbWFwTG9jazsKLSAgICBzdGF0aWMgSGFzaE1hcDx1
aW50cHRyX3QsIEFWRldyYXBwZXIqPiYgbWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0sobWFwTG9jayk7
Ci0gICAgc3RhdGljIEFWRldyYXBwZXIqIGF2ZldyYXBwZXJGb3JDYWxsYmFja0NvbnRleHQodm9p
ZCopIFdURl9SRVFVSVJFU19MT0NLKG1hcExvY2spOworICAgIHN0YXRpYyBIYXNoTWFwPHVpbnRw
dHJfdCwgQVZGV3JhcHBlcio+JiBtYXAoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtYXBMb2Nr
KTsKKyAgICBzdGF0aWMgQVZGV3JhcHBlciogYXZmV3JhcHBlckZvckNhbGxiYWNrQ29udGV4dCh2
b2lkKikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobWFwTG9jayk7CiAgICAgdm9pZCBhZGRUb01h
cCgpOwogICAgIHZvaWQgcmVtb3ZlRnJvbU1hcCgpIGNvbnN0OwogI2lmIEhBVkUoQVZGT1VOREFU
SU9OX0xPQURFUl9ERUxFR0FURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKaW5kZXggZmY1MWZj
YTc3NmY4OTdmNTY1NDQ1Mzg0N2IwYTFlZDg0OGNjMzRlZS4uNTc4YTRjOGVhOWMzNjI2N2ZlMDNm
OGEyNTkyNTdiNjc1YjhkYmVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKQEAgLTI3Miw3
ICsyNzIsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJSb290U2FtcGxlQnVmZmVyQm91
bmRzQ2hhbmdlTGlzdGVuZXI+IG1fYm91bmRzQ2hhbmdlTGlzdGVuZXI7CiAKICAgICBMb2NrIG1f
Y3VycmVudFZpZGVvU2FtcGxlTG9jazsKLSAgICBSZWZQdHI8TWVkaWFTYW1wbGU+IG1fY3VycmVu
dFZpZGVvU2FtcGxlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jdXJyZW50VmlkZW9TYW1wbGVMb2Nr
KTsKKyAgICBSZWZQdHI8TWVkaWFTYW1wbGU+IG1fY3VycmVudFZpZGVvU2FtcGxlIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9jdXJyZW50VmlkZW9TYW1wbGVMb2NrKTsKIAogICAgIGJvb2wg
bV9wbGF5aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1D
QUxheWVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2Nv
YS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQppbmRleCAwMDQ0ZmEyYzFkNDM0OGU2ODNkNDM2ZmJm
ZjhhYzUzZWU5ZWI5NGZmLi45ZjQzZDlmMDM1NzkwODU2N2Y3MmNkNTRjNjFhOTlkMzc5OTcwOTFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9Q
bGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQpAQCAtNzQsNyArNzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBMYXllclRvUGxhdGZvcm1DQUxheWVyTWFwID0gSGFz
aE1hcDx2b2lkKiwgUGxhdGZvcm1DQUxheWVyKj47CiAKIHN0YXRpYyBMb2NrIGxheWVyVG9QbGF0
Zm9ybUxheWVyTWFwTG9jazsKLXN0YXRpYyBMYXllclRvUGxhdGZvcm1DQUxheWVyTWFwJiBsYXll
clRvUGxhdGZvcm1MYXllck1hcCgpIFdURl9SRVFVSVJFU19MT0NLKGxheWVyVG9QbGF0Zm9ybUxh
eWVyTWFwTG9jaykKK3N0YXRpYyBMYXllclRvUGxhdGZvcm1DQUxheWVyTWFwJiBsYXllclRvUGxh
dGZvcm1MYXllck1hcCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKGxheWVyVG9QbGF0Zm9ybUxh
eWVyTWFwTG9jaykKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TGF5ZXJUb1BsYXRmb3Jt
Q0FMYXllck1hcD4gbGF5ZXJNYXA7CiAgICAgcmV0dXJuIGxheWVyTWFwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVy
Q29udGVudHNEZWxheWVkUmVsZWFzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvbnRlbnRzRGVsYXllZFJlbGVhc2VyLmgKaW5k
ZXggNTA0YWM1ZmVjYjJmMGIwZTYwMGQ2ZDFkY2VmMjczMTZlNjQ4NTgyNS4uNDlkMmQ0MWM0Njc4
MjBlNDYyOWU4Yzg1YWM1NmEzZmNhM2FmNjQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29udGVudHNEZWxheWVk
UmVsZWFzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2Nv
YS9QbGF0Zm9ybUNBTGF5ZXJDb250ZW50c0RlbGF5ZWRSZWxlYXNlci5oCkBAIC01NCwxNSArNTQs
MTUgQEAgcHJpdmF0ZToKICAgICAKICAgICBQbGF0Zm9ybUNBTGF5ZXJDb250ZW50c0RlbGF5ZWRS
ZWxlYXNlcigpOwogCi0gICAgdm9pZCB1cGRhdGVTYXdPdmVybGFwcGluZ0NvbW1pdCgpIFdURl9S
RVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgdm9pZCB1cGRhdGVTYXdPdmVybGFwcGluZ0NvbW1p
dCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CiAgICAgdm9pZCBjbGVhclJldGFp
bmVkQ29udGVudHMoKTsKIAogICAgIFZlY3RvcjxSZXRhaW5QdHI8Q0ZUeXBlUmVmPj4gbV9yZXRh
aW5lZENvbnRlbnRzOwogCiAgICAgTG9jayBtX2xvY2s7Ci0gICAgdW5zaWduZWQgbV9pbk1haW5U
aHJlYWRDb21taXRFbnRyeUNvdW50IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IDAgfTsK
LSAgICB1bnNpZ25lZCBtX3Njcm9sbGluZ1RocmVhZENvbW1pdEVudHJ5Q291bnQgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgIGJvb2wgbV9oYWRPdmVybGFwcGluZ0NvbW1p
dCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9OworICAgIHVuc2lnbmVkIG1f
aW5NYWluVGhyZWFkQ29tbWl0RW50cnlDb3VudCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
bG9jaykgeyAwIH07CisgICAgdW5zaWduZWQgbV9zY3JvbGxpbmdUaHJlYWRDb21taXRFbnRyeUNv
dW50IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKSB7IDAgfTsKKyAgICBib29sIG1f
aGFkT3ZlcmxhcHBpbmdDb21taXQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRleCA1MjYzODZk
MzUyNjAwZjE4NDAxZmU3MWU2NTFkZGFhYjIwZTNkOGZmLi40YTY5ZmVlNmFjZDdlZGQyY2YyMWVl
YjNhZjY0Zjk1YTc0OTE0ZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC04MCwzOSArODAsMzkgQEAgcHJpdmF0ZToK
ICAgICAvLyB0aGV5IGNhbid0IGJlIGltbWVkaWF0ZWx5IHJldHVybmVkIHdoZW4gcmVxdWVzdGVk
IChidXQgd2lsbCBiZSBmcmVlZCB1cCBpbiB0aGUgZnV0dXJlKS4KICAgICBzdGF0aWMgY29uc3Rl
eHByIHNpemVfdCBtYXhpbXVtSW5Vc2VCeXRlcyA9IGRlZmF1bHRNYXhpbXVtQnl0ZXNDYWNoZWQg
LyAyOwogICAgIAotICAgIGJvb2wgc2hvdWxkQ2FjaGVTdXJmYWNlKGNvbnN0IElPU3VyZmFjZSYp
IGNvbnN0IFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgYm9vbCBzaG91bGRDYWNoZVN1
cmZhY2UoY29uc3QgSU9TdXJmYWNlJikgY29uc3QgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9s
b2NrKTsKIAotICAgIHZvaWQgd2lsbEFkZFN1cmZhY2UoSU9TdXJmYWNlJiwgYm9vbCBpblVzZSkg
V1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKLSAgICB2b2lkIGRpZFJlbW92ZVN1cmZhY2UoSU9T
dXJmYWNlJiwgYm9vbCBpblVzZSkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKLSAgICB2b2lk
IGRpZFVzZVN1cmZhY2VPZlNpemUoSW50U2l6ZSkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsK
KyAgICB2b2lkIHdpbGxBZGRTdXJmYWNlKElPU3VyZmFjZSYsIGJvb2wgaW5Vc2UpIFdURl9SRVFV
SVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgdm9pZCBkaWRSZW1vdmVTdXJmYWNlKElPU3Vy
ZmFjZSYsIGJvb2wgaW5Vc2UpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAg
dm9pZCBkaWRVc2VTdXJmYWNlT2ZTaXplKEludFNpemUpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZ
KG1fbG9jayk7CiAKLSAgICB2b2lkIGluc2VydFN1cmZhY2VJbnRvUG9vbChzdGQ6OnVuaXF1ZV9w
dHI8SU9TdXJmYWNlPikgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2b2lkIGluc2Vy
dFN1cmZhY2VJbnRvUG9vbChzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPikgV1RGX1JFUVVJUkVT
X0NBUEFCSUxJVFkobV9sb2NrKTsKIAotICAgIHZvaWQgZXZpY3Qoc2l6ZV90IGFkZGl0aW9uYWxT
aXplKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOwotICAgIHZvaWQgdHJ5RXZpY3RJblVzZVN1
cmZhY2UoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOwotICAgIHZvaWQgdHJ5RXZpY3RPbGRl
c3RDYWNoZWRTdXJmYWNlKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2b2lkIGV2
aWN0KHNpemVfdCBhZGRpdGlvbmFsU2l6ZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2Nr
KTsKKyAgICB2b2lkIHRyeUV2aWN0SW5Vc2VTdXJmYWNlKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJ
VFkobV9sb2NrKTsKKyAgICB2b2lkIHRyeUV2aWN0T2xkZXN0Q2FjaGVkU3VyZmFjZSgpIFdURl9S
RVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CiAKLSAgICB2b2lkIHNjaGVkdWxlQ29sbGVjdGlv
blRpbWVyKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2b2lkIHNjaGVkdWxlQ29s
bGVjdGlvblRpbWVyKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKICAgICB2b2lk
IGNvbGxlY3Rpb25UaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBjb2xsZWN0SW5Vc2VTdXJmYWNlcygp
IFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7Ci0gICAgYm9vbCBtYXJrT2xkZXJTdXJmYWNlc1B1
cmdlYWJsZSgpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgdm9pZCBjb2xsZWN0SW5V
c2VTdXJmYWNlcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CisgICAgYm9vbCBt
YXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9j
ayk7CiAKICAgICB2b2lkIHBsYXRmb3JtR2FyYmFnZUNvbGxlY3ROb3coKTsKIAotICAgIHZvaWQg
ZGlzY2FyZEFsbFN1cmZhY2VzSW50ZXJuYWwoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOwor
ICAgIHZvaWQgZGlzY2FyZEFsbFN1cmZhY2VzSW50ZXJuYWwoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJ
TElUWShtX2xvY2spOwogCi0gICAgU3RyaW5nIHBvb2xTdGF0aXN0aWNzKCkgY29uc3QgV1RGX1JF
UVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICBTdHJpbmcgcG9vbFN0YXRpc3RpY3MoKSBjb25zdCBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2spOwogCiAgICAgTG9jayBtX2xvY2s7Ci0gICAg
UnVuTG9vcDo6VGltZXI8SU9TdXJmYWNlUG9vbD4gbV9jb2xsZWN0aW9uVGltZXIgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xvY2spOwotICAgIENhY2hlZFN1cmZhY2VNYXAgbV9jYWNoZWRTdXJmYWNl
cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgQ2FjaGVkU3VyZmFjZVF1ZXVlIG1f
aW5Vc2VTdXJmYWNlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7Ci0gICAgQ2FjaGVkU3Vy
ZmFjZURldGFpbHNNYXAgbV9zdXJmYWNlRGV0YWlscyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
ayk7Ci0gICAgVmVjdG9yPEludFNpemU+IG1fc2l6ZXNJblBydW5lT3JkZXIgV1RGX0dVQVJERURf
QllfTE9DSyhtX2xvY2spOwotCi0gICAgc2l6ZV90IG1fYnl0ZXNDYWNoZWQgV1RGX0dVQVJERURf
QllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgIHNpemVfdCBtX2luVXNlQnl0ZXNDYWNoZWQgV1RG
X0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgIHNpemVfdCBtX21heGltdW1CeXRl
c0NhY2hlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBkZWZhdWx0TWF4aW11bUJ5dGVz
Q2FjaGVkIH07CisgICAgUnVuTG9vcDo6VGltZXI8SU9TdXJmYWNlUG9vbD4gbV9jb2xsZWN0aW9u
VGltZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIENhY2hlZFN1cmZh
Y2VNYXAgbV9jYWNoZWRTdXJmYWNlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7
CisgICAgQ2FjaGVkU3VyZmFjZVF1ZXVlIG1faW5Vc2VTdXJmYWNlcyBXVEZfR1VBUkRFRF9CWV9D
QVBBQklMSVRZKG1fbG9jayk7CisgICAgQ2FjaGVkU3VyZmFjZURldGFpbHNNYXAgbV9zdXJmYWNl
RGV0YWlscyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CisgICAgVmVjdG9yPElu
dFNpemU+IG1fc2l6ZXNJblBydW5lT3JkZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xv
Y2spOworCisgICAgc2l6ZV90IG1fYnl0ZXNDYWNoZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElU
WShtX2xvY2spIHsgMCB9OworICAgIHNpemVfdCBtX2luVXNlQnl0ZXNDYWNoZWQgV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX2xvY2spIHsgMCB9OworICAgIHNpemVfdCBtX21heGltdW1CeXRl
c0NhY2hlZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykgeyBkZWZhdWx0TWF4aW11
bUJ5dGVzQ2FjaGVkIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmgKaW5kZXggOTFk
MjMzYWM0YTE0YWNkZGY4NTViZGM0ZmE5MDdlZjRmNGMzMjM1Zi4uZDUxZTc4NzNkOWE0MjcyMzA0
ZWQ2NTg2Y2M3ZTY4ZGZmNWUyYzgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuaApAQCAtOTQs
MTMgKzk0LDEzIEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gc3ViaW1h
Z2UoQ0dJbWFnZVJlZiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCBjbGVhckltYWdlQW5k
U3ViaW1hZ2VzKENHSW1hZ2VSZWYpOwotICAgIHZvaWQgcHJ1bmUoKSBXVEZfUkVRVUlSRVNfTE9D
SyhtX2xvY2spOworICAgIHZvaWQgcHJ1bmUoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xv
Y2spOwogICAgIHZvaWQgY2xlYXJBbGwoKTsKIAogICAgIExvY2sgbV9sb2NrOwotICAgIEhhc2hD
b3VudGVkU2V0PENHSW1hZ2VSZWY+IG1faW1hZ2VDb3VudHMgV1RGX0dVQVJERURfQllfTE9DSyht
X2xvY2spOwotICAgIFN1YmltYWdlQ2FjaGVIYXNoU2V0IG1fY2FjaGUgV1RGX0dVQVJERURfQllf
TE9DSyhtX2xvY2spOwotICAgIFJ1bkxvb3A6OlRpbWVyPFN1YmltYWdlQ2FjaGVXaXRoVGltZXI+
IG1fdGltZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOworICAgIEhhc2hDb3VudGVkU2V0
PENHSW1hZ2VSZWY+IG1faW1hZ2VDb3VudHMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xv
Y2spOworICAgIFN1YmltYWdlQ2FjaGVIYXNoU2V0IG1fY2FjaGUgV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWShtX2xvY2spOworICAgIFJ1bkxvb3A6OlRpbWVyPFN1YmltYWdlQ2FjaGVXaXRoVGlt
ZXI+IG1fdGltZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogCiAgICAgc3Rh
dGljIFN1YmltYWdlQ2FjaGVXaXRoVGltZXImIHN1YmltYWdlQ2FjaGUoKTsKICAgICBzdGF0aWMg
Ym9vbCBzdWJpbWFnZUNhY2hlRXhpc3RzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXgg
YWQ5YTIzN2FhOWM2MDQ4NTQ3NDU1MWMyNDU4NmQyY2E4YTU3NjMwMi4uODNlYzVkZDMxODJjM2Vi
M2E4MWM0ZDQyYjQxZmY3NzM5MzFmN2YwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAt
OTk0LDcgKzk5NCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgTG9jayBtX2ZhbWlseU5hbWVU
b0ZvbnREZXNjcmlwdG9yc0xvY2s7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0
cjxJbnN0YWxsZWRGb250RmFtaWx5Pj4gbV9mYW1pbHlOYW1lVG9Gb250RGVzY3JpcHRvcnMgV1RG
X0dVQVJERURfQllfTE9DSyhtX2ZhbWlseU5hbWVUb0ZvbnREZXNjcmlwdG9yc0xvY2spOworICAg
IEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9wdHI8SW5zdGFsbGVkRm9udEZhbWlseT4+IG1f
ZmFtaWx5TmFtZVRvRm9udERlc2NyaXB0b3JzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9m
YW1pbHlOYW1lVG9Gb250RGVzY3JpcHRvcnNMb2NrKTsKICAgICBIYXNoTWFwPFN0cmluZywgSW5z
dGFsbGVkRm9udD4gbV9wb3N0U2NyaXB0TmFtZVRvRm9udERlc2NyaXB0b3JzOwogICAgIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzIG1fYWxsb3dVc2VySW5zdGFsbGVkRm9udHM7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVj
b2RlckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oCmluZGV4IDI2MWRhZmYyNjE1OGUxN2EyYTQyMjFm
ZmIyNDM1NDY3NzE2ZGJkM2IuLjMzYjRlMWQwMjRjZTgyZWE4MmU2ZjI2YTM5ZmU5OGFiMjNhMWIz
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9JbWFnZURlY29kZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmgKQEAgLTExOCw3ICsxMTgs
NyBAQCBwcml2YXRlOgogCiAgICAgICAgIENvbmRpdGlvbiBtX21lc3NhZ2VDb25kaXRpb247CiAg
ICAgICAgIExvY2sgbV9tZXNzYWdlTG9jazsKLSAgICAgICAgYm9vbCBtX21lc3NhZ2VEaXNwYXRj
aGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9tZXNzYWdlTG9jaykgeyBmYWxzZSB9OworICAgICAg
ICBib29sIG1fbWVzc2FnZURpc3BhdGNoZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX21l
c3NhZ2VMb2NrKSB7IGZhbHNlIH07CiAgICAgfTsKIAogICAgIHZvaWQgaGFuZGxlU2FtcGxlKEdS
ZWZQdHI8R3N0U2FtcGxlPiYmKTsKQEAgLTEzNiw3ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxJbWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcj4gbV9pbm5lckRlY29kZXI7
CiAgICAgQ29uZGl0aW9uIG1fc2FtcGxlQ29uZGl0aW9uOwogICAgIExvY2sgbV9zYW1wbGVMb2Nr
OwotICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBtX3NhbXBsZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
c2FtcGxlTG9jayk7CisgICAgR1JlZlB0cjxHc3RTYW1wbGU+IG1fc2FtcGxlIFdURl9HVUFSREVE
X0JZX0NBUEFCSUxJVFkobV9zYW1wbGVMb2NrKTsKICAgICBDb25kaXRpb24gbV9oYW5kbGVyQ29u
ZGl0aW9uOwogICAgIExvY2sgbV9oYW5kbGVyTG9jazsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBmZDk3ZjhiNTM1NTA0OTA1
NDJkNDMxNzkyY2Q3MjI1N2ZjMjdjYjU0Li5hMWMxZGE5ZTY1NzY4ODg2YTMzMGE5YzM0Mjc2ZjI5
Yjg4MTAyYjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbm90aWZ5
VHJhY2tPZlNhbXBsZSgpOwogCi0gICAgVmVjdG9yPEdSZWZQdHI8R3N0U2FtcGxlPj4gbV9wZW5k
aW5nU2FtcGxlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2FtcGxlTXV0ZXgpOworICAgIFZlY3Rv
cjxHUmVmUHRyPEdzdFNhbXBsZT4+IG1fcGVuZGluZ1NhbXBsZXMgV1RGX0dVQVJERURfQllfQ0FQ
QUJJTElUWShtX3NhbXBsZU11dGV4KTsKICAgICBLaW5kIG1fa2luZDsKICAgICBMb2NrIG1fc2Ft
cGxlTXV0ZXg7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5oCmluZGV4IGViYjQxYWJm
OGNkNDRmZmM1YjY2ZTAzMTljNTI5NjA2M2NjZTU4ODcuLjFkY2M0MjBmM2U0OGQ2OGZjZTdlMmFl
ZDVmYWE5ZDU3OWRjN2IzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmgKQEAgLTEy
NSw3ICsxMjUsNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIExvY2sgbV9wZW5kaW5nTm90aWZp
Y2F0aW9uc0xvY2s7Ci0gICAgdW5zaWduZWQgbV9wZW5kaW5nTm90aWZpY2F0aW9ucyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fcGVuZGluZ05vdGlmaWNhdGlvbnNMb2NrKSB7IDAgfTsKKyAgICB1bnNp
Z25lZCBtX3BlbmRpbmdOb3RpZmljYXRpb25zIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9w
ZW5kaW5nTm90aWZpY2F0aW9uc0xvY2spIHsgMCB9OwogICAgIEF0b21pYzxib29sPiBtX2lzVmFs
aWQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgK
aW5kZXggZTM4MDc1YjJmYzI2ZDk0M2JmOWEwMDY1NDMzYzdiYmFhZTVlMDYyMy4uZjgwZmRlM2Jl
ODFkYjg3MGYwZDdiZjg3ZjNiZWUxN2EyMjVjMmE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMzY0LDcgKzM2NCw3IEBAIHByb3RlY3RlZDoK
ICAgICBib29sIG1faXNVc2luZ0ZhbGxiYWNrVmlkZW9TaW5rIHsgZmFsc2UgfTsKICAgICBib29s
IG1fY2FuUmVuZGVyaW5nQmVBY2NlbGVyYXRlZCB7IGZhbHNlIH07CiAKLSAgICBib29sIG1faXNC
ZWluZ0Rlc3Ryb3llZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZHJhd0xvY2spIHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNCZWluZ0Rlc3Ryb3llZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
ZHJhd0xvY2spIHsgZmFsc2UgfTsKIAogI2lmIFVTRShHU1RSRUFNRVJfR0wpCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcj4gbV92aWRlb1RleHR1cmVDb3Bp
ZXI7CkBAIC01MDQsNyArNTA0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzQXVkaW8geyBm
YWxzZSB9OwogICAgIENvbmRpdGlvbiBtX2RyYXdDb25kaXRpb247CiAgICAgTG9jayBtX2RyYXdM
b2NrOwotICAgIFJ1bkxvb3A6OlRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV9k
cmF3VGltZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX2RyYXdMb2NrKTsKKyAgICBSdW5Mb29wOjpU
aW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IG1fZHJhd1RpbWVyIFdURl9HVUFSREVE
X0JZX0NBUEFCSUxJVFkobV9kcmF3TG9jayk7CiAgICAgUnVuTG9vcDo6VGltZXI8TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyPiBtX3JlYWR5VGltZXJIYW5kbGVyOwogI2lmIFVTRShURVhUVVJF
X01BUFBFUl9HTCkKICNpZiBVU0UoTklDT1NJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHAKaW5kZXggZDAxNDczZDc4YzMzNTk2ZTg1ZjZhZWZlNTg1ZmZlNjM4YzkzNWQ3Yi4uMDMx
NjZmZGYzOWYwOTJiZGFkZDFiMWQ3ZWRkYmYxNjQyOGFmZmFjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVv
U2lua0dTdHJlYW1lci5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgTG9jayBtX3NhbXBsZUxvY2s7Ci0gICAgR1JlZlB0cjxHc3RTYW1wbGU+IG1fc2FtcGxl
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9zYW1wbGVMb2NrKTsKKyAgICBHUmVmUHRyPEdzdFNhbXBs
ZT4gbV9zYW1wbGUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3NhbXBsZUxvY2spOwogCiAg
ICAgLy8gSWYgdGhpcyBpcyB0cnVlIGFsbCBwcm9jZXNzaW5nIHNob3VsZCBmaW5pc2ggQVNBUAog
ICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlcmUgY291bGQgYmUgYSByYWNlIGJl
dHdlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5oCmlu
ZGV4IGUzZmNkMGUxNjk0YjgwYjFjNDBiM2NkOGExMDE0MzMzNTNkYjg3NTQuLjhmNmJjY2FhMmI4
ZmJlMGRkZjAzNGEwNjZiYzM2MDYyZjI2MWY0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGlzR0xCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBib29sIGlzRE1BQnVmQmFzZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAg
TG9jayYgbG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0K
KyAgICBMb2NrJiBsb2NrKCkgV1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX2xvY2spIHsgcmV0dXJu
IG1fbG9jazsgfQogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBhY3Rp
dmF0ZU9uQ29tcG9zaXRpbmdUaHJlYWQoQ29tcG9zaXRvciosIFRleHR1cmVNYXBwZXJMYXllciop
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5R0wuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5R0wu
aAppbmRleCBmNTIxYzFmZTdiYTMzOWUyMzdmN2EwM2IxNTNkMDk2NDljZTA0OTA2Li5jMWQzNmY5
YzQ2MGEwMDZhZGY1MGE2YmJiYjIwYWZhYmFmMDQwNGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQ
cm94eUdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHlHTC5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZh
dGU6CiAKICAgICBMb2NrIG1fd2FzQnVmZmVyRHJvcHBlZExvY2s7CiAgICAgQ29uZGl0aW9uIG1f
d2FzQnVmZmVyRHJvcHBlZENvbmRpdGlvbjsKLSAgICBib29sIG1fd2FzQnVmZmVyRHJvcHBlZCBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fd2FzQnVmZmVyRHJvcHBlZExvY2spIHsgZmFsc2UgfTsKKyAg
ICBib29sIG1fd2FzQnVmZmVyRHJvcHBlZCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fd2Fz
QnVmZmVyRHJvcHBlZExvY2spIHsgZmFsc2UgfTsKIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+PiBtX3VzZWRCdWZmZXJzOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSdW5Mb29wOjpUaW1lcjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXll
clByb3h5R0w+PiBtX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURl
Y29kZXIuaAppbmRleCBkOWZkYTc3NmZkNThkODdjY2U1NGVmMzA0NDA3Y2NhNGRlMDQ3ZjM1Li4x
ZTBkNzAwYjAwYjJmZjIzMmQxZTMzYWUwMTQ5OGIwODY1MTM1MjcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1h
Z2VEZWNvZGVyLmgKQEAgLTE5NCw3ICsxOTQsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAg
ICBSZWZQdHI8Y29uc3QgU2hhcmVkQnVmZmVyPiBtX2RhdGE7Ci0gICAgVmVjdG9yPFNjYWxhYmxl
SW1hZ2VEZWNvZGVyRnJhbWUsIDE+IG1fZnJhbWVCdWZmZXJDYWNoZSBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fbG9jayk7CisgICAgVmVjdG9yPFNjYWxhYmxlSW1hZ2VEZWNvZGVyRnJhbWUsIDE+IG1f
ZnJhbWVCdWZmZXJDYWNoZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7CiAgICAg
bXV0YWJsZSBMb2NrIG1fbG9jazsKICAgICBib29sIG1fcHJlbXVsdGlwbHlBbHBoYTsKICAgICBi
b29sIG1faWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1F1aWNrTG9vay5tbQppbmRleCBlM2MzMDdjODFlMWI5YzdmMjlmMDNlYjQzMjNhODFmM2E4
OWU5MWVmLi5mMDg4MGNkM2EyZmJiZGNmNTU0MzJiMmYyNjYzZDE4ZDBhMWMyMzVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9RdWlja0xvb2subW0KQEAgLTQ4LDcgKzQ4LDcgQEAgTlNT
ZXQgKlFMUHJldmlld0dldFN1cHBvcnRlZE1JTUVUeXBlc1NldCgpCiAKIHN0YXRpYyBMb2NrIHFs
UHJldmlld0NvbnZlcnRlckRpY3Rpb25hcnlMb2NrOwogCi1zdGF0aWMgTlNNdXRhYmxlRGljdGlv
bmFyeSAqUUxQcmV2aWV3Q29udmVydGVyRGljdGlvbmFyeSgpIFdURl9SRVFVSVJFU19MT0NLKHFs
UHJldmlld0NvbnZlcnRlckRpY3Rpb25hcnlMb2NrKQorc3RhdGljIE5TTXV0YWJsZURpY3Rpb25h
cnkgKlFMUHJldmlld0NvbnZlcnRlckRpY3Rpb25hcnkoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElU
WShxbFByZXZpZXdDb252ZXJ0ZXJEaWN0aW9uYXJ5TG9jaykKIHsKICAgICBzdGF0aWMgTlNNdXRh
YmxlRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9IFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10g
aW5pdF07CiAgICAgcmV0dXJuIGRpY3Rpb25hcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpp
bmRleCAyN2RiNTMyZmMwYjJiODVjOGJhMDdkMjk4ZmNmNjZkNDljYmE0OGFlLi40MzNiZmRlZWY5
ZDgyYjIxOGEwZTE4YjgwNmEwMTdkOGUxNzZkZDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQu
bW0KQEAgLTg3LDE0ICs4NywxNCBAQCB2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVu
dDo6aHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdAogCiBzdGF0aWMg
TG9jayB0cmFuc2FjdGlvbkJhY2tncm91bmRUYXNrSWRlbnRpZmllckxvY2s7CiAKLXN0YXRpYyBO
U1VJbnRlZ2VyIHRyYW5zYWN0aW9uQmFja2dyb3VuZFRhc2tJZGVudGlmaWVyIFdURl9HVUFSREVE
X0JZX0xPQ0sodHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50aWZpZXJMb2NrKTsKK3N0YXRp
YyBOU1VJbnRlZ2VyIHRyYW5zYWN0aW9uQmFja2dyb3VuZFRhc2tJZGVudGlmaWVyIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkodHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50aWZpZXJMb2Nr
KTsKIAotc3RhdGljIHZvaWQgc2V0VHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50aWZpZXIo
TlNVSW50ZWdlciBpZGVudGlmaWVyKSBXVEZfUkVRVUlSRVNfTE9DSyh0cmFuc2FjdGlvbkJhY2tn
cm91bmRUYXNrSWRlbnRpZmllckxvY2spCitzdGF0aWMgdm9pZCBzZXRUcmFuc2FjdGlvbkJhY2tn
cm91bmRUYXNrSWRlbnRpZmllcihOU1VJbnRlZ2VyIGlkZW50aWZpZXIpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKHRyYW5zYWN0aW9uQmFja2dyb3VuZFRhc2tJZGVudGlmaWVyTG9jaykKIHsKICAg
ICB0cmFuc2FjdGlvbkJhY2tncm91bmRUYXNrSWRlbnRpZmllciA9IGlkZW50aWZpZXI7CiB9CiAK
LXN0YXRpYyBOU1VJbnRlZ2VyIGdldFRyYW5zYWN0aW9uQmFja2dyb3VuZFRhc2tJZGVudGlmaWVy
KCkgV1RGX1JFUVVJUkVTX0xPQ0sodHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50aWZpZXJM
b2NrKQorc3RhdGljIE5TVUludGVnZXIgZ2V0VHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50
aWZpZXIoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWSh0cmFuc2FjdGlvbkJhY2tncm91bmRUYXNr
SWRlbnRpZmllckxvY2spCiB7CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBwcmVkOwogICAg
IGRpc3BhdGNoX29uY2UoJnByZWQsIF4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmgK
aW5kZXggMDQxZjY5ZmJmZDU5OWE1YTNjNDJmZGQyNjNhN2NlYmY5NzY0Y2Q2NC4uNTQwYzExM2Ni
YmM3MDk1YzYwMGM2MmQ5ZTdlMGI2MmY4NjQzYmQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlTW9jay5oCkBAIC01MCwxMCArNTAsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc3VtZVJl
Y29yZGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgZ2VuZXJhdGVNb2NrQ291
bnRlclN0cmluZygpIFdURl9SRVFVSVJFU19MT0NLKG1fYnVmZmVyTG9jayk7CisgICAgdm9pZCBn
ZW5lcmF0ZU1vY2tDb3VudGVyU3RyaW5nKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9idWZm
ZXJMb2NrKTsKIAogICAgIG11dGFibGUgTG9jayBtX2J1ZmZlckxvY2s7Ci0gICAgU3RyaW5nQnVp
bGRlciBtX2J1ZmZlciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fYnVmZmVyTG9jayk7CisgICAgU3Ry
aW5nQnVpbGRlciBtX2J1ZmZlciBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fYnVmZmVyTG9j
ayk7CiAgICAgdW5zaWduZWQgbV9jb3VudGVyIHsgMCB9OwogICAgIFN0cmluZyBtX2F1ZGlvVHJh
Y2tJRDsKICAgICBTdHJpbmcgbV92aWRlb1RyYWNrSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2Ev
TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCmluZGV4IDQ0ZTIwOGVlYmM1YWZlZmUw
YjVmYWEzZGIzNTNjNzU1NTEwMTcwMTMuLjExMmNhOWY0OTdmNzk5Y2E4ZjRhMTkyYzM2ZDAzYmQw
YTdkZTk4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXJDb2NvYS5oCkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8
QVZBc3NldFdyaXRlcj4gbV93cml0ZXI7CiAKICAgICBMb2NrIG1fZGF0YUxvY2s7Ci0gICAgU2hh
cmVkQnVmZmVyQnVpbGRlciBtX2RhdGEgV1RGX0dVQVJERURfQllfTE9DSyhtX2RhdGFMb2NrKTsK
KyAgICBTaGFyZWRCdWZmZXJCdWlsZGVyIG1fZGF0YSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZ
KG1fZGF0YUxvY2spOwogICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPEZyYWdtZW50
ZWRTaGFyZWRCdWZmZXI+JiYsIGRvdWJsZSk+IG1fZmV0Y2hEYXRhQ29tcGxldGlvbkhhbmRsZXI7
CiAKICAgICBSZXRhaW5QdHI8Q01Gb3JtYXREZXNjcmlwdGlvblJlZj4gbV9hdWRpb0Zvcm1hdERl
c2NyaXB0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmluZGV4IGQ0NDgzMTY4YzAwODE3ZjJmNDUwMGVj
Zjc0NThmZTU0Y2JiY2VkZGMuLjgwZDhhODk4NDNhMjJhZDZlNTNlMmQ3YTU3MWI4NDM0YTU4ZGFi
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTI4MiwxMCArMjgyLDEwIEBAIHByaXZhdGU6CiAg
ICAgV2Vha0hhc2hTZXQ8T2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOwogCiAgICAgbXV0YWJsZSBMb2Nr
IG1fYXVkaW9TYW1wbGVPYnNlcnZlcnNMb2NrOwotICAgIEhhc2hTZXQ8QXVkaW9TYW1wbGVPYnNl
cnZlcio+IG1fYXVkaW9TYW1wbGVPYnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2F1ZGlv
U2FtcGxlT2JzZXJ2ZXJzTG9jayk7CisgICAgSGFzaFNldDxBdWRpb1NhbXBsZU9ic2VydmVyKj4g
bV9hdWRpb1NhbXBsZU9ic2VydmVycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fYXVkaW9T
YW1wbGVPYnNlcnZlcnNMb2NrKTsKIAogICAgIG11dGFibGUgTG9jayBtX3ZpZGVvU2FtcGxlT2Jz
ZXJ2ZXJzTG9jazsKLSAgICBIYXNoU2V0PFZpZGVvU2FtcGxlT2JzZXJ2ZXIqPiBtX3ZpZGVvU2Ft
cGxlT2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV92aWRlb1NhbXBsZU9ic2VydmVyc0xv
Y2spOworICAgIEhhc2hTZXQ8VmlkZW9TYW1wbGVPYnNlcnZlcio+IG1fdmlkZW9TYW1wbGVPYnNl
cnZlcnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzTG9j
ayk7CiAKICAgICAvLyBTZXQgb24gdGhlIG1haW4gdGhyZWFkIGZyb20gY29uc3RyYWludHMuCiAg
ICAgSW50U2l6ZSBtX3NpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oCmluZGV4
IDI4NzJiNDU5YmI3YjM3MzkxYTAwZDU4ZTFiN2M1MDMxYTYwNDhhMTcuLjM2NWI5ZjkzYWNkZDUy
OTU3MWZkMGE1YTkyY2ZmMzE3MGEwZjE2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZW5hYmxlZCB7
IHRydWUgfTsKIAogICAgIG11dGFibGUgTG9jayBtX3NpbmtzTG9jazsKLSAgICBIYXNoU2V0PHdl
YnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UqPiBtX3NpbmtzIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9zaW5rc0xvY2spOworICAgIEhhc2hTZXQ8d2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVy
ZmFjZSo+IG1fc2lua3MgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3NpbmtzTG9jayk7CiAK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBzaXplX3QgbV9jaHVua3NTZW50IHsgMCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAppbmRleCBlZGI2N2FkZjJhZGY3MGNi
ODczYjRmZjY2YTI3NjgxNDU1MTFlNzFiLi42YzA0MmY5N2U0YjljNTM5OTY4NjgzNWQ3OWJkNmFl
ODVkYjVmMzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaApAQCAtMTQyLDcg
KzE0Miw3IEBAIHByaXZhdGU6CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9G
cmFtZUJ1ZmZlcj4gbV9ibGFja0ZyYW1lOwogCiAgICAgbXV0YWJsZSBMb2NrIG1fc2lua3NMb2Nr
OwotICAgIEhhc2hTZXQ8cnRjOjpWaWRlb1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWRlb0ZyYW1l
Pio+IG1fc2lua3MgV1RGX0dVQVJERURfQllfTE9DSyhtX3NpbmtzTG9jayk7CisgICAgSGFzaFNl
dDxydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3ZWJydGM6OlZpZGVvRnJhbWU+Kj4gbV9zaW5rcyBX
VEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc2lua3NMb2NrKTsKICAgICBib29sIG1fYXJlU2lu
a3NBc2tpbmdUb0FwcGx5Um90YXRpb24geyBmYWxzZSB9OwogCiAgICAgYm9vbCBtX2VuYWJsZWQg
eyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9jb2NvYS9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyVW5pdC5oCmluZGV4IDFiNjlmMjc2M2VmYzg3NmU3ZDQzYjA2ODgyMDk2YjA1MWU5ODE2ZDQu
Ljg1ZGRiNzhmZjU4NWExOTZlZjZjMDFlMzgzZDY0YmE5NGUzYzgxYjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVyVW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCkBAIC03MSw5ICs3
MSw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVSZW5kZXJTb3VyY2VzSWZOZWNlc3Nhcnko
KTsKIAogICAgIEhhc2hTZXQ8UmVmPEF1ZGlvU2FtcGxlRGF0YVNvdXJjZT4+IG1fc291cmNlczsK
LSAgICBWZWN0b3I8UmVmPEF1ZGlvU2FtcGxlRGF0YVNvdXJjZT4+IG1fcGVuZGluZ1JlbmRlclNv
dXJjZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3BlbmRpbmdSZW5kZXJTb3VyY2VzTG9jayk7Cisg
ICAgVmVjdG9yPFJlZjxBdWRpb1NhbXBsZURhdGFTb3VyY2U+PiBtX3BlbmRpbmdSZW5kZXJTb3Vy
Y2VzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9wZW5kaW5nUmVuZGVyU291cmNlc0xvY2sp
OwogICAgIFZlY3RvcjxSZWY8QXVkaW9TYW1wbGVEYXRhU291cmNlPj4gbV9yZW5kZXJTb3VyY2Vz
OwotICAgIGJvb2wgbV9oYXNQZW5kaW5nUmVuZGVyU291cmNlcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fcGVuZGluZ1JlbmRlclNvdXJjZXNMb2NrKSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2hhc1Bl
bmRpbmdSZW5kZXJTb3VyY2VzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9wZW5kaW5nUmVu
ZGVyU291cmNlc0xvY2spIHsgZmFsc2UgfTsKICAgICBMb2NrIG1fcGVuZGluZ1JlbmRlclNvdXJj
ZXNMb2NrOwogICAgIFVuaXF1ZVJlZjxBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVy
bmFsVW5pdD4gbV9pbnRlcm5hbFVuaXQ7CiAgICAgV2Vha0hhc2hTZXQ8UmVzZXRPYnNlcnZlcj4g
bV9yZXNldE9ic2VydmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
TGliV2ViUlRDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUxpYldlYlJUQy5oCmluZGV4
IDU5MjNkNjI2OGIzYTRhY2EwNjI1MjBmMjRjNTIzOTlmNmE3ZDczYWMuLmU3OTMxMmJiZDMzN2Yz
MjAyOTBiMGIyM2JkZDJhMDU0MmMyZDI1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlTGliV2ViUlRDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VMaWJX
ZWJSVEMuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogICAgIEdzdEF1ZGlvSW5mbyBtX291
dHB1dFN0cmVhbURlc2NyaXB0aW9uOwogCiAgICAgTG9jayBtX2FkYXB0ZXJMb2NrOwotICAgIEdS
ZWZQdHI8R3N0QWRhcHRlcj4gbV9hZGFwdGVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV9hZGFwdGVy
TG9jayk7CisgICAgR1JlZlB0cjxHc3RBZGFwdGVyPiBtX2FkYXB0ZXIgV1RGX0dVQVJERURfQllf
Q0FQQUJJTElUWShtX2FkYXB0ZXJMb2NrKTsKICAgICBWZWN0b3I8dWludDhfdD4gbV9hdWRpb0J1
ZmZlcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oCmluZGV4IDc0ZGZlNmQ0NDY0MGU0
NjMxMmY3YzhjZWIwZDdmMDkwY2MxMDFlZjkuLjNiNDk0M2I2NTM3OGM3NDdkZjZmMDY1YjY5N2Yw
Njc0ZGY2Njc2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuaApAQCAtMTI2LDcgKzEyNiw3
IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJf
dD4+IG1fY2FwdHVyaW5nRGV2aWNlOwogCiAgICAgSGFzaFNldDxDb3JlQXVkaW9DYXB0dXJlU291
cmNlKj4gbV9jbGllbnRzOwotICAgIFZlY3RvcjxDb3JlQXVkaW9DYXB0dXJlU291cmNlKj4gbV9h
dWRpb1RocmVhZENsaWVudHMgV1RGX0dVQVJERURfQllfTE9DSyhtX2F1ZGlvVGhyZWFkQ2xpZW50
c0xvY2spOworICAgIFZlY3RvcjxDb3JlQXVkaW9DYXB0dXJlU291cmNlKj4gbV9hdWRpb1RocmVh
ZENsaWVudHMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2F1ZGlvVGhyZWFkQ2xpZW50c0xv
Y2spOwogICAgIExvY2sgbV9hdWRpb1RocmVhZENsaWVudHNMb2NrOwogCiAgICAgYm9vbCBtX2lz
UHJvZHVjaW5nTWljcm9waG9uZVNhbXBsZXMgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZS5jcHAKaW5kZXggOWEwYjI5ZWRiMWQxNzgxNTY1NDUwZjU4ZGU5MDlmNjhjODcz
ZWEwMy4uZjA0ZjdkYjA3ZmU2MDQ1Mjc2MWRlYmViOTNhMDM3NmU5ZjExYjAyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1
cmVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1faXNSZWNvbmZpZ3VyaW5nIHsgZmFsc2UgfTsKICAgICBMb2NrIG1fc3Bl
YWtlclNhbXBsZXNQcm9kdWNlckxvY2s7Ci0gICAgQ29yZUF1ZGlvU3BlYWtlclNhbXBsZXNQcm9k
dWNlciogbV9zcGVha2VyU2FtcGxlc1Byb2R1Y2VyIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zcGVh
a2VyU2FtcGxlc1Byb2R1Y2VyTG9jaykgeyBudWxscHRyIH07CisgICAgQ29yZUF1ZGlvU3BlYWtl
clNhbXBsZXNQcm9kdWNlciogbV9zcGVha2VyU2FtcGxlc1Byb2R1Y2VyIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9zcGVha2VyU2FtcGxlc1Byb2R1Y2VyTG9jaykgeyBudWxscHRyIH07CiB9
OwogCiBDb3JlQXVkaW9TaGFyZWRVbml0JiBDb3JlQXVkaW9TaGFyZWRVbml0Ojp1bml0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5T
VVJMU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2Vi
Q29yZU5TVVJMU2Vzc2lvbi5tbQppbmRleCAzYzhiZTA4YzI5MzRlNTRkYTNiNzQ5Y2E2ZGEzNGVk
YTk2ZGM5YjhiLi45ZTQ3OTAwNGEwZmI5YThjZjRlMDM2MTA5NWI2Y2E2NzI5MzJhMmIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VS
TFNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9X
ZWJDb3JlTlNVUkxTZXNzaW9uLm1tCkBAIC02MTUsNyArNjE1LDcgQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIExvY2sgbV90YXNrTG9jazsKLSAgICBXZWFrT2JqQ1B0cjxXZWJDb3JlTlNVUkxT
ZXNzaW9uRGF0YVRhc2s+IG1fdGFzayBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdGFza0xvY2spOwor
ICAgIFdlYWtPYmpDUHRyPFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gbV90YXNrIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV90YXNrTG9jayk7CiB9OwogCiB2b2lkIFdlYkNvcmVOU1VS
TFNlc3Npb25EYXRhVGFza0NsaWVudDo6Y2xlYXJUYXNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQppbmRleCBkNzVmZDViOTEx
ZTFhMDQ3Y2VhNTQ3Nzg2NmM2ZTQ2OTg0YmNiZTEyLi5kZDlmNDUzMDc4OTRhNjEyZWVlMjYyYTFj
ZDJlOWNmMTdiMzgwOWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9VVElVdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCkBAIC0xMDcsNyArMTA3LDcgQEAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5ECiB9OwogCiBzdGF0aWMgTG9jayBjYWNoZVVUSUZyb21NSU1F
VHlwZUxvY2s7Ci1zdGF0aWMgVGlueUxSVUNhY2hlPFN0cmluZywgUmV0YWluUHRyPENGU3RyaW5n
UmVmPiwgMTYsIFVUSUZyb21NSU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTUlNRVR5
cGUoKSBXVEZfUkVRVUlSRVNfTE9DSyhjYWNoZVVUSUZyb21NSU1FVHlwZUxvY2spCitzdGF0aWMg
VGlueUxSVUNhY2hlPFN0cmluZywgUmV0YWluUHRyPENGU3RyaW5nUmVmPiwgMTYsIFVUSUZyb21N
SU1FVHlwZUNhY2hlUG9saWN5PiYgY2FjaGVVVElGcm9tTUlNRVR5cGUoKSBXVEZfUkVRVUlSRVNf
Q0FQQUJJTElUWShjYWNoZVVUSUZyb21NSU1FVHlwZUxvY2spCiB7CiAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPFRpbnlMUlVDYWNoZTxTdHJpbmcsIFJldGFpblB0cjxDRlN0cmluZ1JlZj4sIDE2
LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4+IGNhY2hlOwogICAgIHJldHVybiBjYWNoZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLmgKaW5kZXggZDU4MDU3NTczM2E3ZThlM2Q3ODY4ZWU5MmVkOWM1YWQxODczNzBh
Ni4uMzIxMjI4MzAzY2U0MWE1Y2ZmMDhkYzg1NDE0MThjY2MxZjZkYjczMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxl
QXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
LmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgU3luY2hyb25vdXNMb2FkZXJNZXNzYWdlUXVldWU7
CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlIDogTlNPYmplY3QgPE5TVVJMQ29ubmVjdGlvbkRlbGVnYXRlPiB7CiAgICAgTG9jayBtX2xv
Y2s7Ci0gICAgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqIG1faGFuZGxlIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9sb2NrKTsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGUgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogCiAgICAgLy8gU3luY2hyb25vdXMgZGVs
ZWdhdGVzIG9uIG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFu
IGFzeW5jaHJvbm91cyByZXNwb25zZS4KICAgICBCaW5hcnlTZW1hcGhvcmUgbV9zZW1hcGhvcmU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcAppbmRl
eCAwMThhNThlMTkxMzBjZmQ0ODkyZDNiYWU2ZGUxN2Y4NTgwMWNlYTJmLi44N2E2MjI4N2FhNWFj
ZDU5ZmY5MTA0N2E5MjYxODRiZjgzN2M0MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKQEAgLTczLDcgKzczLDcgQEAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVNRTGl0ZUlmTmVjZXNzYXJ5KCkKIH0KIAogc3RhdGljIExvY2sgaXNEYXRhYmFz
ZU9wZW5pbmdGb3JiaWRkZW5Mb2NrOwotc3RhdGljIGJvb2wgaXNEYXRhYmFzZU9wZW5pbmdGb3Ji
aWRkZW4gV1RGX0dVQVJERURfQllfTE9DSyhpc0RhdGFiYXNlT3BlbmluZ0ZvcmJpZGRlbkxvY2sp
IHsgZmFsc2UgfTsKK3N0YXRpYyBib29sIGlzRGF0YWJhc2VPcGVuaW5nRm9yYmlkZGVuIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkoaXNEYXRhYmFzZU9wZW5pbmdGb3JiaWRkZW5Mb2NrKSB7IGZh
bHNlIH07CiAKIHZvaWQgU1FMaXRlRGF0YWJhc2U6OnNldElzRGF0YWJhc2VPcGVuaW5nRm9yYmlk
ZGVuKGJvb2wgaXNGb3JiaWRkZW4pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVEYXRhYmFzZS5oCmluZGV4IGM1YjViMjM5ZmQ2MTQ4ZjkyMGUwOWY4NzVkZWUzZTdiZTNl
NWRkNDguLmU4YWZkM2FlNDZlOTE4ZTcwMmM4ZWFkODcyODliOTY5YzFkZTk4NjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCkBAIC0xNjksNyArMTY5
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgaW50IGF1dGhvcml6ZXJGdW5jdGlv
bih2b2lkKiwgaW50LCBjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIGNvbnN0IGNoYXIqLCBjb25z
dCBjaGFyKik7CiAKLSAgICB2b2lkIGVuYWJsZUF1dGhvcml6ZXIoYm9vbCBlbmFibGUpIFdURl9S
RVFVSVJFU19MT0NLKG1fYXV0aG9yaXplckxvY2spOworICAgIHZvaWQgZW5hYmxlQXV0aG9yaXpl
cihib29sIGVuYWJsZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9hdXRob3JpemVyTG9jayk7
CiAgICAgdm9pZCB1c2VXQUxKb3VybmFsTW9kZSgpOwogCiAgICAgaW50IHBhZ2VTaXplKCk7CkBA
IC0xODgsNyArMTg4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdXNlV0FMIHsgZmFsc2UgfTsK
IAogICAgIExvY2sgbV9hdXRob3JpemVyTG9jazsKLSAgICBSZWZQdHI8RGF0YWJhc2VBdXRob3Jp
emVyPiBtX2F1dGhvcml6ZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX2F1dGhvcml6ZXJMb2NrKTsK
KyAgICBSZWZQdHI8RGF0YWJhc2VBdXRob3JpemVyPiBtX2F1dGhvcml6ZXIgV1RGX0dVQVJERURf
QllfQ0FQQUJJTElUWShtX2F1dGhvcml6ZXJMb2NrKTsKIAogICAgIExvY2sgbV9sb2NraW5nTXV0
ZXg7CiAgICAgUmVmUHRyPFRocmVhZD4gbV9vcGVuaW5nVGhyZWFkIHsgbnVsbHB0ciB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlVHJhY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2Vy
LmNwcAppbmRleCBjZTYzN2ZjNTM0ZWJmMWI1NWEzM2EyN2I3NDc4Mjk4ODI5MDk5YWEyLi4yMGIw
MDA1NWViYzMyYjVhYzBmYzcyY2RkMDMyMDQxZDI4NjgzZDliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcApAQCAtMzQs
OCArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgU1FMaXRlRGF0YWJhc2VU
cmFja2VyIHsKIAogc3RhdGljIExvY2sgdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jazsKLXN0YXRp
YyBTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQqIHNfc3RhdGljU1FMaXRlRGF0YWJhc2VUcmFj
a2VyQ2xpZW50IFdURl9HVUFSREVEX0JZX0xPQ0sodHJhbnNhY3Rpb25JblByb2dyZXNzTG9jaykg
eyBudWxscHRyIH07Ci1zdGF0aWMgdW5zaWduZWQgc190cmFuc2FjdGlvbkluUHJvZ3Jlc3NDb3Vu
dGVyIFdURl9HVUFSREVEX0JZX0xPQ0sodHJhbnNhY3Rpb25JblByb2dyZXNzTG9jaykgeyAwIH07
CitzdGF0aWMgU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBzX3N0YXRpY1NRTGl0ZURhdGFi
YXNlVHJhY2tlckNsaWVudCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKHRyYW5zYWN0aW9uSW5Q
cm9ncmVzc0xvY2spIHsgbnVsbHB0ciB9Oworc3RhdGljIHVuc2lnbmVkIHNfdHJhbnNhY3Rpb25J
blByb2dyZXNzQ291bnRlciBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKHRyYW5zYWN0aW9uSW5Q
cm9ncmVzc0xvY2spIHsgMCB9OwogCiB2b2lkIHNldENsaWVudChTUUxpdGVEYXRhYmFzZVRyYWNr
ZXJDbGllbnQqIGNsaWVudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZVF1b3RhTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVv
dGFNYW5hZ2VyLmgKaW5kZXggMWU3NTRlMzQwZmIwMGFhNjkxZDM3NDkyNDg1ODRkOTA3NmNjODAw
Zi4uOTQzOTI4Yjc2Mzc2YWE1NWY3YzIyMDA4YjI3OGYwYTI1MzU0ODQ3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgKQEAgLTUzLDEyICs1MywxMiBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXNldFF1b3RhRm9yVGVzdGluZygp
OwogcHJpdmF0ZToKICAgICBTdG9yYWdlUXVvdGFNYW5hZ2VyKHVpbnQ2NF90IHF1b3RhLCBVc2Fn
ZUdldHRlciYmLCBRdW90YUluY3JlYXNlUmVxdWVzdGVyJiYpOwotICAgIGJvb2wgdHJ5R3JhbnRS
ZXF1ZXN0KHVpbnQ2NF90KSBXVEZfUkVRVUlSRVNfTE9DSyhtX3F1b3RhQ291bnREb3duTG9jayk7
CisgICAgYm9vbCB0cnlHcmFudFJlcXVlc3QodWludDY0X3QpIFdURl9SRVFVSVJFU19DQVBBQklM
SVRZKG1fcXVvdGFDb3VudERvd25Mb2NrKTsKIAogICAgIHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9u
VXNhZ2UoKTsKIAogICAgIExvY2sgbV9xdW90YUNvdW50RG93bkxvY2s7Ci0gICAgdWludDY0X3Qg
bV9xdW90YUNvdW50RG93biBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcXVvdGFDb3VudERvd25Mb2Nr
KSB7IDAgfTsKKyAgICB1aW50NjRfdCBtX3F1b3RhQ291bnREb3duIFdURl9HVUFSREVEX0JZX0NB
UEFCSUxJVFkobV9xdW90YUNvdW50RG93bkxvY2spIHsgMCB9OwogICAgIHVpbnQ2NF90IG1fcXVv
dGEgeyAwIH07CiAgICAgdWludDY0X3QgbV91c2FnZSB7IDAgfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBmMmYyOThlNzg3MjBmNzAzMDk5
MDJjMmIzYjliZmJhMmJhZGUwYWM0Li43ZGM2MTY5ZDIwOGViMDZmNmFjYTczYjZkNDNhYWI4NzQz
NTdmMjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cApAQCAtNzUsNyArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOwogCiBzdGF0aWMgTG9jayBhbGxXb3JrZXJHbG9iYWxTY29wZUlkZW50aWZpZXJz
TG9jazsKLXN0YXRpYyBIYXNoU2V0PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiYg
YWxsV29ya2VyR2xvYmFsU2NvcGVJZGVudGlmaWVycygpIFdURl9SRVFVSVJFU19MT0NLKGFsbFdv
cmtlckdsb2JhbFNjb3BlSWRlbnRpZmllcnNMb2NrKQorc3RhdGljIEhhc2hTZXQ8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXI+JiBhbGxXb3JrZXJHbG9iYWxTY29wZUlkZW50aWZpZXJz
KCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkoYWxsV29ya2VyR2xvYmFsU2NvcGVJZGVudGlmaWVy
c0xvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXI+PiBpZGVudGlmaWVyczsKICAgICBBU1NFUlQoYWxsV29ya2Vy
R2xvYmFsU2NvcGVJZGVudGlmaWVyc0xvY2suaXNMb2NrZWQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCmlu
ZGV4IDAyNGJiNzlmMzlhNGY3YjAxZmM4NDhlYzhjZDM5OThkYzg5OTA3NzcuLmQzZDE4NmI3OWM5
NjUwNzAyYjg5YjQ0M2U1NTBkOWI3MjkyNmRjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oCkBAIC0xMjIs
NyArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0RPTUdsb2JhbE9iamVjdD4g
bV9nbG9iYWxTY29wZVdyYXBwZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdvcmtlckNvbnNvbGVD
bGllbnQ+IG1fY29uc29sZUNsaWVudDsKICAgICBtdXRhYmxlIExvY2sgbV9zY2hlZHVsZWRUZXJt
aW5hdGlvbkxvY2s7Ci0gICAgYm9vbCBtX2lzVGVybWluYXRpbmdFeGVjdXRpb24gV1RGX0dVQVJE
RURfQllfTE9DSyhtX3NjaGVkdWxlZFRlcm1pbmF0aW9uTG9jaykgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9pc1Rlcm1pbmF0aW5nRXhlY3V0aW9uIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9z
Y2hlZHVsZWRUZXJtaW5hdGlvbkxvY2spIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFRocmVh
ZC5oCmluZGV4IGUzNWZjZGNkZGI5ZGNjY2FmMjk5MDhlOTMwOGVkZDczNmE5NjkwODMuLjdlMGU2
YTNlNmM4YTFiMjUyNjU0NTE4MWM1OTg5YzdmNmUzZWNmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRUaHJlYWQuaApAQCAtNjUsOCArNjUsOCBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGluc3BlY3RvcklkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2luc3BlY3RvcklkZW50aWZpZXI7IH0KIAotICAgIHN0YXRpYyBIYXNoU2V0PFdvcmtl
ck9yV29ya2xldFRocmVhZCo+JiB3b3JrZXJPcldvcmtsZXRUaHJlYWRzKCkgV1RGX1JFUVVJUkVT
X0xPQ0sod29ya2VyT3JXb3JrbGV0VGhyZWFkc0xvY2soKSk7Ci0gICAgc3RhdGljIExvY2smIHdv
cmtlck9yV29ya2xldFRocmVhZHNMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhzX3dvcmtlck9yV29y
a2xldFRocmVhZHNMb2NrKTsKKyAgICBzdGF0aWMgSGFzaFNldDxXb3JrZXJPcldvcmtsZXRUaHJl
YWQqPiYgd29ya2VyT3JXb3JrbGV0VGhyZWFkcygpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKHdv
cmtlck9yV29ya2xldFRocmVhZHNMb2NrKCkpOworICAgIHN0YXRpYyBMb2NrJiB3b3JrZXJPcldv
cmtsZXRUaHJlYWRzTG9jaygpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkoc193b3JrZXJPcldvcmts
ZXRUaHJlYWRzTG9jayk7CiAgICAgc3RhdGljIHZvaWQgcmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVt
b3J5SW5BbGxUaHJlYWRzKCk7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGRjMWMzNzhhN2IwOTYzMWM4
YjI3NWExMDAzNjAwNGQ5OWYxMWM1ZmUuLjI4NWJkNGZhMjU5YWVkMjFjODQ0MGIwMTkzMzkwOTAy
NzIzMTVlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaApAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+IGlucHV0QXJndW1lbnRzOwogICAgIH07CiAKLSAgICBIYXNoTWFwPFN0cmlu
Zywgc3RkOjp1bmlxdWVfcHRyPFBhaW50RGVmaW5pdGlvbj4+JiBwYWludERlZmluaXRpb25NYXAo
KSBXVEZfUkVRVUlSRVNfTE9DSyhtX3BhaW50RGVmaW5pdGlvbkxvY2spOwotICAgIExvY2smIHBh
aW50RGVmaW5pdGlvbkxvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1fcGFpbnREZWZpbml0aW9uTG9j
aykgeyByZXR1cm4gbV9wYWludERlZmluaXRpb25Mb2NrOyB9CisgICAgSGFzaE1hcDxTdHJpbmcs
IHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRpb24+PiYgcGFpbnREZWZpbml0aW9uTWFwKCkg
V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9wYWludERlZmluaXRpb25Mb2NrKTsKKyAgICBMb2Nr
JiBwYWludERlZmluaXRpb25Mb2NrKCkgV1RGX1JFVFVSTlNfQ0FQQUJJTElUWShtX3BhaW50RGVm
aW5pdGlvbkxvY2spIHsgcmV0dXJuIG1fcGFpbnREZWZpbml0aW9uTG9jazsgfQogCiAgICAgdm9p
ZCBwcmVwYXJlRm9yRGVzdHJ1Y3Rpb24oKSBmaW5hbAogICAgIHsKQEAgLTkyLDcgKzkyLDcgQEAg
cHJpdmF0ZToKIAogICAgIGJvb2wgaXNQYWludFdvcmtsZXRHbG9iYWxTY29wZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9w
dHI8UGFpbnREZWZpbml0aW9uPj4gbV9wYWludERlZmluaXRpb25NYXAgV1RGX0dVQVJERURfQllf
TE9DSyhtX3BhaW50RGVmaW5pdGlvbkxvY2spOworICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVu
aXF1ZV9wdHI8UGFpbnREZWZpbml0aW9uPj4gbV9wYWludERlZmluaXRpb25NYXAgV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX3BhaW50RGVmaW5pdGlvbkxvY2spOwogICAgIExvY2sgbV9wYWlu
dERlZmluaXRpb25Mb2NrOwogICAgIGJvb2wgbV9oYXNQcmVwYXJlZEZvckRlc3RydWN0aW9uIHsg
ZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IDIzZTlhN2NiNDJmYzQ5OTBj
YTJlODZhMDA3NDkyZmQ4YmE0ZDkzYTMuLmE1MDUyMjVjYzU4OWZkOWEwNmE1NmMzZDlhMWYxZjY0
MGQ5MDYzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5oCkBAIC0xNDAsNyArMTQwLDcgQEAgcHJv
dGVjdGVkOgogICAgIHVzaW5nIEdDR0xDb250ZXh0ID0gV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xUZXh0dXJlTWFwcGVyOwogI2VuZGlmCiAgICAgCi0gICAgUmVmUHRyPEdDR0xDb250ZXh0PiBt
X2NvbnRleHQgV1RGX0dVQVJERURfQllfTE9DSyhtX3N0cmVhbVRocmVhZCk7CisgICAgUmVmUHRy
PEdDR0xDb250ZXh0PiBtX2NvbnRleHQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3N0cmVh
bVRocmVhZCk7CiAgICAgR3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVyIG1fZ3JhcGhpY3NDb250
ZXh0R0xJZGVudGlmaWVyOwogICAgIFJlZjxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kPiBtX3JlbmRl
cmluZ0JhY2tlbmQ7CiAjaWYgRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKaW5kZXgg
YzA5YzEwNTZmYjgzMTdkNDYzMDkxZDc3YjQyNmE0OWNkNmJiN2U1Yi4uYTg4MmE0NWNmOWM4ZjQ5
NzBiODk0ODg2M2Q5NzM4NTNiMDVhMTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCkBAIC0xNDMs
OCArMTQzLDggQEAgcHJpdmF0ZToKICAgICBTY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0
IG1fcmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdDsKIAogICAgIExvY2sgbV9yZW1vdGVEaXNwbGF5
TGlzdHNMb2NrOwotICAgIGJvb2wgbV9jYW5SZWdpc3RlclJlbW90ZURpc3BsYXlMaXN0cyBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jaykgeyBmYWxzZSB9OwotICAg
IEhhc2hNYXA8UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBSZWY8UmVtb3Rl
RGlzcGxheUxpc3RSZWNvcmRlcj4+IG1fcmVtb3RlRGlzcGxheUxpc3RzIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9yZW1vdGVEaXNwbGF5TGlzdHNMb2NrKTsKKyAgICBib29sIG1fY2FuUmVnaXN0ZXJS
ZW1vdGVEaXNwbGF5TGlzdHMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3JlbW90ZURpc3Bs
YXlMaXN0c0xvY2spIHsgZmFsc2UgfTsKKyAgICBIYXNoTWFwPFF1YWxpZmllZFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciwgUmVmPFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI+PiBtX3JlbW90
ZURpc3BsYXlMaXN0cyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fcmVtb3RlRGlzcGxheUxp
c3RzTG9jayk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVS5oCmluZGV4IDUzYTg2
NzVjZDE5YWUzNzAzZTk4YTI1YTNjMzcyMWI0N2EyZDUyNDUuLmMwMjEyZjAxNTBjNDQ1NTIzNTJj
ZTBhM2M0Y2Y2ZmJkZDAyYTRiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaApAQCAtMTM4LDggKzEzOCw4IEBAIHByaXZh
dGU6CiAgICAgV2Vha1B0cjxHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2dwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M7CiAgICAgUmVmPElQQzo6U3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZT4g
bV93b3JrUXVldWU7CiAgICAgUmVmUHRyPElQQzo6U3RyZWFtU2VydmVyQ29ubmVjdGlvbj4gbV9z
dHJlYW1Db25uZWN0aW9uOwotICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBtX2JhY2tpbmcg
V1RGX0dVQVJERURfQllfTE9DSyhtX3N0cmVhbVRocmVhZCk7Ci0gICAgUmVmPFdlYkdQVTo6T2Jq
ZWN0SGVhcD4gbV9vYmplY3RIZWFwIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zdHJlYW1UaHJlYWQp
OworICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBtX2JhY2tpbmcgV1RGX0dVQVJERURfQllf
Q0FQQUJJTElUWShtX3N0cmVhbVRocmVhZCk7CisgICAgUmVmPFdlYkdQVTo6T2JqZWN0SGVhcD4g
bV9vYmplY3RIZWFwIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9zdHJlYW1UaHJlYWQpOwog
ICAgIGNvbnN0IFdlYkdQVUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFJlZjxSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kPiBtX3JlbmRlcmluZ0JhY2tlbmQ7CiAgICAgTk9fVU5JUVVFX0FERFJF
U1MgVGhyZWFkQXNzZXJ0aW9uIG1fc3RyZWFtVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmggYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaApp
bmRleCAwZDE0Y2ExNjViMGRhMDhkMTU0ZTJmMGJlZmZkZWZiNDkxOTg1ZTZiLi4xNjJhOTQyODI5
YTU5ZGU0YmMyNzI4MzIyMTJkMzQ2OGRlNTU0ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaApA
QCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0VmlkZW9GcmFtZUJ1ZmZlcihS
ZW1vdGVWaWRlb0ZyYW1lUmVhZFJlZmVyZW5jZSYmKTsKICNlbmRpZgogCi0gICAgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyogbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9jb25zdW1lVGhyZWFkKTsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
KiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X2NvbnN1bWVUaHJlYWQpOwogICAgIGNvbnN0IFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVj
dGlvbjsKICAgICBUaHJlYWRBc3NlcnRpb24gbV9jb25zdW1lVGhyZWFkIE5PX1VOSVFVRV9BRERS
RVNTOwogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCmluZGV4IGI3NTg1MGI5MzI5Yjk3
MThjZjU1NWRkNjliZTJlNzE4NDAwNGUzMmYuLjE3NzhmNWI4ZjA4MmZiM2I0MDU3ZDJmYmE1NjVh
MGVhNzc5NWVjZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMv
TGliV2ViUlRDQ29kZWNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBwcml2YXRlOgog
ICAgIEVuY29kZXIqIGZpbmRFbmNvZGVyV2l0aG91dExvY2soUlRDRW5jb2RlcklkZW50aWZpZXIp
OwogCiAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKLSAgICBIYXNoTWFwPFJUQ0RlY29kZXJJZGVu
dGlmaWVyLCB3ZWJydGM6OkxvY2FsRGVjb2Rlcj4gbV9kZWNvZGVycyBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fbG9jayk7IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIGxpYldlYlJUQ0NvZGVjc1F1ZXVl
IGJ1dCBtYXkgZ2V0IGFjY2Vzc2VkIGZyb20gdGhlIG1haW4gdGhyZWFkLgotICAgIEhhc2hNYXA8
UlRDRW5jb2RlcklkZW50aWZpZXIsIEVuY29kZXI+IG1fZW5jb2RlcnMgV1RGX0dVQVJERURfQllf
TE9DSyhtX2xvY2spOyAvLyBPbmx5IG1vZGlmaWVkIG9uIHRoZSBsaWJXZWJSVENDb2RlY3NRdWV1
ZSBidXQgbWF5IGdldCBhY2Nlc3NlZCBmcm9tIHRoZSBtYWluIHRocmVhZC4KKyAgICBIYXNoTWFw
PFJUQ0RlY29kZXJJZGVudGlmaWVyLCB3ZWJydGM6OkxvY2FsRGVjb2Rlcj4gbV9kZWNvZGVycyBX
VEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jayk7IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhl
IGxpYldlYlJUQ0NvZGVjc1F1ZXVlIGJ1dCBtYXkgZ2V0IGFjY2Vzc2VkIGZyb20gdGhlIG1haW4g
dGhyZWFkLgorICAgIEhhc2hNYXA8UlRDRW5jb2RlcklkZW50aWZpZXIsIEVuY29kZXI+IG1fZW5j
b2RlcnMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOyAvLyBPbmx5IG1vZGlmaWVk
IG9uIHRoZSBsaWJXZWJSVENDb2RlY3NRdWV1ZSBidXQgbWF5IGdldCBhY2Nlc3NlZCBmcm9tIHRo
ZSBtYWluIHRocmVhZC4KICAgICBSZWY8V29ya1F1ZXVlPiBtX3F1ZXVlOwogICAgIFJlZjxSZW1v
dGVWaWRlb0ZyYW1lT2JqZWN0SGVhcD4gbV92aWRlb0ZyYW1lT2JqZWN0SGVhcDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCA4MDJjOTBmZTllYjY2NGJhOTMyMWQ3YThi
ZGU1ZDk4NGY0MDNmMWRiLi5hMTNkOGM2NGIwNDFiZDMyMTVlYWY1NTBmZjkxMTUxNGMxNDMxYjRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTkwLDcgKzkwLDcgQEAgcHJp
dmF0ZToKICAgICAvLyBXZWJDb3JlOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OkNsaWVudAog
ICAgIHZvaWQgc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyU3RhdHVzRGlkRmFpbCgpIGZpbmFsOwog
Ci0gICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9jb25zdW1lVGhyZWFkKTsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX2dwdUNvbm5lY3Rpb24gV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2NvbnN1bWVU
aHJlYWQpOwogICAgIFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcklkZW50aWZpZXIgbV9pZGVudGlm
aWVyOwogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVD4gbV9pbWFnZVRyYW5zZmVy
U2Vzc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ3VzdG9t
UHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
LmgKaW5kZXggODk1NmU0ZDEwNTI5NGFhOTNkOTY0NmRkN2RkNDYyM2JmOTkxZjRmMy4uYzJkMjk0
MmQ0MDlkMTQyNzVhY2QyZjc3MThjNTRkYzk2MzY2OWZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2Nv
bHMvTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmgKQEAgLTk2LDExICs5NiwxMSBAQCBwcml2
YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzJiBtX25ldHdvcmtQcm9jZXNzOwogCiAgICAgdHlwZWRl
ZiBIYXNoTWFwPExlZ2FjeUN1c3RvbVByb3RvY29sSUQsIEN1c3RvbVByb3RvY29sPiBDdXN0b21Q
cm90b2NvbE1hcDsKLSAgICBDdXN0b21Qcm90b2NvbE1hcCBtX2N1c3RvbVByb3RvY29sTWFwIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9jdXN0b21Qcm90b2NvbE1hcExvY2spOworICAgIEN1c3RvbVBy
b3RvY29sTWFwIG1fY3VzdG9tUHJvdG9jb2xNYXAgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSht
X2N1c3RvbVByb3RvY29sTWFwTG9jayk7CiAgICAgTG9jayBtX2N1c3RvbVByb3RvY29sTWFwTG9j
azsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJ
bnNlbnNpdGl2ZUhhc2g+IG1fcmVnaXN0ZXJlZFNjaGVtZXMgV1RGX0dVQVJERURfQllfTE9DSyht
X3JlZ2lzdGVyZWRTY2hlbWVzTG9jayk7CisgICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUlu
c2Vuc2l0aXZlSGFzaD4gbV9yZWdpc3RlcmVkU2NoZW1lcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKG1fcmVnaXN0ZXJlZFNjaGVtZXNMb2NrKTsKICAgICBMb2NrIG1fcmVnaXN0ZXJlZFNjaGVt
ZXNMb2NrOwogCiAgICAgLy8gV0tDdXN0b21Qcm90b2NvbCBvYmplY3RzIGNhbiBiZSByZW1vdmVk
IGZyb20gdGhlIG1fY3VzdG9tUHJvdG9jb2xNYXAgZnJvbSBtdWx0aXBsZSB0aHJlYWRzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2Vy
dmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2
ZXIuaAppbmRleCAwZmJmZGUyMmJiMDgyNzk0ZTQ4NDBjN2FhMGQ3M2Q1YTg0ZDhhZDNkLi42OGI3
YjI4YWFiMzNjYzAzNDIxNzE3ZjU2ZmJiN2ZmZDNjMjkxNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuaApAQCAtMTAy
LDcgKzEwMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKIAogICAg
IExvY2sgbV9zZXJ2ZXJMb2NrOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJREJTZXJ2
ZXI6OklEQlNlcnZlcj4gbV9zZXJ2ZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX3NlcnZlckxvY2sp
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcj4gbV9z
ZXJ2ZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3NlcnZlckxvY2spOwogICAgIGJvb2wg
bV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAKICAgICBIYXNoTWFwPElQQzo6Q29ubmVjdGlvbjo6
VW5pcXVlSUQsIEhhc2hTZXQ8U3RyaW5nPj4gbV90ZW1wb3JhcnlCbG9iUGF0aHNQZXJDb25uZWN0
aW9uOyAvLyBPbmx5IHVzZWQgb24gdGhlIHdvcmsgcXVldWUuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggMGY4NTMzZWQxM2RkMjYyNzdhNmRk
NTJhYjZkYWJlMjBjM2UwODgwNS4uZTJhN2U5YWMxZGIyMTNhNmI3NTU2NjBlZGJkNjEyMDM3NGM1
NjcxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aApAQCAtNTU0LDcgKzU1NCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIExvY2sgbV9zZXNz
aW9uU3RvcmFnZVF1b3RhTWFuYWdlcnNMb2NrOwotICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQs
IHN0ZDo6dW5pcXVlX3B0cjxTZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcj4+IG1fc2Vzc2lvblN0
b3JhZ2VRdW90YU1hbmFnZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zZXNzaW9uU3RvcmFnZVF1
b3RhTWFuYWdlcnNMb2NrKTsKKyAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBzdGQ6OnVuaXF1
ZV9wdHI8U2Vzc2lvblN0b3JhZ2VRdW90YU1hbmFnZXI+PiBtX3Nlc3Npb25TdG9yYWdlUXVvdGFN
YW5hZ2VycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc2Vzc2lvblN0b3JhZ2VRdW90YU1h
bmFnZXJzTG9jayk7CiAgICAgYm9vbCBtX3F1b3RhTG9nZ2luZ0VuYWJsZWQgeyBmYWxzZSB9Owog
CiAgICAgT3B0aW9uU2V0PE5ldHdvcmtDYWNoZTo6Q2FjaGVPcHRpb24+IG1fY2FjaGVPcHRpb25z
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggZmZiYmVkY2I1OGRkMDI4N2NiOGRjMGEyOGEzMGEy
YmUxMzMyMTFjYy4uNzAyNjAwNTFiODBkNTM2MTM0ZTYyNWJiYTg5MDI0ODdkMWNmMTk5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAgcHVibGljOgogCiAgICAgTG9j
ayBhY3RpdmVMb2NrOwogICAgIENvbmRpdGlvbiBhY3RpdmVDb25kaXRpb247Ci0gICAgdW5zaWdu
ZWQgYWN0aXZlQ291bnQgV1RGX0dVQVJERURfQllfTE9DSyhhY3RpdmVMb2NrKSB7IDAgfTsKKyAg
ICB1bnNpZ25lZCBhY3RpdmVDb3VudCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKGFjdGl2ZUxv
Y2spIHsgMCB9OwogfTsKIAogc3RhdGljIFN0cmluZyBtYWtlQ2FjaGVQYXRoKGNvbnN0IFN0cmlu
ZyYgYmFzZUNhY2hlUGF0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTGF1bmNoU2VydmljZXNEYXRhYmFzZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL0xhdW5jaFNlcnZpY2VzRGF0YWJhc2VPYnNlcnZlci5oCmlu
ZGV4IDA3MDRlZDQ0MGI4ZjA5NzU1ODM4N2ExYWIyNGFlODEzZjAzMjdjZDAuLmE2NDNiMDRjNjBj
MWI1NmE3N2M4ZDE1ZmViNTVjMzM4ZjliYjgzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTGF1bmNoU2VydmljZXNEYXRhYmFzZU9ic2VydmVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9MYXVuY2hTZXJ2aWNlc0RhdGFi
YXNlT2JzZXJ2ZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRy
PGlkPiBtX29ic2VydmVyOwogICAgIExvY2sgbV9jb25uZWN0aW9uc0xvY2s7Ci0gICAgVmVjdG9y
PE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+PiBtX2Nvbm5lY3Rpb25zIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9jb25uZWN0aW9uc0xvY2spOworICAgIFZlY3RvcjxPU09iamVjdFB0cjx4cGNf
Y29ubmVjdGlvbl90Pj4gbV9jb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
Y29ubmVjdGlvbnNMb2NrKTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvZ2xpYi9ETlNDYWNoZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9nbGliL0ROU0NhY2hlLmgKaW5kZXggYzIwNTE1N2MyMjk4NTA3M2E5ZmQ0YWRiMGU3MjQ3ZjRk
MGNlOTZhYS4uZDU4ZTUyZjlkZDA2ODgzNDhiYTQyNmI0ZjBiYTE1NmNkNDM2Zjc3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9nbGliL0ROU0NhY2hlLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9nbGliL0ROU0NhY2hlLmgKQEAgLTU1LDEzICs1
NSwxMyBAQCBwcml2YXRlOgogCiAgICAgdXNpbmcgRE5TQ2FjaGVNYXAgPSBIYXNoTWFwPENTdHJp
bmcsIENhY2hlZFJlc3BvbnNlPjsKIAotICAgIEROU0NhY2hlTWFwJiBtYXBGb3JUeXBlKFR5cGUp
IFdURl9SRVFVSVJFU19MT0NLKG1fbG9jayk7CisgICAgRE5TQ2FjaGVNYXAmIG1hcEZvclR5cGUo
VHlwZSkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKICAgICB2b2lkIHJlbW92ZUV4
cGlyZWRSZXNwb25zZXNGaXJlZCgpOwogICAgIHZvaWQgcmVtb3ZlRXhwaXJlZFJlc3BvbnNlc0lu
TWFwKEROU0NhY2hlTWFwJik7CiAgICAgdm9pZCBwcnVuZVJlc3BvbnNlc0luTWFwKEROU0NhY2hl
TWFwJik7CiAKICAgICBMb2NrIG1fbG9jazsKLSAgICBETlNDYWNoZU1hcCBtX2Ruc01hcCBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAgRE5TQ2FjaGVNYXAgbV9kbnNNYXAgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOwogI2lmIEdMSUJfQ0hFQ0tfVkVSU0lPTigyLCA1
OSwgMCkKICAgICBETlNDYWNoZU1hcCBtX2lwdjRNYXA7CiAgICAgRE5TQ2FjaGVNYXAgbV9pcHY2
TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1VEUFNvY2tldENvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLm1tCmluZGV4IGE5NWI3ZjdjNzFmYzM4NDdi
Mjc4MWY4NTNlZmYyNTdlNWQyNzU1YWUuLmNmMDc4OTk0YzY2MjI4YjNhMTlhMmNlZWRhMmNmZGQ3
YjQ1M2JmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EubW0KQEAgLTg4LDggKzg4LDgg
QEAgcHJpdmF0ZToKICAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9hZGRyZXNzOwogICAgIFJldGFp
blB0cjxud19saXN0ZW5lcl90PiBtX253TGlzdGVuZXI7CiAgICAgTG9jayBtX253Q29ubmVjdGlv
bnNMb2NrOwotICAgIGJvb2wgbV9pc0Nsb3NlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbndDb25u
ZWN0aW9uc0xvY2spIHsgZmFsc2UgfTsKLSAgICBIYXNoTWFwPHJ0Yzo6U29ja2V0QWRkcmVzcywg
c3RkOjpwYWlyPFJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+LCBSZWZQdHI8Q29ubmVjdGlvblN0
YXRlVHJhY2tlcj4+PiBtX253Q29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX253Q29u
bmVjdGlvbnNMb2NrKTsKKyAgICBib29sIG1faXNDbG9zZWQgV1RGX0dVQVJERURfQllfQ0FQQUJJ
TElUWShtX253Q29ubmVjdGlvbnNMb2NrKSB7IGZhbHNlIH07CisgICAgSGFzaE1hcDxydGM6OlNv
Y2tldEFkZHJlc3MsIHN0ZDo6cGFpcjxSZXRhaW5QdHI8bndfY29ubmVjdGlvbl90PiwgUmVmUHRy
PENvbm5lY3Rpb25TdGF0ZVRyYWNrZXI+Pj4gbV9ud0Nvbm5lY3Rpb25zIFdURl9HVUFSREVEX0JZ
X0NBUEFCSUxJVFkobV9ud0Nvbm5lY3Rpb25zTG9jayk7CiB9OwogCiBzdGF0aWMgZGlzcGF0Y2hf
cXVldWVfdCB1ZHBTb2NrZXRRdWV1ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uY3BwCmluZGV4IDQ0ZDVlYzVkMjFiMTU2N2M4MmFiNDY2ZWI3NzMyZDk5OTVkMWEyNGIu
LmFhZTA5YTMzYmMyNmMzMjAyYjI2ZmE4MWY4ODBiYjc3MjA3YWQ0NzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIG1lc3NhZ2Ugd2lsbCBiZSBoYW5kbGVkIG9u
IGEgY2xpZW50IHRocmVhZCB0aGF0IGlzIGN1cnJlbnRseQogICAgIC8vIHdhaXRpbmcgZm9yIGEg
cmVwbHkgdG8gYSBzeW5jaHJvbm91cyBtZXNzYWdlLgotICAgIGJvb2wgcHJvY2Vzc0luY29taW5n
TWVzc2FnZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4m
KSBXVEZfUkVRVUlSRVNfTE9DSyhjb25uZWN0aW9uLm1faW5jb21pbmdNZXNzYWdlc0xvY2spOwor
ICAgIGJvb2wgcHJvY2Vzc0luY29taW5nTWVzc2FnZShDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBz
dGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4mKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShjb25uZWN0
aW9uLm1faW5jb21pbmdNZXNzYWdlc0xvY2spOyAvLyBOT0xJTlQKIAogICAgIC8vIERpc3BhdGNo
IHBlbmRpbmcgc3luYyBtZXNzYWdlcy4KICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZXMoRnVuY3Rp
b248dm9pZChNZXNzYWdlTmFtZSwgdWludDY0X3QpPiYmIHdpbGxEaXNwYXRjaE1lc3NhZ2UgPSB7
IH0pOwpAQCAtMTE0LDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX2xvY2s7CiAKICAg
ICAvLyBUaGUgc2V0IG9mIGNvbm5lY3Rpb25zIGZvciB3aGljaCB3ZSd2ZSBzY2hlZHVsZWQgYSBj
YWxsIHRvIGRpc3BhdGNoTWVzc2FnZUFuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2Vz
Rm9yQ29ubmVjdGlvbi4KLSAgICBIYXNoU2V0PFJlZlB0cjxDb25uZWN0aW9uPj4gbV9kaWRTY2hl
ZHVsZURpc3BhdGNoTWVzc2FnZXNXb3JrU2V0IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsK
KyAgICBIYXNoU2V0PFJlZlB0cjxDb25uZWN0aW9uPj4gbV9kaWRTY2hlZHVsZURpc3BhdGNoTWVz
c2FnZXNXb3JrU2V0IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIAogICAgIHN0
cnVjdCBDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlIHsKICAgICAgICAgUmVmPENvbm5lY3Rp
b24+IGNvbm5lY3Rpb247CkBAIC0xMjYsNyArMTI2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQog
ICAgIH07CiAgICAgRGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9tZXNzYWdl
c0JlaW5nRGlzcGF0Y2hlZDsgLy8gT25seSB1c2VkIG9uIHRoZSBtYWluIHRocmVhZC4KLSAgICBE
ZXF1ZTxDb25uZWN0aW9uQW5kSW5jb21pbmdNZXNzYWdlPiBtX21lc3NhZ2VzVG9EaXNwYXRjaFdo
aWxlV2FpdGluZ0ZvclN5bmNSZXBseSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CisgICAg
RGVxdWU8Q29ubmVjdGlvbkFuZEluY29taW5nTWVzc2FnZT4gbV9tZXNzYWdlc1RvRGlzcGF0Y2hX
aGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2sp
OwogfTsKIAogQ29ubmVjdGlvbjo6U3luY01lc3NhZ2VTdGF0ZSYgQ29ubmVjdGlvbjo6U3luY01l
c3NhZ2VTdGF0ZTo6c2luZ2xldG9uKCkKQEAgLTI3Nyw3ICsyNzcsNyBAQCBIYXNoTWFwPElQQzo6
Q29ubmVjdGlvbjo6VW5pcXVlSUQsIENvbm5lY3Rpb24qPiYgQ29ubmVjdGlvbjo6Y29ubmVjdGlv
bk1hcCgpCiB9CiAKIHN0YXRpYyBMb2NrIGFzeW5jUmVwbHlIYW5kbGVyTWFwTG9jazsKLXN0YXRp
YyBIYXNoTWFwPHVpbnRwdHJfdCwgSGFzaE1hcDx1aW50NjRfdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChEZWNvZGVyKik+Pj4mIGFzeW5jUmVwbHlIYW5kbGVyTWFwKCkgV1RGX1JFUVVJUkVTX0xP
Q0soYXN5bmNSZXBseUhhbmRsZXJNYXBMb2NrKQorc3RhdGljIEhhc2hNYXA8dWludHB0cl90LCBI
YXNoTWFwPHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4+PiYgYXN5
bmNSZXBseUhhbmRsZXJNYXAoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShhc3luY1JlcGx5SGFu
ZGxlck1hcExvY2spCiB7CiAgICAgQVNTRVJUKGFzeW5jUmVwbHlIYW5kbGVyTWFwTG9jay5pc0hl
bGQoKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8dWludHB0cl90LCBIYXNo
TWFwPHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4+Pj4gbWFwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDYwYTRkOTg0MmM4MDMw
MTNhZTI0NDdjZmUyOTYzNDc5ZTkxMjE1M2EuLjg3MGQwYzliMTFmNWE4OThhYTc1ODI4ZjI3ODQz
MDVhMzFiNzQ2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTMzNSw3ICszMzUsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc0luY29taW5nTWVzc2FnZXNU
aHJvdHRsaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9pbmNvbWluZ01lc3NhZ2VzVGhy
b3R0bGVyOyB9CiAKLSAgICBzdGF0aWMgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlE
LCBDb25uZWN0aW9uKj4mIGNvbm5lY3Rpb25NYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhzX2Nvbm5l
Y3Rpb25NYXBMb2NrKTsKKyAgICBzdGF0aWMgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1
ZUlELCBDb25uZWN0aW9uKj4mIGNvbm5lY3Rpb25NYXAoKSBXVEZfUkVRVUlSRVNfQ0FQQUJJTElU
WShzX2Nvbm5lY3Rpb25NYXBMb2NrKTsKICAgICAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rl
cj4gd2FpdEZvck1lc3NhZ2UoTWVzc2FnZU5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIFRp
bWVvdXQsIE9wdGlvblNldDxXYWl0Rm9yT3B0aW9uPik7CiAKQEAgLTM0NCw3ICszNDQsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgcG9wUGVuZGluZ1N5bmNSZXF1ZXN0SUQoU3luY1JlcXVlc3RJRCk7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IHdhaXRGb3JTeW5jUmVwbHkoU3luY1JlcXVl
c3RJRCwgTWVzc2FnZU5hbWUsIFRpbWVvdXQsIE9wdGlvblNldDxTZW5kU3luY09wdGlvbj4pOwog
Ci0gICAgdm9pZCBlbnF1ZXVlTWF0Y2hpbmdNZXNzYWdlc1RvTWVzc2FnZVJlY2VpdmVRdWV1ZShN
ZXNzYWdlUmVjZWl2ZVF1ZXVlJiwgUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklE
KSBXVEZfUkVRVUlSRVNfTE9DSyhtX2luY29taW5nTWVzc2FnZXNMb2NrKTsKKyAgICB2b2lkIGVu
cXVldWVNYXRjaGluZ01lc3NhZ2VzVG9NZXNzYWdlUmVjZWl2ZVF1ZXVlKE1lc3NhZ2VSZWNlaXZl
UXVldWUmLCBSZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpIFdURl9SRVFVSVJF
U19DQVBBQklMSVRZKG1faW5jb21pbmdNZXNzYWdlc0xvY2spOwogCiAgICAgLy8gQ2FsbGVkIG9u
IHRoZSBjb25uZWN0aW9uIHdvcmsgcXVldWUuCiAgICAgdm9pZCBwcm9jZXNzSW5jb21pbmdNZXNz
YWdlKHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPik7CkBAIC0zNjUsNyArMzY1LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZEZhaWxUb1NlbmRTeW5jTWVzc2FnZSgpOwogCiAgICAgLy8gQ2FuIGJl
IGNhbGxlZCBvbiBhbnkgdGhyZWFkLgotICAgIHZvaWQgZW5xdWV1ZUluY29taW5nTWVzc2FnZShz
dGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4pIFdURl9SRVFVSVJFU19MT0NLKG1faW5jb21pbmdNZXNz
YWdlc0xvY2spOworICAgIHZvaWQgZW5xdWV1ZUluY29taW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9w
dHI8RGVjb2Rlcj4pIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1faW5jb21pbmdNZXNzYWdlc0xv
Y2spOwogICAgIHNpemVfdCBpbmNvbWluZ01lc3NhZ2VzRGlzcGF0Y2hpbmdCYXRjaFNpemUoKSBj
b25zdDsKIAogICAgIHZvaWQgd2lsbFNlbmRTeW5jTWVzc2FnZShPcHRpb25TZXQ8U2VuZFN5bmNP
cHRpb24+KTsKQEAgLTQxNywzMiArNDE3LDMyIEBAIHByaXZhdGU6CiAKICAgICAvLyBJbmNvbWlu
ZyBtZXNzYWdlcy4KICAgICBMb2NrIG1faW5jb21pbmdNZXNzYWdlc0xvY2s7Ci0gICAgRGVxdWU8
c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+PiBtX2luY29taW5nTWVzc2FnZXMgV1RGX0dVQVJERURf
QllfTE9DSyhtX2luY29taW5nTWVzc2FnZXNMb2NrKTsKKyAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9w
dHI8RGVjb2Rlcj4+IG1faW5jb21pbmdNZXNzYWdlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZ
KG1faW5jb21pbmdNZXNzYWdlc0xvY2spOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlc1Ro
cm90dGxlcj4gbV9pbmNvbWluZ01lc3NhZ2VzVGhyb3R0bGVyOwotICAgIE1lc3NhZ2VSZWNlaXZl
UXVldWVNYXAgbV9yZWNlaXZlUXVldWVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9pbmNvbWluZ01l
c3NhZ2VzTG9jayk7CisgICAgTWVzc2FnZVJlY2VpdmVRdWV1ZU1hcCBtX3JlY2VpdmVRdWV1ZXMg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2luY29taW5nTWVzc2FnZXNMb2NrKTsKIAogICAg
IC8vIE91dGdvaW5nIG1lc3NhZ2VzLgogICAgIExvY2sgbV9vdXRnb2luZ01lc3NhZ2VzTG9jazsK
LSAgICBEZXF1ZTxVbmlxdWVSZWY8RW5jb2Rlcj4+IG1fb3V0Z29pbmdNZXNzYWdlcyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fb3V0Z29pbmdNZXNzYWdlc0xvY2spOworICAgIERlcXVlPFVuaXF1ZVJl
ZjxFbmNvZGVyPj4gbV9vdXRnb2luZ01lc3NhZ2VzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
bV9vdXRnb2luZ01lc3NhZ2VzTG9jayk7CiAKICAgICBDb25kaXRpb24gbV93YWl0Rm9yTWVzc2Fn
ZUNvbmRpdGlvbjsKICAgICBMb2NrIG1fd2FpdEZvck1lc3NhZ2VMb2NrOwogCiAgICAgc3RydWN0
IFdhaXRGb3JNZXNzYWdlU3RhdGU7Ci0gICAgV2FpdEZvck1lc3NhZ2VTdGF0ZSogbV93YWl0aW5n
Rm9yTWVzc2FnZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fd2FpdEZvck1lc3NhZ2VMb2NrKSB7IG51
bGxwdHIgfTsgLy8gTk9MSU5UCisgICAgV2FpdEZvck1lc3NhZ2VTdGF0ZSogbV93YWl0aW5nRm9y
TWVzc2FnZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fd2FpdEZvck1lc3NhZ2VMb2NrKSB7
IG51bGxwdHIgfTsgLy8gTk9MSU5UCiAKICAgICBjbGFzcyBTeW5jTWVzc2FnZVN0YXRlOwogCiAg
ICAgTG9jayBtX3N5bmNSZXBseVN0YXRlTG9jazsKLSAgICBib29sIG1fc2hvdWxkV2FpdEZvclN5
bmNSZXBsaWVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zeW5jUmVwbHlTdGF0ZUxvY2spIHsgdHJ1
ZSB9OwotICAgIGJvb2wgbV9zaG91bGRXYWl0Rm9yTWVzc2FnZXMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3dhaXRGb3JNZXNzYWdlTG9jaykgeyB0cnVlIH07CisgICAgYm9vbCBtX3Nob3VsZFdhaXRG
b3JTeW5jUmVwbGllcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc3luY1JlcGx5U3RhdGVM
b2NrKSB7IHRydWUgfTsKKyAgICBib29sIG1fc2hvdWxkV2FpdEZvck1lc3NhZ2VzIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV93YWl0Rm9yTWVzc2FnZUxvY2spIHsgdHJ1ZSB9OwogICAgIHN0
cnVjdCBQZW5kaW5nU3luY1JlcGx5OwotICAgIFZlY3RvcjxQZW5kaW5nU3luY1JlcGx5PiBtX3Bl
bmRpbmdTeW5jUmVwbGllcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3luY1JlcGx5U3RhdGVMb2Nr
KTsKKyAgICBWZWN0b3I8UGVuZGluZ1N5bmNSZXBseT4gbV9wZW5kaW5nU3luY1JlcGxpZXMgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShtX3N5bmNSZXBseVN0YXRlTG9jayk7CiAKICAgICBMb2Nr
IG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrTG9jazsKLSAgICBIYXNoTWFwPHVpbnQ2NF90
LCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+IG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrcyBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrTG9jayk7Ci0g
ICAgUmVmUHRyPFdvcmtRdWV1ZT4gbV9pbmNvbWluZ1N5bmNNZXNzYWdlQ2FsbGJhY2tRdWV1ZSBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrTG9jayk7Ci0g
ICAgdWludDY0X3QgbV9uZXh0SW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrSUQgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0xvY2spIHsgMCB9OworICAg
IEhhc2hNYXA8dWludDY0X3QsIFdURjo6RnVuY3Rpb248dm9pZCgpPj4gbV9pbmNvbWluZ1N5bmNN
ZXNzYWdlQ2FsbGJhY2tzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9pbmNvbWluZ1N5bmNN
ZXNzYWdlQ2FsbGJhY2tMb2NrKTsKKyAgICBSZWZQdHI8V29ya1F1ZXVlPiBtX2luY29taW5nU3lu
Y01lc3NhZ2VDYWxsYmFja1F1ZXVlIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9pbmNvbWlu
Z1N5bmNNZXNzYWdlQ2FsbGJhY2tMb2NrKTsKKyAgICB1aW50NjRfdCBtX25leHRJbmNvbWluZ1N5
bmNNZXNzYWdlQ2FsbGJhY2tJRCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1faW5jb21pbmdT
eW5jTWVzc2FnZUNhbGxiYWNrTG9jaykgeyAwIH07CiAKICNpZiBFTkFCTEUoSVBDX1RFU1RJTkdf
QVBJKQogICAgIFZlY3RvcjxXZWFrUHRyPE1lc3NhZ2VPYnNlcnZlcj4+IG1fbWVzc2FnZU9ic2Vy
dmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5l
Y3Rpb25Xb3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5l
Y3Rpb25Xb3JrUXVldWUuaAppbmRleCBkODQ0NmE0MTA5NjY2ZDk2Y2QwNzc0NWY1YmUxZDk4NzVi
MTVmMWM5Li5iZTRiYzJjNDAwZjYyYzhkNDdjNmU2ZjIwZTRlZmFiNmU2Yzc3YjFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVl
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtR
dWV1ZS5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKIAogICAgIFNlbWFwaG9yZSYgd2FrZVVw
U2VtYXBob3JlKCk7CiBwcml2YXRlOgotICAgIHZvaWQgc3RhcnRQcm9jZXNzaW5nVGhyZWFkKCkg
V1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKKyAgICB2b2lkIHN0YXJ0UHJvY2Vzc2luZ1RocmVh
ZCgpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jayk7CiAgICAgdm9pZCBwcm9jZXNzU3Ry
ZWFtcygpOwogCiAgICAgY29uc3QgY2hhciogY29uc3QgbV9uYW1lOwpAQCAtNjQsOSArNjQsOSBA
QCBwcml2YXRlOgogICAgIHN0ZDo6YXRvbWljPGJvb2w+IG1fc2hvdWxkUXVpdCB7IGZhbHNlIH07
CiAKICAgICBMb2NrIG1fbG9jazsKLSAgICBSZWZQdHI8VGhyZWFkPiBtX3Byb2Nlc3NpbmdUaHJl
YWQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwotICAgIERlcXVlPEZ1bmN0aW9uPHZvaWQo
KT4+IG1fZnVuY3Rpb25zIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKLSAgICBIYXNoQ291
bnRlZFNldDxSZWY8U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U+PiBtX2Nvbm5lY3Rpb25zIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKKyAgICBSZWZQdHI8VGhyZWFkPiBtX3Byb2Nlc3Np
bmdUaHJlYWQgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2spOworICAgIERlcXVlPEZ1
bmN0aW9uPHZvaWQoKT4+IG1fZnVuY3Rpb25zIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9s
b2NrKTsKKyAgICBIYXNoQ291bnRlZFNldDxSZWY8U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U+
PiBtX2Nvbm5lY3Rpb25zIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sb2NrKTsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNv
bm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5l
Y3Rpb24uaAppbmRleCBlNmE0MjUxNGY0Y2U3MDg1ZTdjN2NkMTJiMTc2MTNlNjQ4NmQyNmQ3Li4w
ZDk1YTEzODFmZjdiMmEwNzY0ZjIwMWQ1NTljM2MyZWRkOWU4ODNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5oCkBAIC05OCw3
ICs5OCw3IEBAIHByb3RlY3RlZDoKICAgICBTdHJlYW1Db25uZWN0aW9uQnVmZmVyIG1fYnVmZmVy
OwogCiAgICAgTG9jayBtX291dE9mU3RyZWFtTWVzc2FnZXNMb2NrOwotICAgIERlcXVlPHN0ZDo6
dW5pcXVlX3B0cjxEZWNvZGVyPj4gbV9vdXRPZlN0cmVhbU1lc3NhZ2VzIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9vdXRPZlN0cmVhbU1lc3NhZ2VzTG9jayk7CisgICAgRGVxdWU8c3RkOjp1bmlxdWVf
cHRyPERlY29kZXI+PiBtX291dE9mU3RyZWFtTWVzc2FnZXMgV1RGX0dVQVJERURfQllfQ0FQQUJJ
TElUWShtX291dE9mU3RyZWFtTWVzc2FnZXNMb2NrKTsKIAogICAgIGJvb2wgbV9pc0Rpc3BhdGNo
aW5nU3RyZWFtTWVzc2FnZSB7IGZhbHNlIH07CiAKQEAgLTE2Myw3ICsxNjMsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgZGlzcGF0Y2hPdXRPZlN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmKTsKICAgICBM
b2NrIG1fcmVjZWl2ZXJzTG9jazsKICAgICB1c2luZyBSZWNlaXZlcnNNYXAgPSBIYXNoTWFwPHN0
ZDo6cGFpcjx1aW50OF90LCB1aW50NjRfdD4sIFJlZjxTdHJlYW1NZXNzYWdlUmVjZWl2ZXI+PjsK
LSAgICBSZWNlaXZlcnNNYXAgbV9yZWNlaXZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlY2Vp
dmVyc0xvY2spOworICAgIFJlY2VpdmVyc01hcCBtX3JlY2VpdmVycyBXVEZfR1VBUkRFRF9CWV9D
QVBBQklMSVRZKG1fcmVjZWl2ZXJzTG9jayk7CiAgICAgdWludDY0X3QgbV9jdXJyZW50RGVzdGlu
YXRpb25JRCB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Js
b2NraW5nUmVzcG9uc2VNYXAuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Jsb2NraW5nUmVzcG9u
c2VNYXAuaAppbmRleCA3NWRhMjcyNWMzMjVhZjgwYTNlNDEzYjkwNDBjMTcyOTQ5ZWNmZGU1Li41
ZWU0NjE0ZDNkNzEzNDA2OTU2ODdiMDNmMzAwYjcxZDQ5MjU4YjFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9CbG9ja2luZ1Jlc3BvbnNlTWFwLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQmxvY2tpbmdSZXNwb25zZU1hcC5oCkBAIC03OCw3ICs3OCw3IEBAIHByaXZhdGU6
CiAgICAgTG9jayBtX3Jlc3BvbnNlc0xvY2s7CiAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwog
Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPFQ+PiBtX3Jlc3BvbnNlcyBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVzcG9uc2VzTG9jayk7CisgICAgSGFzaE1hcDx1aW50NjRf
dCwgc3RkOjp1bmlxdWVfcHRyPFQ+PiBtX3Jlc3BvbnNlcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklM
SVRZKG1fcmVzcG9uc2VzTG9jayk7CiAgICAgYm9vbCBtX2NhbmNlbGVkOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvWFBDRW5kcG9pbnRDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1hQQ0VuZHBvaW50Q2xpZW50LmgKaW5kZXggYjMxYTIw
OTc4MDRhOGIyYjhlZTA2ODNiYjdlOTQwYjNmOWM5MGExZC4uZTA5MDExMTg4YmY2MWU5MjAzYzQy
NDg3Y2M0N2IxYzBhZjVkZjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvWFBDRW5kcG9pbnRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Y
UENFbmRwb2ludENsaWVudC5oCkBAIC00Niw3ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIGRpZENvbm5lY3QoKSA9IDA7CiAKICAgICBMb2NrIG1fY29ubmVjdGlvbkxvY2s7Ci0g
ICAgT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4gbV9jb25uZWN0aW9uIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9jb25uZWN0aW9uTG9jayk7CisgICAgT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rp
b25fdD4gbV9jb25uZWN0aW9uIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jb25uZWN0aW9u
TG9jayk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9UaHJlYWRT
YWZlT2JqZWN0SGVhcC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVGhyZWFkU2FmZU9iamVjdEhl
YXAuaAppbmRleCAxNWRjNjU3MjIwMmM5MDBmMTlmNzY4ZDA0MzQ1OTNkN2FlOGZiMTM1Li4wOThm
ODg1OGMyNjZhOTkzYjE2ZDU0ZDZlNDMxMTQzYzg0MDg4Y2JjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9UaHJlYWRTYWZlT2JqZWN0SGVhcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1RocmVhZFNhZmVPYmplY3RIZWFwLmgKQEAgLTg2LDcgKzg2LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgewogICAgICAgICB9CiAgICAgfTsKLSAgICBIYXNoTWFwPFJlZmVyZW5jZSwgUmVm
ZXJlbmNlU3RhdGU+IG1fb2JqZWN0cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb2JqZWN0c0xvY2sp
OworICAgIEhhc2hNYXA8UmVmZXJlbmNlLCBSZWZlcmVuY2VTdGF0ZT4gbV9vYmplY3RzIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV9vYmplY3RzTG9jayk7CiB9OwogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBJZGVudGlmaWVyLCB0eXBlbmFtZSBIZWxkVHlwZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgKaW5kZXggNTY0MmViMDg4YTgzMjBhMzhm
MzY3ZjhjNTgzMDFkNjBjNjg3MGE5ZC4uYTAyOTZkMGU0ZDA4ZThjODE1MjM5NDdkM2IzOTAwMTBi
YjVkYmQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViU1FMaXRlRGF0YWJhc2VU
cmFja2VyLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNTdXNwZW5k
ZWQoYm9vbCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhi
b29sKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOworICAgIHZvaWQgc2V0SXNIb2xkaW5nTG9j
a2VkRmlsZXMoYm9vbCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9sb2NrKTsKIAogICAgIC8v
IFdlYkNvcmU6OlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC4KICAgICB2b2lkIHdpbGxCZWdp
bkZpcnN0VHJhbnNhY3Rpb24oKSBmaW5hbDsKQEAgLTU1LDggKzU1LDggQEAgcHJpdmF0ZToKIAog
ICAgIElzSG9sZGluZ0xvY2tlZEZpbGVzSGFuZGxlciBtX2lzSG9sZGluZ0xvY2tlZEZpbGVzSGFu
ZGxlcjsKICAgICBMb2NrIG1fbG9jazsKLSAgICB1aW50NjRfdCBtX2N1cnJlbnRIeXN0ZXJlcmlz
SUQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgIGJvb2wgbV9pc1N1c3Bl
bmRlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90
IG1fY3VycmVudEh5c3RlcmVyaXNJRCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykg
eyAwIH07CisgICAgYm9vbCBtX2lzU3VzcGVuZGVkIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
bV9sb2NrKSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1h
dFJlYWRlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01l
ZGlhRm9ybWF0UmVhZGVyLmgKaW5kZXggMTVkNTU3MzYzMzgxNzQ2MGMyZTYyMDQ0MTkwMTAyM2Nm
ODZiNGE5My4uMWY1NzMyODZlNDQ3MjNlMzcxMTNhMjAzZWJkNTUxZjk0ZjhjOTlmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9y
bWF0UmVhZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVh
ZGVyL01lZGlhRm9ybWF0UmVhZGVyLmgKQEAgLTgwLDEyICs4MCwxMiBAQCBwcml2YXRlOgogICAg
IAogICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2xvZ0lk
ZW50aWZpZXI7IH0KIAotICAgIFJldGFpblB0cjxNVFBsdWdpbkJ5dGVTb3VyY2VSZWY+IG1fYnl0
ZVNvdXJjZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGFyc2VUcmFja3NMb2NrKTsKKyAgICBSZXRh
aW5QdHI8TVRQbHVnaW5CeXRlU291cmNlUmVmPiBtX2J5dGVTb3VyY2UgV1RGX0dVQVJERURfQllf
Q0FQQUJJTElUWShtX3BhcnNlVHJhY2tzTG9jayk7CiAgICAgQ29uZGl0aW9uIG1fcGFyc2VUcmFj
a3NDb25kaXRpb247CiAgICAgTG9jayBtX3BhcnNlVHJhY2tzTG9jazsKLSAgICBNZWRpYVRpbWUg
bV9kdXJhdGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGFyc2VUcmFja3NMb2NrKTsKLSAgICBz
dGQ6Om9wdGlvbmFsPE9TU3RhdHVzPiBtX3BhcnNlVHJhY2tzU3RhdHVzIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9wYXJzZVRyYWNrc0xvY2spOwotICAgIFZlY3RvcjxSZWY8TWVkaWFUcmFja1JlYWRl
cj4+IG1fdHJhY2tSZWFkZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wYXJzZVRyYWNrc0xvY2sp
OworICAgIE1lZGlhVGltZSBtX2R1cmF0aW9uIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9w
YXJzZVRyYWNrc0xvY2spOworICAgIHN0ZDo6b3B0aW9uYWw8T1NTdGF0dXM+IG1fcGFyc2VUcmFj
a3NTdGF0dXMgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3BhcnNlVHJhY2tzTG9jayk7Cisg
ICAgVmVjdG9yPFJlZjxNZWRpYVRyYWNrUmVhZGVyPj4gbV90cmFja1JlYWRlcnMgV1RGX0dVQVJE
RURfQllfQ0FQQUJJTElUWShtX3BhcnNlVHJhY2tzTG9jayk7CiAgICAgUmVmUHRyPGNvbnN0IExv
Z2dlcj4gbV9sb2dnZXI7CiAgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOwogICAgIGJv
b2wgbV9pbml0IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmgKaW5kZXggMGVm
ZTc1NDZiMjJhYTM1ZDQ0ODFkNTZlNGVmNmU5MDFmYjJlZDk0Yy4uM2E4MDJlNGM5NjhlYzY3MDVi
NzFhNTBmODVkNDZkZDIxNTEwZGY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmgKQEAg
LTczLDkgKzczLDkgQEAgcHJpdmF0ZToKICAgICBNZWRpYVNhbXBsZUN1cnNvcihBbGxvY2F0b3Im
JiwgTWVkaWFUcmFja1JlYWRlciYsIExvY2F0b3IpOwogICAgIE1lZGlhU2FtcGxlQ3Vyc29yKEFs
bG9jYXRvciYmLCBjb25zdCBNZWRpYVNhbXBsZUN1cnNvciYpOwogCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgT3JkZXJlZE1hcD4gc3RkOjpvcHRpb25hbDx0eXBlbmFtZSBPcmRlcmVkTWFwOjppdGVy
YXRvcj4gbG9jYXRlSXRlcmF0b3IoT3JkZXJlZE1hcCYsIGJvb2wgaGFzQWxsU2FtcGxlcykgY29u
c3QgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NhdG9yTG9jayk7Ci0gICAgV2ViQ29yZTo6TWVkaWFT
YW1wbGUqIGxvY2F0ZU1lZGlhU2FtcGxlKFdlYkNvcmU6OlNhbXBsZU1hcCYsIGJvb2wgaGFzQWxs
U2FtcGxlcykgY29uc3QgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NhdG9yTG9jayk7Ci0gICAgVGlt
aW5nIGxvY2F0ZVRpbWluZyhXZWJDb3JlOjpTYW1wbGVNYXAmLCBib29sIGhhc0FsbFNhbXBsZXMp
IGNvbnN0IFdURl9SRVFVSVJFU19MT0NLKG1fbG9jYXRvckxvY2spOworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIE9yZGVyZWRNYXA+IHN0ZDo6b3B0aW9uYWw8dHlwZW5hbWUgT3JkZXJlZE1hcDo6aXRl
cmF0b3I+IGxvY2F0ZUl0ZXJhdG9yKE9yZGVyZWRNYXAmLCBib29sIGhhc0FsbFNhbXBsZXMpIGNv
bnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jYXRvckxvY2spOworICAgIFdlYkNvcmU6
Ok1lZGlhU2FtcGxlKiBsb2NhdGVNZWRpYVNhbXBsZShXZWJDb3JlOjpTYW1wbGVNYXAmLCBib29s
IGhhc0FsbFNhbXBsZXMpIGNvbnN0IFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1fbG9jYXRvckxv
Y2spOworICAgIFRpbWluZyBsb2NhdGVUaW1pbmcoV2ViQ29yZTo6U2FtcGxlTWFwJiwgYm9vbCBo
YXNBbGxTYW1wbGVzKSBjb25zdCBXVEZfUkVRVUlSRVNfQ0FQQUJJTElUWShtX2xvY2F0b3JMb2Nr
KTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uPiBPU1N0YXR1cyBnZXRTYW1wbGVN
YXAoRnVuY3Rpb24mJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb24+IE9T
U3RhdHVzIGdldE1lZGlhU2FtcGxlKEZ1bmN0aW9uJiYpIGNvbnN0OwpAQCAtMTA3LDcgKzEwNyw3
IEBAIHByaXZhdGU6CiAgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0OwogCiAg
ICAgUmVmPE1lZGlhVHJhY2tSZWFkZXI+IG1fdHJhY2tSZWFkZXI7Ci0gICAgbXV0YWJsZSBMb2Nh
dG9yIG1fbG9jYXRvciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jYXRvckxvY2spOworICAgIG11
dGFibGUgTG9jYXRvciBtX2xvY2F0b3IgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2xvY2F0
b3JMb2NrKTsKICAgICBtdXRhYmxlIExvY2sgbV9sb2NhdG9yTG9jazsKICAgICBSZWY8Y29uc3Qg
V1RGOjpMb2dnZXI+IG1fbG9nZ2VyOwogICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9N
ZWRpYVRyYWNrUmVhZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRS
ZWFkZXIvTWVkaWFUcmFja1JlYWRlci5oCmluZGV4IDEyMDViYzI2ZGFmZWU3ZGQ0ZmRjYTdjODY2
MzgxOGZkOGY4OTc0MmMuLjRiMjhjNDAzYzA3NmM1Mjc3NDliYzFhZmUxYmI0NzdhMTAyZTM2M2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9N
ZWRpYVRyYWNrUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9y
bWF0UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuaApAQCAtMTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6
CiAgICAgc3RkOjphdG9taWM8RW5hYmxlZD4gbV9pc0VuYWJsZWQgeyBFbmFibGVkOjpVbmtub3du
IH07CiAgICAgbXV0YWJsZSBDb25kaXRpb24gbV9zYW1wbGVTdG9yYWdlQ29uZGl0aW9uOwogICAg
IG11dGFibGUgTG9jayBtX3NhbXBsZVN0b3JhZ2VMb2NrOwotICAgIG11dGFibGUgc3RkOjp1bmlx
dWVfcHRyPFNhbXBsZVN0b3JhZ2U+IG1fc2FtcGxlU3RvcmFnZSBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fc2FtcGxlU3RvcmFnZUxvY2spOworICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPFNhbXBs
ZVN0b3JhZ2U+IG1fc2FtcGxlU3RvcmFnZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc2Ft
cGxlU3RvcmFnZUxvY2spOwogICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOwogICAgIGNv
bnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oCmluZGV4IGQwMjFlMmNkOTBkM2NlOTM5Y2ZlNDQz
ODFlNmVmMDJjZjJjNjdjYjYuLjMyNzlhNTZlZDhlNjI2MjA0ODE0Njk0NDk1YmIxN2EzMmY0MTM5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRh
YmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFz
ZS5oCkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U1FMaXRlRGF0YWJh
c2UgbV9kYjsKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3BhZ2VVUkxUb0ljb25VUkxN
YXA7CiAgICAgTG9jayBtX3BhZ2VVUkxUb0ljb25VUkxNYXBMb2NrOwotICAgIEhhc2hNYXA8U3Ry
aW5nLCBzdGQ6OnBhaXI8V2ViQ29yZTo6UGxhdGZvcm1JbWFnZVB0ciwgTW9ub3RvbmljVGltZT4+
IG1fbG9hZGVkSWNvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvYWRlZEljb25zTG9jayk7Cisg
ICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6cGFpcjxXZWJDb3JlOjpQbGF0Zm9ybUltYWdlUHRyLCBN
b25vdG9uaWNUaW1lPj4gbV9sb2FkZWRJY29ucyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1f
bG9hZGVkSWNvbnNMb2NrKTsKICAgICBMb2NrIG1fbG9hZGVkSWNvbnNMb2NrOwogCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudD4gbV9pY29uSURGb3JJY29uVVJM
U3RhdGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2No
ZW1lVGFzay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oCmlu
ZGV4IGMzMjMwNjliMWNjMDMxZjAyNWIyMmM4NTlhMzU0MTg4ZmRkMjM3MjUuLmRkM2E1NThmMGE5
YTMzMTMxNjU5OTZjNWRiMGM3ZDFhNWM3ZTQ2MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJVUkxTY2hlbWVUYXNrLmgKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIFdl
YkNvcmU6OlJlc291cmNlTG9hZGVySWRlbnRpZmllciBtX3Jlc291cmNlTG9hZGVySUQ7CiAgICAg
V2ViUGFnZVByb3h5SWRlbnRpZmllciBtX3BhZ2VQcm94eUlEOwogICAgIFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIG1fd2ViUGFnZUlEOwotICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBtX3Jl
cXVlc3QgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlcXVlc3RMb2NrKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9yZXF1
ZXN0TG9jayk7CiAgICAgUmVmPEFQSTo6RnJhbWVJbmZvPiBtX2ZyYW1lSW5mbzsKICAgICBtdXRh
YmxlIExvY2sgbV9yZXF1ZXN0TG9jazsKICAgICBib29sIG1fc3RvcHBlZCB7IGZhbHNlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oCmluZGV4IGZmYjgyMzMyMTU3
YjZhOGZhOTk3NGI3NDFiOWRlZjUyMzgxMjgyOWIuLjA1Zjc3Zjg0MmVhN2ExOWNiNzEyY2Q2YmU5
ZGQ3NzNkMDk2ZGU5NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9E
aXNwbGF5TGluay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5TGlu
ay5oCkBAIC02OSw3ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIENWUmV0dXJuIGRpc3Bs
YXlMaW5rQ2FsbGJhY2soQ1ZEaXNwbGF5TGlua1JlZiwgY29uc3QgQ1ZUaW1lU3RhbXAqLCBjb25z
dCBDVlRpbWVTdGFtcCosIENWT3B0aW9uRmxhZ3MsIENWT3B0aW9uRmxhZ3MqLCB2b2lkKiBkYXRh
KTsKICAgICB2b2lkIG5vdGlmeU9ic2VydmVyc0Rpc3BsYXlXYXNSZWZyZXNoZWQoKTsKIAotICAg
IHZvaWQgcmVtb3ZlSW5mb0ZvckNvbm5lY3Rpb25JZlBvc3NpYmxlKElQQzo6Q29ubmVjdGlvbiYp
IFdURl9SRVFVSVJFU19MT0NLKG1fb2JzZXJ2ZXJzTG9jayk7CisgICAgdm9pZCByZW1vdmVJbmZv
Rm9yQ29ubmVjdGlvbklmUG9zc2libGUoSVBDOjpDb25uZWN0aW9uJikgV1RGX1JFUVVJUkVTX0NB
UEFCSUxJVFkobV9vYnNlcnZlcnNMb2NrKTsKIAogICAgIHN0YXRpYyBXZWJDb3JlOjpGcmFtZXNQ
ZXJTZWNvbmQgbm9taW5hbEZyYW1lc1BlclNlY29uZEZyb21EaXNwbGF5TGluayhDVkRpc3BsYXlM
aW5rUmVmKTsKIApAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogCiAgICAgQ1ZEaXNwbGF5TGlu
a1JlZiBtX2Rpc3BsYXlMaW5rIHsgbnVsbHB0ciB9OwogICAgIExvY2sgbV9vYnNlcnZlcnNMb2Nr
OwotICAgIEhhc2hNYXA8SVBDOjpDb25uZWN0aW9uOjpVbmlxdWVJRCwgQ29ubmVjdGlvbkNsaWVu
dEluZm8+IG1fb2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9vYnNlcnZlcnNMb2NrKTsK
KyAgICBIYXNoTWFwPElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQsIENvbm5lY3Rpb25DbGllbnRJ
bmZvPiBtX29ic2VydmVycyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fb2JzZXJ2ZXJzTG9j
ayk7CiAgICAgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgbV9kaXNwbGF5SUQ7CiAgICAgV2Vi
Q29yZTo6RnJhbWVzUGVyU2Vjb25kIG1fZGlzcGxheU5vbWluYWxGcmFtZXNQZXJTZWNvbmQgeyBX
ZWJDb3JlOjpGdWxsU3BlZWRGcmFtZXNQZXJTZWNvbmQgfTsKICAgICBXZWJDb3JlOjpEaXNwbGF5
VXBkYXRlIG1fY3VycmVudFVwZGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXgg
NjJiNjkyNmQ3YzUyZjAyNDViMDliZGEwODRjMTJiODRkMWJmZGQ3ZS4uMTc1MTY4ZDQ0NWViZDQ5
ODJjNzc1OTA0M2E3N2Y3MzJiNGY4NmIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgK
QEAgLTMxOSw3ICszMTksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0Rmx1c2hJZGVudGlmaWVyIG1fc2VudEZsdXNoSWRlbnRpZmllcjsKICAgICBMb2NrIG1fcmVj
ZWl2ZWRGbHVzaElkZW50aWZpZXJMb2NrOwogICAgIENvbmRpdGlvbiBtX3JlY2VpdmVkRmx1c2hJ
ZGVudGlmaWVyQ2hhbmdlZENvbmRpdGlvbjsKLSAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRG
bHVzaElkZW50aWZpZXIgbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllciBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJMb2NrKTsgLy8gT25seSBtb2RpZmllZCBvbiB0
aGUgbWFpbiB0aHJlYWQgYnV0IG1heSBnZXQgcXVlcmllZCBvbiBhIHNlY29uZGFyeSB0aHJlYWQu
CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Rmx1c2hJZGVudGlmaWVyIG1fcmVjZWl2ZWRG
bHVzaElkZW50aWZpZXIgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3JlY2VpdmVkRmx1c2hJ
ZGVudGlmaWVyTG9jayk7IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIG1haW4gdGhyZWFkIGJ1dCBt
YXkgZ2V0IHF1ZXJpZWQgb24gYSBzZWNvbmRhcnkgdGhyZWFkLgogICAgIFdlYWtQdHI8UmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5PiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTsKICAg
ICBSZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyUHJveHkgbV9yZW1vdGVEaXNwbGF5TGlzdDsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJU
Q0NvZGVjcy5oCmluZGV4IGY0MTM3YjIyMzM1ODFhNTQzODI1NDM3MGE3NjNlYjUyZTdlMzI3NjIu
LjVjMjIzMDI5MzM3N2ZiNzgxYTE4YWMzOTgzNGRmMjcwM2FhODBlYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oCkBA
IC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIFJUQ0RlY29kZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXI7CiAgICAgICAgIFR5cGUgdHlwZTsKLSAgICAgICAgdm9pZCog
ZGVjb2RlZEltYWdlQ2FsbGJhY2sgV1RGX0dVQVJERURfQllfTE9DSyhkZWNvZGVkSW1hZ2VDYWxs
YmFja0xvY2spIHsgbnVsbHB0ciB9OworICAgICAgICB2b2lkKiBkZWNvZGVkSW1hZ2VDYWxsYmFj
ayBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKGRlY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBu
dWxscHRyIH07CiAgICAgICAgIExvY2sgZGVjb2RlZEltYWdlQ2FsbGJhY2tMb2NrOwogICAgICAg
ICBib29sIGhhc0Vycm9yIHsgZmFsc2UgfTsKICAgICAgICAgUmVmUHRyPElQQzo6Q29ubmVjdGlv
bj4gY29ubmVjdGlvbjsKQEAgLTEwMyw3ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHdlYnJ0
Yzo6VmlkZW9Db2RlY1R5cGUgY29kZWNUeXBlIHsgd2VicnRjOjprVmlkZW9Db2RlY0dlbmVyaWMg
fTsKICAgICAgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+IHBhcmFtZXRlcnM7
CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8RW5jb2RlckluaXRpYWxpemF0aW9uRGF0YT4gaW5pdGlh
bGl6YXRpb25EYXRhOwotICAgICAgICB2b2lkKiBlbmNvZGVkSW1hZ2VDYWxsYmFjayBXVEZfR1VB
UkRFRF9CWV9MT0NLKGVuY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBudWxscHRyIH07CisgICAg
ICAgIHZvaWQqIGVuY29kZWRJbWFnZUNhbGxiYWNrIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFko
ZW5jb2RlZEltYWdlQ2FsbGJhY2tMb2NrKSB7IG51bGxwdHIgfTsKICAgICAgICAgTG9jayBlbmNv
ZGVkSW1hZ2VDYWxsYmFja0xvY2s7CiAgICAgICAgIFJlZlB0cjxJUEM6OkNvbm5lY3Rpb24+IGNv
bm5lY3Rpb247CiAgICAgICAgIFNoYXJlZFZpZGVvRnJhbWVXcml0ZXIgc2hhcmVkVmlkZW9GcmFt
ZVdyaXRlcjsKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIExpYldl
YlJUQ0NvZGVjcygpOwogICAgIHZvaWQgZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb25BbmREaXNw
YXRjaFRvVGhyZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBlbnN1cmVHUFVQcm9j
ZXNzQ29ubmVjdGlvbk9uTWFpblRocmVhZFdpdGhMb2NrKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9j
b25uZWN0aW9uTG9jayk7CisgICAgdm9pZCBlbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbk9uTWFp
blRocmVhZFdpdGhMb2NrKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9jb25uZWN0aW9uTG9j
ayk7CiAgICAgdm9pZCBncHVQcm9jZXNzQ29ubmVjdGlvbk1heU5vTG9uZ2VyQmVOZWVkZWQoKTsK
IAogICAgIHZvaWQgZmFpbGVkRGVjb2RpbmcoUlRDRGVjb2RlcklkZW50aWZpZXIpOwpAQCAtMTUx
LDggKzE1MSw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjphdG9taWM8Ym9vbD4gbV9uZWVkc0dQVVBy
b2Nlc3NDb25uZWN0aW9uOwogCiAgICAgTG9jayBtX2Nvbm5lY3Rpb25Mb2NrOwotICAgIFJlZlB0
cjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY29u
bmVjdGlvbkxvY2spOwotICAgIFJlZlB0cjxSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
PiBtX3ZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHkgV1RGX0dVQVJERURfQllfTE9DSyhtX2Nvbm5l
Y3Rpb25Mb2NrKTsKKyAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb24gV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShtX2Nvbm5lY3Rpb25Mb2NrKTsKKyAgICBSZWZQdHI8UmVt
b3RlVmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eT4gbV92aWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9jb25uZWN0aW9uTG9jayk7CiAgICAgVmVjdG9y
PEZ1bmN0aW9uPHZvaWQoKT4+IG1fdGFza3NUb0Rpc3BhdGNoQWZ0ZXJFc3RhYmxpc2hpbmdDb25u
ZWN0aW9uOwogCiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1JlbW90ZVZpZGVvRnJhbWVPYmplY3RIZWFw
UHJveHlQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1Jl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHlQcm9jZXNzb3IuaAppbmRleCBmMGU3NmYzYmE0
YTQ1MTVmMmNhMGEzYzVlNjRjNjVjODkyNjZmZjJhLi5mNDQwMWIyNGRjNTY0M2UyMjkzMGY5M2I3
YWY2ZmM5NjEyMjk5MTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5UHJvY2Vzc29yLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvUmVtb3RlVmlkZW9GcmFtZU9iamVj
dEhlYXBQcm94eVByb2Nlc3Nvci5oCkBAIC03Niw5ICs3Niw5IEBAIHByaXZhdGU6CiAKIHByaXZh
dGU6CiAgICAgTG9jayBtX2Nvbm5lY3Rpb25Mb2NrOwotICAgIElQQzo6Q29ubmVjdGlvbjo6VW5p
cXVlSUQgbV9jb25uZWN0aW9uSUQgV1RGX0dVQVJERURfQllfTE9DSyhtX2Nvbm5lY3Rpb25Mb2Nr
KTsKKyAgICBJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEIG1fY29ubmVjdGlvbklEIFdURl9HVUFS
REVEX0JZX0NBUEFCSUxJVFkobV9jb25uZWN0aW9uTG9jayk7CiAgICAgTG9jayBtX2NhbGxiYWNr
c0xvY2s7Ci0gICAgSGFzaE1hcDxSZW1vdGVWaWRlb0ZyYW1lSWRlbnRpZmllciwgQ2FsbGJhY2s+
IG1fY2FsbGJhY2tzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jYWxsYmFja3NMb2NrKTsKKyAgICBI
YXNoTWFwPFJlbW90ZVZpZGVvRnJhbWVJZGVudGlmaWVyLCBDYWxsYmFjaz4gbV9jYWxsYmFja3Mg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX2NhbGxiYWNrc0xvY2spOwogICAgIFJlZjxXb3Jr
UXVldWU+IG1fcXVldWU7CiAgICAgU2hhcmVkVmlkZW9GcmFtZVJlYWRlciBtX3NoYXJlZFZpZGVv
RnJhbWVSZWFkZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKaW5kZXggY2ViZDk3YWFkOGNhYjI1ZjZjZWRlMGUzZTcw
Nzk1ZmNmNzI3MDM0ZS4uM2FhNTM5NDc2OTA4NmIyNTRhYjAyZGJkZTk4NWI1YmE3YTczNjMyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3Ry
ZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRT
dHJlYW0uY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBMb2NrIGdsb2JhbFdlYlNvY2tldFN0cmVhbU1hcExv
Y2s7Ci1zdGF0aWMgSGFzaE1hcDxXZWJTb2NrZXRJZGVudGlmaWVyLCBXZWJTb2NrZXRTdHJlYW0q
PiYgZ2xvYmFsV2ViU29ja2V0U3RyZWFtTWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0soZ2xvYmFsV2Vi
U29ja2V0U3RyZWFtTWFwTG9jaykKK3N0YXRpYyBIYXNoTWFwPFdlYlNvY2tldElkZW50aWZpZXIs
IFdlYlNvY2tldFN0cmVhbSo+JiBnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXAoKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXBMb2NrKQogewogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFdlYlNvY2tldElkZW50aWZpZXIsIFdlYlNvY2tldFN0
cmVhbSo+PiBnbG9iYWxNYXA7CiAgICAgcmV0dXJuIGdsb2JhbE1hcDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKaW5kZXggMGJkZmZj
NmUwODVhZTYzZmM1ZjBjMGMxOThhOGIxNWNlNGI3NDU3MS4uM2ZjNGVjMmI3OWFmYTgzOTYyMjNi
MGI3MjY1ZDRhNjcwNGYzZDYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmgKQEAgLTEzMSwxMiArMTMxLDEyIEBAIHByaXZhdGU6
CiAKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSAmJiBFTkFCTEUoU0NST0xMSU5HX1RIUkVB
RCkKICAgICBMb2NrIG1fc2Nyb2xsaW5nVHJlZXNMb2NrOwotICAgIEhhc2hNYXA8V2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU+PiBt
X3Njcm9sbGluZ1RyZWVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zY3JvbGxpbmdUcmVlc0xvY2sp
OworICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3JlOjpU
aHJlYWRlZFNjcm9sbGluZ1RyZWU+PiBtX3Njcm9sbGluZ1RyZWVzIFdURl9HVUFSREVEX0JZX0NB
UEFCSUxJVFkobV9zY3JvbGxpbmdUcmVlc0xvY2spOwogI2VuZGlmCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcj4gbV9yZWNlbnRXaGVlbEV2ZW50RGVs
dGFGaWx0ZXI7CiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCiAgICAgTG9jayBtX3RvdWNo
RXZlbnRzTG9jazsKLSAgICBIYXNoTWFwPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBUb3VjaEV2
ZW50UXVldWU+IG1fdG91Y2hFdmVudHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3RvdWNoRXZlbnRz
TG9jayk7CisgICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgVG91Y2hFdmVudFF1
ZXVlPiBtX3RvdWNoRXZlbnRzIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV90b3VjaEV2ZW50
c0xvY2spOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTU9NRU5UVU1fRVZFTlRfRElTUEFUQ0hFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVE
aXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3VXBkYXRl
RGlzcGF0Y2hlci5oCmluZGV4IGI4MTU1MDFiZWMwN2JhZTE5OGYwNzcwMTAzMDI5MWYwYjRhYTNj
NmIuLjFkNGMwNTBlODg4NDAwOWEzNmUzZTg5NThlNTMzZmJjYjdkNmY1ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNo
ZXIuaApAQCAtNjUsNyArNjUsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9x
dWV1ZTsKICAgICBMb2NrIG1fbGF0ZXN0VXBkYXRlTG9jazsKLSAgICBIYXNoTWFwPFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyLCBVbmlxdWVSZWY8VXBkYXRlRGF0YT4+IG1fbGF0ZXN0VXBkYXRlIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sYXRlc3RVcGRhdGVMb2NrKTsKKyAgICBIYXNoTWFwPFdlYkNv
cmU6OlBhZ2VJZGVudGlmaWVyLCBVbmlxdWVSZWY8VXBkYXRlRGF0YT4+IG1fbGF0ZXN0VXBkYXRl
IFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9sYXRlc3RVcGRhdGVMb2NrKTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCA0ZmExOGI0MDRl
ZjFmMTcxN2FiZmIxOTk2OTljNjE5YTM5Y2RlMDVhLi5kMzMwNWRlMDZjMWVhZmY2NzdkMjdiN2Q4
ZDMzOGU1NzA3NzRhZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtMTI1LDcgKzEyNSw3
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvPj4gbV92aWRlb1NvdXJjZXM7CiAK
ICAgICBMb2NrIG1fdmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eUxvY2s7Ci0gICAgUmVmUHRyPFJl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwUHJveHk+IG1fdmlkZW9GcmFtZU9iamVjdEhlYXBQcm94
eSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdmlkZW9GcmFtZU9iamVjdEhlYXBQcm94eUxvY2spOwor
ICAgIFJlZlB0cjxSZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcFByb3h5PiBtX3ZpZGVvRnJhbWVP
YmplY3RIZWFwUHJveHkgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX3ZpZGVvRnJhbWVPYmpl
Y3RIZWFwUHJveHlMb2NrKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IDQzMmRmYjAzNDg0
YmRlZmIwZTFlNjdjNjcyNDQ4NjlmNmMxNzNlMTcuLjUxMDY0NTk5ZmQzNDQzYjNhOGRkMmVhYzY5
M2E2YzAwZDE5MjM1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9T
dG9yYWdlQXJlYVN5bmMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvU3RvcmFn
ZUFyZWFTeW5jLmgKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0ZToKIAogICAgIG11dGFibGUgTG9j
ayBtX2ltcG9ydExvY2s7CiAgICAgQ29uZGl0aW9uIG1faW1wb3J0Q29uZGl0aW9uOwotICAgIGJv
b2wgbV9pbXBvcnRDb21wbGV0ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1faW1wb3J0TG9jayk7Cisg
ICAgYm9vbCBtX2ltcG9ydENvbXBsZXRlIFdURl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobV9pbXBv
cnRMb2NrKTsKICAgICB2b2lkIG1hcmtJbXBvcnRlZCgpOwogICAgIHZvaWQgbWlncmF0ZUl0ZW1U
YWJsZUlmTmVlZGVkKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
RE9NL0RPTUludGVybmFsLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUludGVy
bmFsLm1tCmluZGV4IGUzMWIyMDk1ODdlM2FlMDE2ZjU5NDEzMzM5MzJiNWExNWVlNzRmZDYuLjJl
YTgxMzIzMzAzZTMwYzM2YjgzZDg0YjM5ZjkzZWFmNmQwODhkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01JbnRlcm5hbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9ET00vRE9NSW50ZXJuYWwubW0KQEAgLTQ1LDcgKzQ1LDcgQEAKIAogI2lmZGVm
IE5FRURTX1dSQVBQRVJfQ0FDSEVfTE9DSwogc3RhdGljIExvY2sgd3JhcHBlckNhY2hlTG9jazsK
LXN0YXRpYyBIYXNoTWFwPERPTU9iamVjdEludGVybmFsKiwgTlNPYmplY3QgKj4mIHdyYXBwZXJD
YWNoZSgpIFdURl9SRVFVSVJFU19MT0NLKHdyYXBwZXJDYWNoZUxvY2spCitzdGF0aWMgSGFzaE1h
cDxET01PYmplY3RJbnRlcm5hbCosIE5TT2JqZWN0ICo+JiB3cmFwcGVyQ2FjaGUoKSBXVEZfUkVR
VUlSRVNfQ0FQQUJJTElUWSh3cmFwcGVyQ2FjaGVMb2NrKQogI2Vsc2UKIHN0YXRpYyBIYXNoTWFw
PERPTU9iamVjdEludGVybmFsKiwgTlNPYmplY3QgKj4mIHdyYXBwZXJDYWNoZSgpCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMTA1
MTY0ZWVhODhhMGY5ZDA1MmFkZjg0MTExMzk2ZjA3MjY4NmU5Li5kZGMwYmVlNGI3MGM5MDJjMzZj
NDMxM2NkNTg0NDNjZjZmZGYzMzhjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMjIgIEtpbW1vIEtpbm51
bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWQgc2FmZXR5IGFuYWx5
c2lzIG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2FzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzAyMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSB0aGUgbWFjcm9z
IHdpdGggV1RGXypfTE9DSyB0byBXVEZfKl9DQVBBQklMSVRZIHRvIHN1cHBvcnQgbm9uLUxvY2sg
dXNlLWNhc2VzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
UGFzdGVib2FyZC5tbToKKyAgICAgICAgKCtbRHVtcFJlbmRlclRyZWVQYXN0ZWJvYXJkIF9wYXN0
ZWJvYXJkV2l0aE5hbWU6XSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy9jcHAucHk6CisgICAgICAgIChjaGVja19pZGVudGlmaWVyX25hbWVfaW5fZGVjbGFyYXRp
b24pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NvbmRpdGlvbi5jcHA6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTG9jay5jcHA6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6V1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvbWFjL1dlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tOgorICAgICAgICAo
K1tXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZCBfcGFzdGVib2FyZFdpdGhOYW1lOl0pOgorCiAy
MDIyLTAyLTIxICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNlIEFyZ3VtZW50UGFyc2VyIGZvciBwYXJzaW5nIGFyZ3MgaW4gZ2VuZXJhdGUt
Y29tcGlsZS1jb21tYW5kcwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlUGFzdGVib2FyZC5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZVBhc3RlYm9hcmQubW0KaW5kZXggZTI4MTgzNTc3NDU2YTYzNDAwMzI1Y2VlMWJk
MjBkNDM2YTg5ZjM1ZS4uNWI4MWZmYWM5ZWRlZWI4ZjJiNmEwMGFhMzRlNmUyODI0YWRhMGJjNCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlUGFzdGVi
b2FyZC5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVQYXN0
ZWJvYXJkLm1tCkBAIC01Nyw3ICs1Nyw3IEBACiBAZW5kCiAKIHN0YXRpYyBMb2NrIGxvY2FsUGFz
dGVib2FyZHNMb2NrOwotc3RhdGljIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBsb2Nh
bFBhc3RlYm9hcmRzIFdURl9HVUFSREVEX0JZX0xPQ0sobG9jYWxQYXN0ZWJvYXJkc0xvY2spOwor
c3RhdGljIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBsb2NhbFBhc3RlYm9hcmRzIFdU
Rl9HVUFSREVEX0JZX0NBUEFCSUxJVFkobG9jYWxQYXN0ZWJvYXJkc0xvY2spOwogCiBAaW1wbGVt
ZW50YXRpb24gRHVtcFJlbmRlclRyZWVQYXN0ZWJvYXJkCiAKQEAgLTY1LDcgKzY1LDcgQEAgc3Rh
dGljIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBsb2NhbFBhc3RlYm9hcmRzIFdURl9H
VUFSREVEX0JZX0xPQ0sobG9jYWwKICsgKE5TUGFzdGVib2FyZCAqKV9wYXN0ZWJvYXJkV2l0aE5h
bWU6KE5TU3RyaW5nICopbmFtZQogewogICAgIExvY2tlciBsb2NrZXIgeyBsb2NhbFBhc3RlYm9h
cmRzTG9jayB9OwotICAgIHN0YXRpYyB1aW50NjRfdCBudW1iZXIgV1RGX0dVQVJERURfQllfTE9D
Syhsb2NhbFBhc3RlYm9hcmRzTG9jaykgPSAwOworICAgIHN0YXRpYyB1aW50NjRfdCBudW1iZXIg
V1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShsb2NhbFBhc3RlYm9hcmRzTG9jaykgPSAwOwogICAg
IGlmICghbmFtZSkKICAgICAgICAgbmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAi
TG9jYWxQYXN0ZWJvYXJkJWxsdSIsICsrbnVtYmVyXTsKICAgICBpZiAoIWxvY2FsUGFzdGVib2Fy
ZHMpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2Nw
cC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CmluZGV4
IDMwZGIwOWQyYWQwMTI2MjM0ZmMyYzIyODhlMzAxNzRlZDZiNjRjZWEuLjc2MjUzN2M3YjRhMzE4
MmQ1YjRjMmU0YWNlZjBlMGYyMDQwOWQ5NTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlcnMvY3BwLnB5CkBAIC00MTYyLDcgKzQxNjIsNyBAQCBkZWYgY2hlY2tfaWRl
bnRpZmllcl9uYW1lX2luX2RlY2xhcmF0aW9uKGZpbGVuYW1lLCBsaW5lX251bWJlciwgbGluZSwg
ZmlsZV9zdGF0ZQogICAgICAgICAgICAgICAgIGFuZCBub3QgbW9kaWZpZWRfaWRlbnRpZmllciA9
PSAidm1fdGhyb3ciCiAgICAgICAgICAgICAgICAgYW5kIG5vdCBtb2RpZmllZF9pZGVudGlmaWVy
ID09ICJERkdfT1BFUkFUSU9OIgogICAgICAgICAgICAgICAgIGFuZCBub3QgbW9kaWZpZWRfaWRl
bnRpZmllciA9PSAiTE9HX0NIQU5ORUwiCi0gICAgICAgICAgICAgICAgYW5kIG5vdCBtb2RpZmll
ZF9pZGVudGlmaWVyID09ICJXVEZfR1VBUkRFRF9CWV9MT0NLIgorICAgICAgICAgICAgICAgIGFu
ZCBub3QgbW9kaWZpZWRfaWRlbnRpZmllciA9PSAiV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSIK
ICAgICAgICAgICAgICAgICBhbmQgbm90IG1vZGlmaWVkX2lkZW50aWZpZXIuZmluZCgnY2hyb25v
X2xpdGVyYWxzJykgPj0gMCk6CiAgICAgICAgICAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICdy
ZWFkYWJpbGl0eS9uYW1pbmcvdW5kZXJzY29yZXMnLCA0LCBpZGVudGlmaWVyICsgIiBpcyBpbmNv
cnJlY3RseSBuYW1lZC4gRG9uJ3QgdXNlIHVuZGVyc2NvcmVzIGluIHlvdXIgaWRlbnRpZmllciBu
YW1lcy4iKQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Db25k
aXRpb24uY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29uZGl0aW9uLmNwcApp
bmRleCBhYzQ3M2E0YTQxZmMxMzQ0MTYxYWExMWNhMTUzZGQ5Y2UwOGEwNGM2Li5jZGRmMmFmMDY1
NjVlZWQ2NDg4ODUzNzEyY2U0ZGQ4NzA2YWVmN2I5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9Db25kaXRpb24uY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0NvbmRpdGlvbi5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgZW51bSBOb3RpZnlTdHls
ZSB7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgotdm9pZCB3YWl0KENvbmRpdGlv
biYgY29uZGl0aW9uLCBjb25zdCBGdW5jdG9yJiBwcmVkaWNhdGUsIFNlY29uZHMgdGltZW91dCkg
V1RGX1JFUVVJUkVTX0xPQ0sobG9jaykKK3ZvaWQgd2FpdChDb25kaXRpb24mIGNvbmRpdGlvbiwg
Y29uc3QgRnVuY3RvciYgcHJlZGljYXRlLCBTZWNvbmRzIHRpbWVvdXQpIFdURl9SRVFVSVJFU19D
QVBBQklMSVRZKGxvY2spCiB7CiAgICAgaWYgKHRpbWVvdXQgPT0gU2Vjb25kczo6aW5maW5pdHko
KSkKICAgICAgICAgY29uZGl0aW9uLndhaXQobG9jaywgcHJlZGljYXRlKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xvY2suY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvTG9jay5jcHAKaW5kZXggYzkzNGIyYmI4OGUwYTQ0NjI0MTU2MzNjZjUw
ZGI1NTM1NmFjYTMxMy4uNzc2MGRiZjJmNDZkZGI1ZDc4MGQ0MDc3ZDc1NTgxZjdlMzNkODk0OCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTG9jay5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTG9jay5jcHAKQEAgLTIwOSw5ICsyMDksOSBA
QCBwdWJsaWM6CiAgICAgfQogICAgIHByaXZhdGU6CiAgICAgTG9jayBtX2xvY2s7Ci0gICAgaW50
IG1fdmFsdWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgNzcgfTsKKyAgICBpbnQgbV92
YWx1ZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fbG9jaykgeyA3NyB9OwogICAgIExvY2sg
bV9vdGhlckxvY2s7Ci0gICAgaW50IG1fb3RoZXJWYWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
b3RoZXJMb2NrKSB7IDg4IH07CisgICAgaW50IG1fb3RoZXJWYWx1ZSBXVEZfR1VBUkRFRF9CWV9D
QVBBQklMSVRZKG1fb3RoZXJMb2NrKSB7IDg4IH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9UaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9UaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAKaW5kZXgg
MDc0OWQ2ZjYyZDY0OTRjNmUyODA2NTU2ODU5MDgyODE3YjhhN2MwMC4uNmI4MjI2NDE3Mzc0NTgy
YzNjZGNjNWIwYTI4ZGZmOWFmMmI0MjFmMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1RocmVhZEFzc2VydGlvbnNUZXN0LmNwcApAQCAtNDYsOCArNDYsOCBA
QCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW50IGRvVGFza0NvbXBpbGVGYWls
dXJlKFQgbikgeyByZXR1cm4gZG9UYXNrSW1wbChuKTsgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHZvaWQgYWNjZXNzVmFyaWFibGVDb21waWxlRmFpbHVyZShUIG4pIHsgbV92YWx1ZSA9IG47
IH0KIHByaXZhdGU6Ci0gICAgaW50IGRvVGFza0ltcGwoaW50IG4pIFdURl9SRVFVSVJFU19MT0NL
KG1fb3duZXJUaHJlYWQpIHsgcmV0dXJuIG4gKyAxOyB9Ci0gICAgaW50IG1fdmFsdWUgV1RGX0dV
QVJERURfQllfTE9DSyhtX293bmVyVGhyZWFkKSB7IDAgfTsKKyAgICBpbnQgZG9UYXNrSW1wbChp
bnQgbikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9vd25lclRocmVhZCkgeyByZXR1cm4gbiAr
IDE7IH0KKyAgICBpbnQgbV92YWx1ZSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fb3duZXJU
aHJlYWQpIHsgMCB9OwogICAgIE5PX1VOSVFVRV9BRERSRVNTIFRocmVhZEFzc2VydGlvbiBtX293
bmVyVGhyZWFkOwogfTsKIH0KQEAgLTY0LDcgKzY0LDcgQEAgVEVTVChXVEZfVGhyZWFkQXNzZXJ0
aW9ucywgVGVzdFRocmVhZEFzc2VydGlvbikKICAgICAvLyBpbnN0YW5jZS5hY2Nlc3NWYXJpYWJs
ZUNvbXBpbGVGYWlsdXJlKDEwKTsKIH0KIAotc3RhdGljIGludCB0ZXN0TWFpblRocmVhZEZ1bmN0
aW9uKCkgV1RGX1JFUVVJUkVTX0xPQ0sobWFpblRocmVhZCkgeyByZXR1cm4gMTE7IH0KK3N0YXRp
YyBpbnQgdGVzdE1haW5UaHJlYWRGdW5jdGlvbigpIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1h
aW5UaHJlYWQpIHsgcmV0dXJuIDExOyB9CiAKIFRFU1QoV1RGX1RocmVhZEFzc2VydGlvbnMsIFRl
c3RNYWluVGhyZWFkTmFtZWRBc3NlcnRpb24pCiB7CkBAIC03NSw3ICs3NSw3IEBAIFRFU1QoV1RG
X1RocmVhZEFzc2VydGlvbnMsIFRlc3RNYWluVGhyZWFkTmFtZWRBc3NlcnRpb24pCiAgICAgRVhQ
RUNUX0VRKDExLCB0ZXN0TWFpblRocmVhZEZ1bmN0aW9uKCkpOwogfQogCi1zdGF0aWMgaW50IHRl
c3RNYWluUnVuTG9vcEZ1bmN0aW9uKCkgV1RGX1JFUVVJUkVTX0xPQ0sobWFpblJ1bkxvb3ApIHsg
cmV0dXJuIDEyOyB9CitzdGF0aWMgaW50IHRlc3RNYWluUnVuTG9vcEZ1bmN0aW9uKCkgV1RGX1JF
UVVJUkVTX0NBUEFCSUxJVFkobWFpblJ1bkxvb3ApIHsgcmV0dXJuIDEyOyB9CiAKIFRFU1QoV1RG
X1RocmVhZEFzc2VydGlvbnMsIFRlc3RNYWluUnVuTG9vcE5hbWVkQXNzZXJ0aW9uKQogewpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvV2ViS2l0VGVzdFJ1bm5lclBhc3Rl
Ym9hcmQubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFz
dGVib2FyZC5tbQppbmRleCA5MmI3ZGM2ZTcwMmU2OTQyNTlkYjRkYTZiNDhkZWMzYTJjYjNjMzNl
Li4xOTllZTIxOGU3NGZhMjg0ZDQxOGE2YzQ2NGE5N2NhYmE1NTUyMmNhIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5tbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2Fy
ZC5tbQpAQCAtNDcsNyArNDcsNyBAQAogQGVuZAogCiBzdGF0aWMgTG9jayBsb2NhbFBhc3RlYm9h
cmRzTG9jazsKLXN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gbG9jYWxQYXN0
ZWJvYXJkcyBXVEZfR1VBUkRFRF9CWV9MT0NLKGxvY2FsUGFzdGVib2FyZHNMb2NrKTsKK3N0YXRp
YyBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gbG9jYWxQYXN0ZWJvYXJkcyBXVEZfR1VB
UkRFRF9CWV9DQVBBQklMSVRZKGxvY2FsUGFzdGVib2FyZHNMb2NrKTsKIAogQGltcGxlbWVudGF0
aW9uIFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkCiAKQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGlj
IFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBsb2NhbFBhc3RlYm9hcmRzIFdURl9HVUFS
REVEX0JZX0xPQ0sobG9jYWwKICsgKE5TUGFzdGVib2FyZCAqKV9wYXN0ZWJvYXJkV2l0aE5hbWU6
KE5TU3RyaW5nICopbmFtZQogewogICAgIExvY2tlciBsb2NrZXIgeyBsb2NhbFBhc3RlYm9hcmRz
TG9jayB9OwotICAgIHN0YXRpYyB1aW50NjRfdCBudW1iZXIgV1RGX0dVQVJERURfQllfTE9DSyhs
b2NhbFBhc3RlYm9hcmRzTG9jaykgPSAwOworICAgIHN0YXRpYyB1aW50NjRfdCBudW1iZXIgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWShsb2NhbFBhc3RlYm9hcmRzTG9jaykgPSAwOwogICAgIGlm
ICghbmFtZSkKICAgICAgICAgbmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiTG9j
YWxQYXN0ZWJvYXJkJWxsdSIsICsrbnVtYmVyXTsKICAgICBpZiAoIWxvY2FsUGFzdGVib2FyZHMp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452855</attachid>
            <date>2022-02-22 04:07:22 -0800</date>
            <delta_ts>2022-02-23 02:00:29 -0800</delta_ts>
            <desc>Option B without the renames</desc>
            <filename>bug-237022-20220222140721.patch</filename>
            <type>text/plain</type>
            <size>18428</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVhMjY4ZjZjZGM5NDQzNWFkZTA4YmM2
YTEzN2I4YjVlZWJlY2RkN2EuLjQ3YmJjZDJkODg4MzNmZDMxYTljNWYzN2YwNWMyODg4ZTkyY2I3
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMjIgIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBUaHJlYWQgc2FmZXR5IGFuYWx5c2lzIG1hY3Jv
cyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9jayB1c2UtY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzAyMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRocmVhZCBzYWZldHkgYW5hbHlzaXMgcHJv
dmVzIHRoYXQgYSBjYXBhYmlsaXR5IGlzIGFjcXVpcmVkIG9yIG5vdCBhY3F1aXJlZC4KKyAgICAg
ICAgQ2hhbmdlIHRoZSBzZW1hbnRpY3Mgb2YgdGhyZWFkIHNhZmV0eSBhbmFseXNpcyBhcHBsaWNh
dGlvbiBpbiBXZWJLaXQ6CisgICAgICAgICAgQmVmb3JlLCB3ZSBoYWQgb25seSBvbmUgY2FwYWJp
bGl0eSwgImxvY2siLgorICAgICAgICAgIEFmdGVyLCB3ZSBoYXZlIGFyYml0cmFyeSBhbW91bnQg
b2YgY2FwYWJpbGl0aWVzLCBvbmUgb2Ygd2hpY2ggaXMgImxvY2siLgorCisgICAgICAgIEFkZCB0
aHJlYWQgc2FmZXR5IGFuYWx5c2lzIG1hY3JvcyB0byBzdXBwb3J0IG5vbi1Mb2NrIHVzZS1jYXNl
cyBiZXR0ZXIuCisKKyAgICAgICAgTm9uLWxvY2sgdXNlLWNhc2U6CisgICAgICAgIEJlZm9yZToK
KyAgICAgICAgICBjbGFzcyBXVEZfQ0FQQUJJTElUWV9MT0NLIFRocmVhZEFzc2VydGlvbiB7IC4u
LiB9OworICAgICAgICAgICJXVEY6OlRocmVhZEFzc2VydGlvbiBpcyBvYnZpb3VzbHkgbm90IGEg
bG9jayBidXQgd2UgdXNlIHRoZSBsb2NrIGNhcGFiaWxpdHkgbWFjaGluZXJ5IHRvIG9idGFpbiB0
aGUgYW5hbHlzaXMgc3VwcG9ydC4KKyAgICAgICAgICAgSXQgYmVoYXZlcyBsaWtlIHRoZSBsb2Nr
IGNhcGFiaWxpdHkgYW5kIGNhbiBiZSBhY3F1aXJlZC4iCisKKyAgICAgICAgQWZ0ZXI6CisgICAg
ICAgICAgY2xhc3MgV1RGX0NBUEFCSUxJVFkoImlzIGN1cnJlbnQiKSBUaHJlYWRBc3NlcnRpb24g
eyAuLi4gfTsKKyAgICAgICAgICAiV1RGOjpUaHJlYWRBc3NlcnRpb24gaGFzIGEgY2FwYWJpbGl0
eSBjYWxsZWQgJ2lzIGN1cnJlbnQnIHRoYXQgY2FuIGJlIGFjcXVpcmVkLiIKKworICAgICAgICBU
aGUgZG9jdW1lbnRhdGlvbiBzdHJpbmcgImxvY2siLCAiaXMgY3VycmVudCIgd2lsbCBhcHBlYXIg
aW4gdGhlIGNvbXBpbGUgZXJyb3IgbWVzc2FnZXMgdG8gY2xhcmlmeSB0aGUKKyAgICAgICAgdmlv
bGF0aW9ucy4KKworICAgICAgICAqIHd0Zi9UaHJlYWRBc3NlcnRpb25zLmg6CisgICAgICAgIChX
VEY6OldURl9BU1NFUlRTX0FDUVVJUkVEX0NBUEFCSUxJVFkpOgorICAgICAgICAqIHd0Zi9UaHJl
YWRTYWZldHlBbmFseXNpcy5oOgorCiAyMDIyLTAyLTIxICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jp
c3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRm9ybWF0IHRoZSBvdXRwdXQgb2YgLS1y
ZXBvcnRUb3RhbFBoYXNlVGltZXM9MSBtb3JlIG5pY2VseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzZDVmNWE0Y2Fj
Mzk4MWJmYjM2NTM1YmQ4NThlMjVlMGE4YzJjNTc5Li5mNTUxYmJiNzFmNDZkZGNmZjcxZjI3MzQy
ZjNlNTg3NmMwNjhiYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTIyICBL
aW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyZWFkIHNh
ZmV0eSBhbmFseXNpcyBtYWNyb3MgYXJlIGNvbmZ1c2luZyBmb3Igbm9uLUxvY2sgdXNlLWNhc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcwMjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgV1RG
X0dVQVJERURfQllfQ0FQQUJJTElUWSBpbnN0ZWFkIG9mIFdURl9HVUFSREVEX0JZX0xPQ0sKKyAg
ICAgICAgZm9yIG5vbi1sb2NrIHVzZS1jYXNlcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dy
YXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVZpZGVvRnJhbWVPYmplY3RIZWFwLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMv
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmg6CisKIDIwMjItMDItMjEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBbGxvdyBhZGF0
dHJpYnV0aW9uZCB0byBzdGFydCBvbiBpT1MgZGV2aWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvVGhyZWFkQXNzZXJ0aW9ucy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkQXNzZXJ0aW9u
cy5oCmluZGV4IDFjYTE2YjRkMDU4OWM5MDIxNmQwZWJlMDBhOTcwODMyZDhlYTBlZDcuLjU1ZjBk
NTRhMjM1Y2QxNmY4Mzk5OGE1ZTM1ZmYxZWZmMWY0ZDhhMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1RocmVhZEFzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRBc3Nl
cnRpb25zLmgKQEAgLTQxLDExICs0MSwxMSBAQCBuYW1lc3BhY2UgV1RGIHsKIC8vICAgICB2b2lk
IGRvVGFzaygpIHsgYXNzZXJ0SXNDdXJyZW50KG1fb3duZXJUaHJlYWQpOyBkb1Rhc2tJbXBsKCk7
IH0KIC8vICAgICB0ZW1wbGF0ZTx0eXBlbmFtZT4gdm9pZCBkb1Rhc2tDb21waWxlRmFpbHVyZSgp
IHsgZG9UYXNrSW1wbCgpOyB9CiAvLyBwcml2YXRlOgotLy8gICAgIHZvaWQgZG9UYXNrSW1wbCgp
IFdURl9SRVFVSVJFU19MT0NLKG1fb3duZXJUaHJlYWQpOwotLy8gICAgIGludCBtX3ZhbHVlIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9vd25lclRocmVhZCkgeyAwIH07CisvLyAgICAgdm9pZCBkb1Rh
c2tJbXBsKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9vd25lclRocmVhZCk7CisvLyAgICAg
aW50IG1fdmFsdWUgV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWShtX293bmVyVGhyZWFkKSB7IDAg
fTsKIC8vICAgICBOT19VTklRVUVfQUREUkVTUyBUaHJlYWRBc3NlcnRpb24gbV9vd25lclRocmVh
ZDsKIC8vIH07Ci1jbGFzcyBXVEZfQ0FQQUJJTElUWV9MT0NLIFRocmVhZEFzc2VydGlvbiB7Citj
bGFzcyBXVEZfQ0FQQUJJTElUWSgiaXMgY3VycmVudCIpIFRocmVhZEFzc2VydGlvbiB7CiBwdWJs
aWM6CiAgICAgVGhyZWFkQXNzZXJ0aW9uKCkgPSBkZWZhdWx0OwogICAgIGVudW0gVW5pbml0aWFs
aXplZFRhZyB7IFVuaW5pdGlhbGl6ZWQgfTsKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAg
ICBmcmllbmQgdm9pZCBhc3NlcnRJc0N1cnJlbnQoY29uc3QgVGhyZWFkQXNzZXJ0aW9uJik7CiB9
OwogCi1pbmxpbmUgdm9pZCBhc3NlcnRJc0N1cnJlbnQoY29uc3QgVGhyZWFkQXNzZXJ0aW9uJiB0
aHJlYWRBc3NlcnRpb24pIFdURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sodGhyZWFkQXNzZXJ0aW9u
KQoraW5saW5lIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNvbnN0IFRocmVhZEFzc2VydGlvbiYgdGhy
ZWFkQXNzZXJ0aW9uKSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9DQVBBQklMSVRZKHRocmVhZEFzc2Vy
dGlvbikKIHsKICAgICBBU1NFUlRfVU5VU0VEKHRocmVhZEFzc2VydGlvbiwgVGhyZWFkOjpjdXJy
ZW50KCkudWlkKCkgPT0gdGhyZWFkQXNzZXJ0aW9uLm1fdWlkKTsKIH0KQEAgLTc0LDggKzc0LDgg
QEAgaW5saW5lIHZvaWQgYXNzZXJ0SXNDdXJyZW50KGNvbnN0IFRocmVhZEFzc2VydGlvbiYgdGhy
ZWFkQXNzZXJ0aW9uKSBXVEZfQVNTRVJUU18KIC8vIGEga25vd24gbmFtZWQgdGhyZWFkLgogLy8g
RXhhbXBsZToKIC8vIGV4dGVybiBOYW1lZEFzc2VydGlvbiYgbWFpblRocmVhZDsKLS8vIGlubGlu
ZSB2b2lkIGFzc2VydElzTWFpblRocmVhZCgpIFdURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sobWFp
blRocmVhZCk7Ci0vLyB2b2lkIG15VGFzaygpIFdURl9SRVFVSVJFU19MT0NLKG1haW5UaHJlYWQp
IHsgcHJpbnRmKCJteSB0YXNrIGlzIHJ1bm5pbmciKTsgfQorLy8gaW5saW5lIHZvaWQgYXNzZXJ0
SXNNYWluVGhyZWFkKCkgV1RGX0FTU0VSVFNfQUNRVUlSRURfQ0FQQUJJTElUWShtYWluVGhyZWFk
KTsKKy8vIHZvaWQgbXlUYXNrKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobWFpblRocmVhZCkg
eyBwcmludGYoIm15IHRhc2sgaXMgcnVubmluZyIpOyB9CiAvLyB2b2lkIHJ1bm5lcigpIHsKIC8v
ICAgICBhc3NlcnRJc01haW5UaHJlYWQoKTsKIC8vICAgICBteVRhc2soKTsKQEAgLTgzLDE1ICs4
MywxNSBAQCBpbmxpbmUgdm9pZCBhc3NlcnRJc0N1cnJlbnQoY29uc3QgVGhyZWFkQXNzZXJ0aW9u
JiB0aHJlYWRBc3NlcnRpb24pIFdURl9BU1NFUlRTXwogLy8gdGVtcGxhdGU8dHlwZW5hbWU+IHJ1
bm5lckNvbXBpbGVGYWlsdXJlKCkgewogLy8gICAgIG15VGFzaygpOwogLy8gfQotY2xhc3MgV1RG
X0NBUEFCSUxJVFlfTE9DSyBOYW1lZEFzc2VydGlvbiB7IH07CitjbGFzcyBXVEZfQ0FQQUJJTElU
WSgiaXMgY3VycmVudCIpIE5hbWVkQXNzZXJ0aW9uIHsgfTsKIAotLy8gVG8gYmUgdXNlZCB3aXRo
IFdURl9SRVFVSVJFU19MT0NLKG1haW5UaHJlYWQpLiBTeW1ib2wgaXMgdW5kZWZpbmVkLgorLy8g
VG8gYmUgdXNlZCB3aXRoIFdURl9SRVFVSVJFU19DQVBBQklMSVRZKG1haW5UaHJlYWQpLiBTeW1i
b2wgaXMgdW5kZWZpbmVkLgogZXh0ZXJuIE5hbWVkQXNzZXJ0aW9uJiBtYWluVGhyZWFkOwotaW5s
aW5lIHZvaWQgYXNzZXJ0SXNNYWluVGhyZWFkKCkgV1RGX0FTU0VSVFNfQUNRVUlSRURfTE9DSyht
YWluVGhyZWFkKSB7IEFTU0VSVChpc01haW5UaHJlYWQoKSk7IH0KK2lubGluZSB2b2lkIGFzc2Vy
dElzTWFpblRocmVhZCgpIFdURl9BU1NFUlRTX0FDUVVJUkVEX0NBUEFCSUxJVFkobWFpblRocmVh
ZCkgeyBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOyB9CiAKLS8vIFRvIGJlIHVzZWQgd2l0aCBXVEZf
UkVRVUlSRVNfTE9DSyhtYWluUnVuTG9vcCkuIFN5bWJvbCBpcyB1bmRlZmluZWQuCisvLyBUbyBi
ZSB1c2VkIHdpdGggV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobWFpblJ1bkxvb3ApLiBTeW1ib2wg
aXMgdW5kZWZpbmVkLgogZXh0ZXJuIE5hbWVkQXNzZXJ0aW9uJiBtYWluUnVuTG9vcDsKLWlubGlu
ZSB2b2lkIGFzc2VydElzTWFpblJ1bkxvb3AoKSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9MT0NLKG1h
aW5SdW5Mb29wKSB7IEFTU0VSVChpc01haW5SdW5Mb29wKCkpOyB9CitpbmxpbmUgdm9pZCBhc3Nl
cnRJc01haW5SdW5Mb29wKCkgV1RGX0FTU0VSVFNfQUNRVUlSRURfQ0FQQUJJTElUWShtYWluUnVu
TG9vcCkgeyBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsgfQogCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1RocmVhZFNhZmV0eUFuYWx5c2lzLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRTYWZldHlBbmFseXNpcy5oCmluZGV4IDAzYWMxNWE5MzNlNzBmYzFhMWZmMDQ3OGYwYjk5M2Nl
MThkNDk3ZWMuLjYyMzU5ZTlhYjQ3OTI1ODQyNWU1ODVmMmEyMjczNjdlNDQ3NGM0NzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZFNhZmV0eUFuYWx5c2lzLmgKKysrIGIvU291cmNl
L1dURi93dGYvVGhyZWFkU2FmZXR5QW5hbHlzaXMuaApAQCAtMzUsMjEgKzM1LDM5IEBACiAjZGVm
aW5lIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoeCkKICNlbmRpZgogCi0jZGVmaW5l
IFdURl9BQ1FVSVJFU19MT0NLX0lGKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVU
RSh0cnlfYWNxdWlyZV9jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKLSNkZWZpbmUgV1RGX0FDUVVJ
UkVTX0xPQ0soLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGFjcXVpcmVfY2Fw
YWJpbGl0eShfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdURl9BQ1FVSVJFU19TSEFSRURfTE9DS19J
RiguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUodHJ5X2FjcXVpcmVfc2hhcmVk
X2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQotI2RlZmluZSBXVEZfQUNRVUlSRVNfU0hBUkVEX0xP
Q0soLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKGFjcXVpcmVfc2hhcmVkX2Nh
cGFiaWxpdHkoX19WQV9BUkdTX18pKQotI2RlZmluZSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9MT0NL
KHgpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoYXNzZXJ0X2NhcGFiaWxpdHkoeCkp
Ci0jZGVmaW5lIFdURl9BU1NFUlRTX0FDUVVJUkVEX1NIQVJFRF9MT0NLKHgpIFdURl9USFJFQURf
QU5OT1RBVElPTl9BVFRSSUJVVEUoYXNzZXJ0X3NoYXJlZF9jYXBhYmlsaXR5KHgpKQotI2RlZmlu
ZSBXVEZfQ0FQQUJJTElUWV9MT0NLIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoY2Fw
YWJpbGl0eSgibXV0ZXgiKSkKKyNkZWZpbmUgV1RGX0FDUVVJUkVTX0NBUEFCSUxJVFlfSUYoLi4u
KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHRyeV9hY3F1aXJlX2NhcGFiaWxpdHko
X19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZfQUNRVUlSRVNfQ0FQQUJJTElUWSguLi4pIFdURl9U
SFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoYWNxdWlyZV9jYXBhYmlsaXR5KF9fVkFfQVJHU19f
KSkKKyNkZWZpbmUgV1RGX0FDUVVJUkVTX1NIQVJFRF9DQVBBQklMSVRZX0lGKC4uLikgV1RGX1RI
UkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURSh0cnlfYWNxdWlyZV9zaGFyZWRfY2FwYWJpbGl0eShf
X1ZBX0FSR1NfXykpCisjZGVmaW5lIFdURl9BQ1FVSVJFU19TSEFSRURfQ0FQQUJJTElUWSguLi4p
IFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoYWNxdWlyZV9zaGFyZWRfY2FwYWJpbGl0
eShfX1ZBX0FSR1NfXykpCisjZGVmaW5lIFdURl9BU1NFUlRTX0FDUVVJUkVEX0NBUEFCSUxJVFko
eCkgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShhc3NlcnRfY2FwYWJpbGl0eSh4KSkK
KyNkZWZpbmUgV1RGX0FTU0VSVFNfQUNRVUlSRURfU0hBUkVEX0NBUEFCSUxJVFkoeCkgV1RGX1RI
UkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShhc3NlcnRfc2hhcmVkX2NhcGFiaWxpdHkoeCkpCisj
ZGVmaW5lIFdURl9DQVBBQklMSVRZKG5hbWUpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJV
VEUoY2FwYWJpbGl0eShuYW1lKSkKICNkZWZpbmUgV1RGX0NBUEFCSUxJVFlfU0NPUEVEX0xPQ0sg
V1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShzY29wZWRfbG9ja2FibGUpCi0jZGVmaW5l
IFdURl9FWENMVURFU19MT0NLKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShs
b2Nrc19leGNsdWRlZChfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdURl9HVUFSREVEX0JZX0xPQ0so
eCkgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShndWFyZGVkX2J5KHgpKQorI2RlZmlu
ZSBXVEZfRVhDTFVERVNfQ0FQQUJJTElUWSguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRS
SUJVVEUobG9ja3NfZXhjbHVkZWQoX19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKHgpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUoZ3VhcmRlZF9i
eSh4KSkKICNkZWZpbmUgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBXVEZfVEhS
RUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKG5vX3RocmVhZF9zYWZldHlfYW5hbHlzaXMpCi0jZGVm
aW5lIFdURl9QT0lOVEVFX0dVQVJERURfQllfTE9DSyh4KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05f
QVRUUklCVVRFKHB0X2d1YXJkZWRfYnkoeCkpCi0jZGVmaW5lIFdURl9SRUxFQVNFU19MT0NLX0dF
TkVSSUMoLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJlbGVhc2VfZ2VuZXJp
Y19jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKLSNkZWZpbmUgV1RGX1JFTEVBU0VTX0xPQ0soLi4u
KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJlbGVhc2VfY2FwYWJpbGl0eShfX1ZB
X0FSR1NfXykpCi0jZGVmaW5lIFdURl9SRUxFQVNFU19TSEFSRURfTE9DSyguLi4pIFdURl9USFJF
QURfQU5OT1RBVElPTl9BVFRSSUJVVEUocmVsZWFzZV9zaGFyZWRfY2FwYWJpbGl0eShfX1ZBX0FS
R1NfXykpCi0jZGVmaW5lIFdURl9SRVFVSVJFU19MT0NLKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFU
SU9OX0FUVFJJQlVURShyZXF1aXJlc19jYXBhYmlsaXR5KF9fVkFfQVJHU19fKSkKLSNkZWZpbmUg
V1RGX1JFUVVJUkVTX1NIQVJFRF9MT0NLKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJ
QlVURShyZXF1aXJlc19zaGFyZWRfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCi0jZGVmaW5lIFdU
Rl9SRVRVUk5TX0xPQ0soeCkgV1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShsb2NrX3Jl
dHVybmVkKHgpKQorI2RlZmluZSBXVEZfUE9JTlRFRV9HVUFSREVEX0JZX0NBUEFCSUxJVFkoeCkg
V1RGX1RIUkVBRF9BTk5PVEFUSU9OX0FUVFJJQlVURShwdF9ndWFyZGVkX2J5KHgpKQorI2RlZmlu
ZSBXVEZfUkVMRUFTRVNfR0VORVJJQ19DQVBBQklMSVRZKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFU
SU9OX0FUVFJJQlVURShyZWxlYXNlX2dlbmVyaWNfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCisj
ZGVmaW5lIFdURl9SRUxFQVNFU19DQVBBQklMSVRZKC4uLikgV1RGX1RIUkVBRF9BTk5PVEFUSU9O
X0FUVFJJQlVURShyZWxlYXNlX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZf
UkVMRUFTRVNfU0hBUkVEX0NBUEFCSUxJVFkoLi4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRU
UklCVVRFKHJlbGVhc2Vfc2hhcmVkX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQorI2RlZmluZSBX
VEZfUkVRVUlSRVNfQ0FQQUJJTElUWSguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJV
VEUocmVxdWlyZXNfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCisjZGVmaW5lIFdURl9SRVFVSVJF
U19TSEFSRURfQ0FQQUJJTElUWSguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUo
cmVxdWlyZXNfc2hhcmVkX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQorI2RlZmluZSBXVEZfUkVU
VVJOU19DQVBBQklMSVRZKHgpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUobG9ja19y
ZXR1cm5lZCh4KSkKKworLy8gVXNpbmcgV1RGX0NBUEFCSUxJVFlfTE9DSyBpcyBhIGNvbW1vbiB1
c2UtY2FzZS4gSW50cm9kdWNlIHRlcm1zIGNvbnRhaW5pbmcgIkxPQ0siIGZvciBtYXhpbXVtIHJl
YWRhYmlsaXR5LgorI2RlZmluZSBXVEZfQUNRVUlSRVNfTE9DS19JRiguLi4pIFdURl9BQ1FVSVJF
U19DQVBBQklMSVRZX0lGKF9fVkFfQVJHU19fKQorI2RlZmluZSBXVEZfQUNRVUlSRVNfTE9DSygu
Li4pICBXVEZfQUNRVUlSRVNfQ0FQQUJJTElUWShfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV1RGX0FD
UVVJUkVTX1NIQVJFRF9MT0NLX0lGKC4uLikgV1RGX0FDUVVJUkVTX1NIQVJFRF9DQVBBQklMSVRZ
X0lGKF9fVkFfQVJHU19fKQorI2RlZmluZSBXVEZfQUNRVUlSRVNfU0hBUkVEX0xPQ0soLi4uKSBX
VEZfQUNRVUlSRVNfU0hBUkVEX0NBUEFCSUxJVFkoX19WQV9BUkdTX18pCisjZGVmaW5lIFdURl9B
U1NFUlRTX0FDUVVJUkVEX0xPQ0soeCkgV1RGX0FTU0VSVFNfQUNRVUlSRURfQ0FQQUJJTElUWSh4
KQorI2RlZmluZSBXVEZfQVNTRVJUU19BQ1FVSVJFRF9TSEFSRURfTE9DSyh4KSBXVEZfQVNTRVJU
U19BQ1FVSVJFRF9TSEFSRURfQ0FQQUJJTElUWSh4KQorI2RlZmluZSBXVEZfQ0FQQUJJTElUWV9M
T0NLIFdURl9DQVBBQklMSVRZKCJsb2NrIikKKyNkZWZpbmUgV1RGX0VYQ0xVREVTX0xPQ0soLi4u
KSBXVEZfRVhDTFVERVNfQ0FQQUJJTElUWShfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV1RGX0dVQVJE
RURfQllfTE9DSyh4KSBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKHgpCisjZGVmaW5lIFdURl9Q
T0lOVEVFX0dVQVJERURfQllfTE9DSyh4KSBXVEZfUE9JTlRFRV9HVUFSREVEX0JZX0NBUEFCSUxJ
VFkoeCkKKyNkZWZpbmUgV1RGX1JFTEVBU0VTX0dFTkVSSUNfTE9DSyguLi4pIFdURl9SRUxFQVNF
U19HRU5FUklDX0NBUEFCSUxJVFkoX19WQV9BUkdTX18pCisjZGVmaW5lIFdURl9SRUxFQVNFU19M
T0NLKC4uLikgV1RGX1JFTEVBU0VTX0NBUEFCSUxJVFkoX19WQV9BUkdTX18pCisjZGVmaW5lIFdU
Rl9SRUxFQVNFU19TSEFSRURfTE9DSyguLi4pIFdURl9SRUxFQVNFU19TSEFSRURfQ0FQQUJJTElU
WShfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV1RGX1JFUVVJUkVTX0xPQ0soLi4uKSBXVEZfUkVRVUlS
RVNfQ0FQQUJJTElUWShfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV1RGX1JFUVVJUkVTX1NIQVJFRF9M
T0NLKC4uLikgV1RGX1JFUVVJUkVTX1NIQVJFRF9DQVBBQklMSVRZKF9fVkFfQVJHU19fKQorI2Rl
ZmluZSBXVEZfUkVUVVJOU19MT0NLKHgpIFdURl9SRVRVUk5TX0NBUEFCSUxJVFkoeCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0Nv
bnRleHRHTC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmgKaW5kZXggMjNlOWE3Y2I0MmZjNDk5MGNhMmU4NmEwMDc0OTJmZDhiYTRk
OTNhMy4uYTUwNTIyNWNjNTg5ZmQ5YTA2YTU2YzNkOWExZjFmNjQwZDkwNjMwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4
dEdMLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBo
aWNzQ29udGV4dEdMLmgKQEAgLTE0MCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdXNpbmcg
R0NHTENvbnRleHQgPSBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI7CiAj
ZW5kaWYKICAgICAKLSAgICBSZWZQdHI8R0NHTENvbnRleHQ+IG1fY29udGV4dCBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fc3RyZWFtVGhyZWFkKTsKKyAgICBSZWZQdHI8R0NHTENvbnRleHQ+IG1fY29u
dGV4dCBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc3RyZWFtVGhyZWFkKTsKICAgICBHcmFw
aGljc0NvbnRleHRHTElkZW50aWZpZXIgbV9ncmFwaGljc0NvbnRleHRHTElkZW50aWZpZXI7CiAg
ICAgUmVmPFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ+IG1fcmVuZGVyaW5nQmFja2VuZDsKICNpZiBF
TkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCBjMDljMTA1NmZiODMxN2Q0NjMw
OTFkNzdiNDI2YTQ5Y2Q2YmI3ZTViLi44MzJiZTg5ZGVlZjRmNzlhMDRmNTUxOTNhNjY5NzM5NDA2
MmQ3OTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVt
b3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwcml2YXRl
OgogCiAgICAgTG9jayBtX3JlbW90ZURpc3BsYXlMaXN0c0xvY2s7CiAgICAgYm9vbCBtX2NhblJl
Z2lzdGVyUmVtb3RlRGlzcGxheUxpc3RzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZW1vdGVEaXNw
bGF5TGlzdHNMb2NrKSB7IGZhbHNlIH07Ci0gICAgSGFzaE1hcDxRdWFsaWZpZWRSZW5kZXJpbmdS
ZXNvdXJjZUlkZW50aWZpZXIsIFJlZjxSZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyPj4gbV9yZW1v
dGVEaXNwbGF5TGlzdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlbW90ZURpc3BsYXlMaXN0c0xv
Y2spOworICAgIEhhc2hNYXA8UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBS
ZWY8UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcj4+IG1fcmVtb3RlRGlzcGxheUxpc3RzIFdURl9H
VUFSREVEX0JZX0NBUEFCSUxJVFkobV9yZW1vdGVEaXNwbGF5TGlzdHNMb2NrKTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFUuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVLmgKaW5kZXggNTNhODY3NWNkMTlhZTM3MDNlOThhMjVh
M2MzNzIxYjQ3YTJkNTI0NS4uYzAyMTJmMDE1MGM0NDU1MjM1MmNlMGEzYzRjZjZmYmRkMDJhNGJh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1dlYkdQVS9S
ZW1vdGVHUFUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvV2ViR1BV
L1JlbW90ZUdQVS5oCkBAIC0xMzgsOCArMTM4LDggQEAgcHJpdmF0ZToKICAgICBXZWFrUHRyPEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKICAg
ICBSZWY8SVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlPiBtX3dvcmtRdWV1ZTsKICAgICBS
ZWZQdHI8SVBDOjpTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uPiBtX3N0cmVhbUNvbm5lY3Rpb247Ci0g
ICAgUmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IG1fYmFja2luZyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fc3RyZWFtVGhyZWFkKTsKLSAgICBSZWY8V2ViR1BVOjpPYmplY3RIZWFwPiBtX29iamVjdEhl
YXAgV1RGX0dVQVJERURfQllfTE9DSyhtX3N0cmVhbVRocmVhZCk7CisgICAgUmVmUHRyPFBBTDo6
V2ViR1BVOjpHUFU+IG1fYmFja2luZyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fc3RyZWFt
VGhyZWFkKTsKKyAgICBSZWY8V2ViR1BVOjpPYmplY3RIZWFwPiBtX29iamVjdEhlYXAgV1RGX0dV
QVJERURfQllfQ0FQQUJJTElUWShtX3N0cmVhbVRocmVhZCk7CiAgICAgY29uc3QgV2ViR1BVSWRl
bnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgUmVmPFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ+IG1f
cmVuZGVyaW5nQmFja2VuZDsKICAgICBOT19VTklRVUVfQUREUkVTUyBUaHJlYWRBc3NlcnRpb24g
bV9zdHJlYW1UaHJlYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCmluZGV4IDBkMTRjYTE2NWIwZGEw
OGQxNTRlMmYwYmVmZmRlZmI0OTE5ODVlNmIuLjE2MmE5NDI4MjlhNTlkZTRiYzI3MjgzMjIxMmQz
NDY4ZGU1NTRlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVWaWRlb0ZyYW1lT2JqZWN0SGVhcC5oCkBAIC02NCw3ICs2NCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBnZXRWaWRlb0ZyYW1lQnVmZmVyKFJlbW90ZVZpZGVvRnJhbWVSZWFk
UmVmZXJlbmNlJiYpOwogI2VuZGlmCiAKLSAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBt
X2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgV1RGX0dVQVJERURfQllfTE9DSyhtX2NvbnN1bWVU
aHJlYWQpOworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIG1fZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2VzcyBXVEZfR1VBUkRFRF9CWV9DQVBBQklMSVRZKG1fY29uc3VtZVRocmVhZCk7CiAg
ICAgY29uc3QgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIFRocmVhZEFz
c2VydGlvbiBtX2NvbnN1bWVUaHJlYWQgTk9fVU5JUVVFX0FERFJFU1M7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCA4MDJjOTBmZTllYjY2
NGJhOTMyMWQ3YThiZGU1ZDk4NGY0MDNmMWRiLi5hMTNkOGM2NGIwNDFiZDMyMTVlYWY1NTBmZjkx
MTUxNGMxNDMxYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTkwLDcg
KzkwLDcgQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXI6OkNsaWVudAogICAgIHZvaWQgc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyU3RhdHVzRGlkRmFp
bCgpIGZpbmFsOwogCi0gICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0
aW9uIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jb25zdW1lVGhyZWFkKTsKKyAgICBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb24gV1RGX0dVQVJERURfQllfQ0FQQUJJTElU
WShtX2NvbnN1bWVUaHJlYWQpOwogICAgIFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcklkZW50aWZp
ZXIgbV9pZGVudGlmaWVyOwogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVD4gbV9p
bWFnZVRyYW5zZmVyU2Vzc2lvbjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAxMTA1MTY0ZWVhODhhMGY5ZDA1MmFkZjg0MTExMzk2ZjA3MjY4NmU5
Li5iZmIzZWY1NzgyZGE2Mjk0OGI5MWIwNmY0M2JlMmVlMTg2MWQyZjY4IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjItMDItMjIgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBUaHJlYWQgc2FmZXR5IGFuYWx5c2lzIG1hY3JvcyBhcmUgY29uZnVzaW5nIGZvciBub24tTG9j
ayB1c2UtY2FzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNzAyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHk6CisgICAgICAgIChj
aGVja19pZGVudGlmaWVyX25hbWVfaW5fZGVjbGFyYXRpb24pOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1RocmVhZEFzc2VydGlvbnNUZXN0LmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OldURl9SRVFVSVJFU19DQVBBQklMSVRZKToKKwogMjAyMi0wMi0yMSAgQnJhbmRv
biBTdGV3YXJ0ICA8YnJhbmRvbnN0ZXdhcnRAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBBcmd1
bWVudFBhcnNlciBmb3IgcGFyc2luZyBhcmdzIGluIGdlbmVyYXRlLWNvbXBpbGUtY29tbWFuZHMK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKaW5kZXggMzBk
YjA5ZDJhZDAxMjYyMzRmYzJjMjI4OGUzMDE3NGVkNmI2NGNlYS4uM2M1YThiMGNiN2E0YTc5MGQ2
NjdlMTYzZWY1YzgzMmJhY2RjYjk3ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jcHAucHkKQEAgLTQxNjMsNiArNDE2Myw3IEBAIGRlZiBjaGVja19pZGVudGlm
aWVyX25hbWVfaW5fZGVjbGFyYXRpb24oZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCBsaW5lLCBmaWxl
X3N0YXRlCiAgICAgICAgICAgICAgICAgYW5kIG5vdCBtb2RpZmllZF9pZGVudGlmaWVyID09ICJE
RkdfT1BFUkFUSU9OIgogICAgICAgICAgICAgICAgIGFuZCBub3QgbW9kaWZpZWRfaWRlbnRpZmll
ciA9PSAiTE9HX0NIQU5ORUwiCiAgICAgICAgICAgICAgICAgYW5kIG5vdCBtb2RpZmllZF9pZGVu
dGlmaWVyID09ICJXVEZfR1VBUkRFRF9CWV9MT0NLIgorICAgICAgICAgICAgICAgIGFuZCBub3Qg
bW9kaWZpZWRfaWRlbnRpZmllciA9PSAiV1RGX0dVQVJERURfQllfQ0FQQUJJTElUWSIKICAgICAg
ICAgICAgICAgICBhbmQgbm90IG1vZGlmaWVkX2lkZW50aWZpZXIuZmluZCgnY2hyb25vX2xpdGVy
YWxzJykgPj0gMCk6CiAgICAgICAgICAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICdyZWFkYWJp
bGl0eS9uYW1pbmcvdW5kZXJzY29yZXMnLCA0LCBpZGVudGlmaWVyICsgIiBpcyBpbmNvcnJlY3Rs
eSBuYW1lZC4gRG9uJ3QgdXNlIHVuZGVyc2NvcmVzIGluIHlvdXIgaWRlbnRpZmllciBuYW1lcy4i
KQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9UaHJlYWRBc3Nl
cnRpb25zVGVzdC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9UaHJlYWRBc3Nl
cnRpb25zVGVzdC5jcHAKaW5kZXggMDc0OWQ2ZjYyZDY0OTRjNmUyODA2NTU2ODU5MDgyODE3Yjhh
N2MwMC4uNmI4MjI2NDE3Mzc0NTgyYzNjZGNjNWIwYTI4ZGZmOWFmMmI0MjFmMCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1RocmVhZEFzc2VydGlvbnNUZXN0
LmNwcApAQCAtNDYsOCArNDYsOCBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
aW50IGRvVGFza0NvbXBpbGVGYWlsdXJlKFQgbikgeyByZXR1cm4gZG9UYXNrSW1wbChuKTsgfQog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWNjZXNzVmFyaWFibGVDb21waWxlRmFpbHVy
ZShUIG4pIHsgbV92YWx1ZSA9IG47IH0KIHByaXZhdGU6Ci0gICAgaW50IGRvVGFza0ltcGwoaW50
IG4pIFdURl9SRVFVSVJFU19MT0NLKG1fb3duZXJUaHJlYWQpIHsgcmV0dXJuIG4gKyAxOyB9Ci0g
ICAgaW50IG1fdmFsdWUgV1RGX0dVQVJERURfQllfTE9DSyhtX293bmVyVGhyZWFkKSB7IDAgfTsK
KyAgICBpbnQgZG9UYXNrSW1wbChpbnQgbikgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobV9vd25l
clRocmVhZCkgeyByZXR1cm4gbiArIDE7IH0KKyAgICBpbnQgbV92YWx1ZSBXVEZfR1VBUkRFRF9C
WV9DQVBBQklMSVRZKG1fb3duZXJUaHJlYWQpIHsgMCB9OwogICAgIE5PX1VOSVFVRV9BRERSRVNT
IFRocmVhZEFzc2VydGlvbiBtX293bmVyVGhyZWFkOwogfTsKIH0KQEAgLTY0LDcgKzY0LDcgQEAg
VEVTVChXVEZfVGhyZWFkQXNzZXJ0aW9ucywgVGVzdFRocmVhZEFzc2VydGlvbikKICAgICAvLyBp
bnN0YW5jZS5hY2Nlc3NWYXJpYWJsZUNvbXBpbGVGYWlsdXJlKDEwKTsKIH0KIAotc3RhdGljIGlu
dCB0ZXN0TWFpblRocmVhZEZ1bmN0aW9uKCkgV1RGX1JFUVVJUkVTX0xPQ0sobWFpblRocmVhZCkg
eyByZXR1cm4gMTE7IH0KK3N0YXRpYyBpbnQgdGVzdE1haW5UaHJlYWRGdW5jdGlvbigpIFdURl9S
RVFVSVJFU19DQVBBQklMSVRZKG1haW5UaHJlYWQpIHsgcmV0dXJuIDExOyB9CiAKIFRFU1QoV1RG
X1RocmVhZEFzc2VydGlvbnMsIFRlc3RNYWluVGhyZWFkTmFtZWRBc3NlcnRpb24pCiB7CkBAIC03
NSw3ICs3NSw3IEBAIFRFU1QoV1RGX1RocmVhZEFzc2VydGlvbnMsIFRlc3RNYWluVGhyZWFkTmFt
ZWRBc3NlcnRpb24pCiAgICAgRVhQRUNUX0VRKDExLCB0ZXN0TWFpblRocmVhZEZ1bmN0aW9uKCkp
OwogfQogCi1zdGF0aWMgaW50IHRlc3RNYWluUnVuTG9vcEZ1bmN0aW9uKCkgV1RGX1JFUVVJUkVT
X0xPQ0sobWFpblJ1bkxvb3ApIHsgcmV0dXJuIDEyOyB9CitzdGF0aWMgaW50IHRlc3RNYWluUnVu
TG9vcEZ1bmN0aW9uKCkgV1RGX1JFUVVJUkVTX0NBUEFCSUxJVFkobWFpblJ1bkxvb3ApIHsgcmV0
dXJuIDEyOyB9CiAKIFRFU1QoV1RGX1RocmVhZEFzc2VydGlvbnMsIFRlc3RNYWluUnVuTG9vcE5h
bWVkQXNzZXJ0aW9uKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>