<?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>233360</bug_id>
          
          <creation_ts>2021-11-19 04:48:01 -0800</creation_ts>
          <short_desc>Network process does not seem to initialize logging</short_desc>
          <delta_ts>2022-03-01 00:35:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=237311</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>heycam</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816804</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-19 04:48:01 -0800</bug_when>
    <thetext>Network process does not seem to initialize logging
 
Tools/Scripts/run-minibrowser --debug -WebKit2Logging IPCMessages does not seem to print IPC logging for network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817943</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-26 04:48:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/85765854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819624</commentid>
    <comment_count>2</comment_count>
      <attachid>445693</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-02 01:44:03 -0800</bug_when>
    <thetext>Created attachment 445693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819626</commentid>
    <comment_count>3</comment_count>
      <attachid>445694</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-02 01:48:38 -0800</bug_when>
    <thetext>Created attachment 445694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820004</commentid>
    <comment_count>4</comment_count>
      <attachid>445694</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-12-02 20:15:12 -0800</bug_when>
    <thetext>Comment on attachment 445694
Patch

Because GTK, WPE and Windows ports are using env vars for logging settings, they don&apos;t need this change. However, I think this is a good idea. LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820042</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-03 00:06:18 -0800</bug_when>
    <thetext>Committed r286484 (244823@main): &lt;https://commits.webkit.org/244823@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445694.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845889</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-02-24 20:00:05 -0800</bug_when>
    <thetext>This change broke the ability to set logging channel levels through NSUserDefaults.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845892</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-02-24 20:02:47 -0800</bug_when>
    <thetext>In r227822, we showed that logLevelString() returns the empty string for release builds. This patch undid that change, and returned the previous behavior of effectively disabling all non-error logging in release builds, affecting our ability to collect debug logs with a NSUserDefaults change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445693</attachid>
            <date>2021-12-02 01:44:03 -0800</date>
            <delta_ts>2021-12-02 01:48:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233360-20211202114401.patch</filename>
            <type>text/plain</type>
            <size>41869</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M1MWI1NGFjOTFhM2U1
OWM0NTM2NDU2MTU3ZTRmZWNmNjA5Yjk0NC4uOTBmY2NlN2Y2NzNhZGE4YTY3ZmYwNWY3M2NmZjg0
YWVkOGYxYTE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTEyLTAyICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29yayBwcm9j
ZXNzIGRvZXMgbm90IHNlZW0gdG8gaW5pdGlhbGl6ZSBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzNjAKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzg1NzY1ODU0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEV4cG9ydCBXZWJDb3JlOjpsb2dMZXZlbFN0cmluZygpLCBpdCdzIHRoZSBjYW5v
bmljYWwKKyAgICAgICAgbWV0aG9kIHRvIG9idGFpbiBXZWJDb3JlIGxvZyBjb25maWd1cmF0aW9u
IHN0cmluZy4KKyAgICAgICAgSXQncyBhbHJlYWR5IHVzZWQgaW4gV2ViS2l0LCBidXQgbm90IG9u
IENvY29hIHBsYXRmb3JtCisgICAgICAgIHdoZXJlIHRoZSBleHBvcnQgbWF0dGVycy4KKworICAg
ICAgICAqIHBsYXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmg6CisKIDIwMjEtMTEtMzAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFByZWxvYWQgbmF2aWdhdGlv
biByZXF1ZXN0IGlmIHRoZSBzZXJ2aWNlIHdvcmtlciBpcyBub3QgaW1tZWRpYXRlbHkgcmVhZHkg
dG8gaGFuZGxlIHRoZSBuYXZpZ2F0aW9uIHJlcXVlc3QgZmV0Y2ggZXZlbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ZDE4MTU3OWM3YmE2ZDNiNWFmMGE5ZDVhMzIwNmM2NmQ5YzIzOTAyZC4uYjQ4NTg0MDljZjJlNDU1
YzcyMGRjYzNkNjgwMmE2ZDdkNTJmOWZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAorMjAy
MS0xMi0wMiAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAg
IE5ldHdvcmsgcHJvY2VzcyBkb2VzIG5vdCBzZWVtIHRvIGluaXRpYWxpemUgbG9nZ2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzYwCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84NTc2NTg1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIEdQVVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MgcHJv
Y2VzcyBjcmVhdGlvbiBhcmd1bWVudHMKKyAgICAgICAgcmVsYXRlZCB0byBsb2dnaW5nIHN0cmlu
Z3MgdG8gbmV3IEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuCisgICAgICAgIFVz
ZSB0aGlzIGluIGFsbCBhdXhpbGlhcnkgcHJvY2Vzc2VzIEdQVVByb2Nlc3MsIFdlYlByb2Nlc3Ms
CisgICAgICAgIEF1dGhuUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCisKKyAgICAgICAgVXNl
IHRoZSBjYW5vbmljYWwgV1RGOjpsb2dMZXZlbFN0cmluZygpLCBXZWJDb3JlOjpsb2dMZXZlbFN0
cmluZygpLAorICAgICAgICBXZWJLaXQ6OmxvZ0xldmVsU3RyaW5nKCkgdG8gaW5pdGlhbGl6ZSBD
b2NvYSBXZWJLaXQyIGxvZ2dpbmcgc2V0dGluZ3MKKyAgICAgICAgZm9yIHByb2Nlc3MgY3JlYXRp
b24gYXJndW1lbnRzLgorCisgICAgICAgIEZpeGVzIGJ1Z3Mgd2hlcmUKKyAgICAgICAgIFRvb2xz
L1NjcmlwdHMvcnVuLW1pbmlicm93c2VyIC0tZGVidWcgLVdlYktpdDJMb2dnaW5nIElQQ01lc3Nh
Z2VzCisgICAgICAgIHdvdWxkIG5vdCBwcmludCBJUENNZXNzYWdlcyBsb2dnaW5nIGZvciBOZXR3
b3JrUHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRl
Y29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3M6OmFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBT
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAuCisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFy
eVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9X
ZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmguCisgICAg
ICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJv
Y2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFs
aXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnNlbmRDcmVh
dGlvblBhcmFtZXRlcnNUb05ld1Byb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkF1dGhuUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFs
aXplTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVdl
YkF1dGhuUHJvY2Vzcyk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
QXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFdlYkF1
dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9wbGF5
c3RhdGlvbi9XZWJQcm9jZXNzUGxheVN0YXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMS0xMS0zMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUHJlbG9hZCBuYXZpZ2F0
aW9uIHJlcXVlc3QgaWYgdGhlIHNlcnZpY2Ugd29ya2VyIGlzIG5vdCBpbW1lZGlhdGVseSByZWFk
eSB0byBoYW5kbGUgdGhlIG5hdmlnYXRpb24gcmVxdWVzdCBmZXRjaCBldmVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmgKaW5kZXggNDBkYTkzMDYzYzFmOTZh
MzE2MDE1NGM1ZjY2MGFmYzIxZjE2MjFmYy4uNjJmNmI3MTA5NTg2MGYwMThkNzU2NWFlMzY5NTM2
NzA1YzViYzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nSW5pdGlh
bGl6YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dJbml0aWFsaXphdGlv
bi5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiAhTE9HX0RJU0FC
TEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCiBXRUJDT1JFX0VYUE9SVCBXVEY6OkxvZ0No
YW5uZWxzJiBsb2dDaGFubmVscygpOwotU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCk7CitXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKIAogI2VuZGlmIC8vICFMT0dfRElTQUJM
RUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmNwcAppbmRleCBjMDc2ZGU0ZjhhMGFkMjliYjQyNTczMzE4NTViMGM2OTcwMTVkODQ4
Li43NjUzOWRkOTZhNTk1Njc1ZjRkZWNiNDY0MjhkNjFiNDBlZTc1YTI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0yMTEsNiArMjExLDcgQEAgdm9pZCBHUFVQ
cm9jZXNzOjpsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2FsLCBTeW5jaHJvbm91cyBz
eW5jaHJvbm91cykKIAogdm9pZCBHUFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKKyAgICBhcHBseVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMocGFyYW1ldGVycy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVy
cyk7CiAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gR1BVUHJvY2Vzczo6aW5pdGlhbGl6
ZUdQVVByb2Nlc3M6IiwgdGhpcyk7CiAgICAgV1RGOjpUaHJlYWQ6OnNldEN1cnJlbnRUaHJlYWRJ
c1VzZXJJbml0aWF0ZWQoKTsKICAgICBBdG9tU3RyaW5nOjppbml0KCk7CkBAIC0yNDcsMTIgKzI0
OCw2IEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BVUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgQ0dJbWFnZVNvdXJjZVNldEFsbG93
YWJsZVR5cGVzKGVtcHR5QXJyYXkuZ2V0KCkpOwogI2VuZGlmCiAKLSNpZiAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFs
aXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyk7
Ci0gICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vz
c2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwotICAgIFdlYktpdDo6bG9n
Q2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndl
YktpdExvZ2dpbmdDaGFubmVscyk7Ci0jZW5kaWYKLQogICAgIG1fYXBwbGljYXRpb25WaXNpYmxl
TmFtZSA9IFdURk1vdmUocGFyYW1ldGVycy5hcHBsaWNhdGlvblZpc2libGVOYW1lKTsKIAogICAg
IC8vIE1hdGNoIHRoZSBRb1Mgb2YgdGhlIFVJUHJvY2VzcyBzaW5jZSB0aGUgR1BVIHByb2Nlc3Mg
aXMgZG9pbmcgcmVuZGVyaW5nIG9uIGl0cyBiZWhhbGYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXgg
YzRlOWRkNDI3ZDkzZGExNDI1NWEzMDRmN2UzYmE2NDJhMDU1NmI2ZC4uYWZhYjg3MjE0MjQyMGY1
MmI5OTJkZmFmMTI3NzI5ZDAyNDc2ZDhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNDEsNiAr
NDEsNyBAQCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpHUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzKCkgPSBkZWZhdWx0OwogCiB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CisgICAgZW5jb2RlciA8
PCBhdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVyczsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
ICAgIGVuY29kZXIgPDwgdXNlTW9ja0NhcHR1cmVEZXZpY2VzOwogI2lmIFBMQVRGT1JNKE1BQykK
QEAgLTU5LDE1ICs2MCwxMyBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBkeW5hbWlj
TWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAotICAgIGVuY29kZXIgPDwgd3RmTG9nZ2lu
Z0NoYW5uZWxzOwotICAgIGVuY29kZXIgPDwgd2ViQ29yZUxvZ2dpbmdDaGFubmVsczsKLSAgICBl
bmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFubmVsczsKLQogICAgIGVuY29kZXIgPDwgYXBwbGlj
YXRpb25WaXNpYmxlTmFtZTsKIH0KIAogYm9vbCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJiByZXN1bHQpCiB7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYXV4aWxpYXJ5
UHJvY2Vzc1BhcmFtZXRlcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC51c2VNb2NrQ2FwdHVy
ZURldmljZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMTIsMTMgKzExMSw2IEBAIGJv
b2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlciwgR1BVUHJvY2Vzc0NyZWF0CiAgICAgcmVzdWx0LmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFu
ZGxlcyA9IFdURk1vdmUoKmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlcyk7CiAjZW5kaWYKIAot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lnd0ZkxvZ2dpbmdDaGFubmVscykpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJDb3Jl
TG9nZ2luZ0NoYW5uZWxzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LndlYktpdExvZ2dpbmdDaGFubmVscykpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFwcGxpY2F0aW9uVmlzaWJs
ZU5hbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGM5YzFl
YmU5YmY2YThiMjcwNDk4MWFlZWQ4NjNkYWJjOWJiMWQxYzQuLmVlOGU5YmZlODk2NDY2YmRjNDQ3
N2VjODQ2YTE1Yjg5MjQ2ZTFkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjcsOCArMjcsMTAgQEAK
IAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5j
bHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgorCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNzIERlY29kZXI7
CiBjbGFzcyBFbmNvZGVyOwpAQCAtMzksNiArNDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIHN0
cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBHUFVQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzKCk7CiAKKyAgICBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IGF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgYm9vbCB1c2VNb2NrQ2FwdHVyZURldmljZXMgeyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKE1B
QykKQEAgLTU3LDEwICs2MCw2IEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBkeW5hbWljTWFjaEV4dGVu
c2lvbkhhbmRsZXM7CiAjZW5kaWYKIAotICAgIFN0cmluZyB3dGZMb2dnaW5nQ2hhbm5lbHM7Ci0g
ICAgU3RyaW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7Ci0gICAgU3RyaW5nIHdlYktpdExvZ2dp
bmdDaGFubmVsczsKLQogICAgIFN0cmluZyBhcHBsaWNhdGlvblZpc2libGVOYW1lOwogCiAgICAg
dm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDY2NmJjYzFiMjFiOTVkMDg5MmIy
ZjIzZmRjMTI5ZmJhZTYxZmUzMjEuLjk3OGNmNTZhY2ZkZGJmNGFmYzI3OGM1MmM0MzdhMzRjOGQ1
NzU1MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCkBAIC0zMjMsNiArMzIzLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6bG93TWVtb3J5
SGFuZGxlcihDcml0aWNhbCBjcml0aWNhbCkKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlh
bGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFy
YW1ldGVycykKIHsKKyAgICBhcHBseVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMocGFyYW1ldGVy
cy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycyk7CiAjaWYgSEFWRShTRUNfS0VZX1BST1hZKQog
ICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoeyBQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzIH0pOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
aW5kZXggMDIxYjk4MjkxMWE1MjA2ZjQ3NGY1MmJiY2Y2ODgxYjFhNTM4MDMyNy4uYTdjZDkwZTdj
MjJmZGEzZWJkMTRjNmNiNmQ4YzA0YWRiZWE1Y2IzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpvcGVyYXRvcj0oTmUKIAog
dm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVyIDw8IGF1eGlsaWFyeVByb2Nlc3NQYXJh
bWV0ZXJzOwogICAgIGVuY29kZXIgPDwgY2FjaGVNb2RlbDsKICNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGVuY29kZXIgPDwgdWlQcm9jZXNzQ29va2llU3Rv
cmFnZUlkZW50aWZpZXI7CkBAIC03Nyw2ICs3OCw5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIGJv
b2wgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCiB7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5jYWNoZU1vZGVsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKaW5kZXggMzVhNWZjZTc4YjUwNWQzNDYwNjFjY2VhNmFjYWI5ZjE0ZjE4ZjI0
Yy4uOWExNzEzN2NmZTBkZmY3YzFkNDcwZjYxODdkMDBhOGZmZjU5YzU4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAor
I2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRl
ICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ29va2llLmg+CkBAIC01NSw2ICs1Niw4IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29u
c3Q7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6OkRlY29k
ZXImLCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogCisgICAgQXV4aWxpYXJ5
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBhdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVyczsKKwog
ICAgIENhY2hlTW9kZWwgY2FjaGVNb2RlbCB7IENhY2hlTW9kZWw6OkRvY3VtZW50Vmlld2VyIH07
CiAKICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCA3YTU5NzY2MWUyZjk5ZmVjZmMx
NmRmMjk3NDI0NDEyZGQ3MWM2NjlhLi5jYWY0MmYzYjIzYTE0ZTVlZDBiZTRhZmVlMDA5MWUxYTQ4
MjQ5MWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVBy
b2Nlc3MuaCIKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKICNpbmNsdWRlICJDb250ZW50V29ybGRTaGFyZWQuaCIKICNpbmNsdWRlICJMb2dJbml0aWFs
aXphdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTI0NSw2ICsyNDYsMTUgQEAgc3Rk
OjpvcHRpb25hbDxzdGQ6OnBhaXI8SVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBJUEM6OkF0
dGFjaG1lbnQ+PiBBdXhpbGlhcnkKICNlbmRpZgogfQogCit2b2lkIEF1eGlsaWFyeVByb2Nlc3M6
OmFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RGOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dD
aGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzKTsKKyAgICBX
ZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBh
cmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyk7CisgICAgV2ViS2l0Ojpsb2dDaGFubmVs
cygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0TG9n
Z2luZ0NoYW5uZWxzKTsKKyNlbmRpZgorfQorCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogdm9pZCBB
dXhpbGlhcnlQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlh
cnlQcm9jZXNzLmgKaW5kZXggMjA5NzhlYzNjODg1MDEwODdmNWM5NTRjYzhhMGFjNzk2ZWVjYTNh
Ni4uNzc0NTRhZGZkMzE5OTYwZGFjYjg0ZjFlY2E0OWU2ZjQ2NDg2M2Q5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaApAQCAtNDYsNiArNDYsNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVyczsKIHN0cnVj
dCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzOworc3RydWN0IEF1eGls
aWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIEF1eGlsaWFyeVByb2Nlc3Mg
OiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5k
ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1eGlsaWFyeVByb2Nlc3MpOwpAQCAtMTQz
LDYgKzE0NCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlUHJlZmVyZW5j
ZUNoYW5nZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBrZXksIGlkIHZhbHVl
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hTaW11bGF0ZWROb3RpZmljYXRpb25zRm9yUHJl
ZmVyZW5jZUNoYW5nZShjb25zdCBTdHJpbmcmIGtleSkgeyB9CiAjZW5kaWYKKyAgICB2b2lkIGFw
cGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHNob3VsZE92ZXJy
aWRlUXVhcmFudGluZSgpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTQ1Y2VhMTliYTdlM2M5ZDIxOTFmZGEyYWZhZWJkZDFmOTdlNmFiZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IgorCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0F1eGlsaWFyeVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMoKSA9IGRl
ZmF1bHQ7CisKK3ZvaWQgQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
KElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHd0ZkxvZ2dp
bmdDaGFubmVsczsKKyAgICBlbmNvZGVyIDw8IHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CisgICAg
ZW5jb2RlciA8PCB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7Cit9CisKK2Jvb2wgQXV4aWxpYXJ5UHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQXV4
aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0KQoreworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0Lnd0ZkxvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJDb3JlTG9nZ2luZ0NoYW5u
ZWxzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LndlYktpdExvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4
aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
QXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyODVmMTQ0
MGJhMzJiNzVjNTc0MzZmODc2YzM0OWVkMzYxZGI4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAg
LTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBEZWNvZGVy
OworY2xhc3MgRW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFBhcmFtZXRl
cnMgdGhhdCBhcmUgc2VudCB0byB0aGUgcHJvY2VzcyBvYmplY3QgYXMgdGhlIGZpcnN0IG1lc3Nh
Z2UgYWZ0ZXIgcHJvY2VzcyBoYXMgc3RhcnRlZC4KK3N0cnVjdCBBdXhpbGlhcnlQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKKyAgICBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
KCk7CisKKyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxzOworICAgIFN0cmluZyB3ZWJDb3Jl
TG9nZ2luZ0NoYW5uZWxzOworICAgIFN0cmluZyB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7CisKKyAg
ICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0aWMgV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEF1eGlsaWFyeVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApp
bmRleCA2Yzk1NWQxZTAyYjk4Y2MzOWEwNGE4Y2NjMjhlYmI0YTQ5MTQxOWRjLi40OTVkYTA2ZDQ1
OTIwOTQyMDQ1ZWYyOGMxNTAzZmFiYzZjYWQ0YTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNDcsNiArNDcs
NyBAQCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjp+V2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycygpCiAKIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVyIDw8IGF1eGlsaWFyeVBy
b2Nlc3NQYXJhbWV0ZXJzOwogICAgIGVuY29kZXIgPDwgaW5qZWN0ZWRCdW5kbGVQYXRoOwogICAg
IGVuY29kZXIgPDwgaW5qZWN0ZWRCdW5kbGVQYXRoRXh0ZW5zaW9uSGFuZGxlOwogICAgIGVuY29k
ZXIgPDwgYWRkaXRpb25hbFNhbmRib3hFeHRlbnNpb25IYW5kbGVzOwpAQCAtNTksOSArNjAsNiBA
QCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogICAgIGVuY29kZXIgPDwgZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yRXh0ZW5zaW9u
SGFuZGxlOwogI2VuZGlmCi0gICAgZW5jb2RlciA8PCB3dGZMb2dnaW5nQ2hhbm5lbHM7Ci0gICAg
ZW5jb2RlciA8PCB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwotICAgIGVuY29kZXIgPDwgd2ViS2l0
TG9nZ2luZ0NoYW5uZWxzOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgZW5jb2RlciA8
PCBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKQEAgLTIyNyw2ICsyMjUsOCBA
QCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAKIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuYXV4aWxp
YXJ5UHJvY2Vzc1BhcmFtZXRlcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0aCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAKQEAgLTI3MiwxNiArMjcyLDcgQEAgYm9vbCBXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNz
Q3JlYXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRlcnMuZW5hYmxlUmVtb3Rl
V2ViSW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZW5hYmxlUmVtb3RlV2ViSW5z
cGVjdG9yRXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgotCi0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscykpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVs
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFt
ZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQogICAgIHN0ZDo6b3B0aW9uYWw8U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlPiBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7CiAgICAgZGVjb2RlciA+
PiBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKCFhdWRpb0NhcHR1cmVFeHRl
bnNpb25IYW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYzEzMzUzMWZlYjBiNjlkZmFlZDNmOTBkZTAxYWQ4NjM2
YTFlZTE3ZS4uNDBmMDA5YjMwN2U0NzZjMjMwZjY0ZGE0ZWQwMzBkYWQ5MDdlYjU3MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMuaCIKKyNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRl
bnNpb24uaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCkBAIC03Myw2ICs3NCw3IEBA
IHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICB2b2lkIGVuY29kZShJ
UEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wg
ZGVjb2RlKElQQzo6RGVjb2RlciYsIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKIAor
ICAgIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgYXV4aWxpYXJ5UHJvY2Vzc1Bh
cmFtZXRlcnM7CiAgICAgU3RyaW5nIGluamVjdGVkQnVuZGxlUGF0aDsKICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGUgaW5qZWN0ZWRCdW5kbGVQYXRoRXh0ZW5zaW9uSGFuZGxlOwogICAgIFZl
Y3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IGFkZGl0aW9uYWxTYW5kYm94RXh0ZW5zaW9u
SGFuZGxlczsKQEAgLTkxLDEwICs5Myw2IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgYXVkaW9DYXB0dXJlRXh0ZW5z
aW9uSGFuZGxlOwogI2VuZGlmCiAKLSAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxzOwotICAg
IFN0cmluZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwotICAgIFN0cmluZyB3ZWJLaXRMb2dnaW5n
Q2hhbm5lbHM7Ci0KICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEFzRW1w
dHlEb2N1bWVudDsKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEFzU2Vj
dXJlOwogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkQXNCeXBhc3NpbmdD
b250ZW50U2VjdXJpdHlQb2xpY3k7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA5MzM1NjcwYjBhMzFkOGQ0Y2Mw
N2I2MmZiNjMwYzFkMDI3OGY0OTM3Li45ZDVlODk0YjRhN2VmZmU3NDhjMmQyZmZkYTNmOTUyYzU2
MDlhYTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTIwOCw2ICsyMDgsNyBAQCBQbGF0Zm9ybS9JUEMvU3Ry
aW5nUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKIFNoYXJlZC9BY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZXMuY3BwCiBTaGFyZWQvQWN0aXZpdHlBc3NlcnRpb24uY3BwIEBuby11bmlmeQogU2hhcmVkL0F1
eGlsaWFyeVByb2Nlc3MuY3BwIEBuby11bmlmeQorU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIEBuby11bmlmeQogU2hhcmVkL0Jsb2JEYXRhRmlsZVJlZmVyZW5j
ZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCBAbm8tdW5pZnkKIFNoYXJlZC9DYWNoZU1vZGVsLmNw
cAogU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcAppbmRleCBiYjgxNTk3NmI1Mjg5
MjMzNWIyMmQ1MTMzOGUzMzY1NWRkNjUzODk0Li5mNTVmYzI2Mzk0ZThiMjc1NzRiNTk2MGFkODU4
NzQ2MWNjNGJkYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlh
cnlQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFy
eVByb2Nlc3NQcm94eS5jcHAKQEAgLTI3LDkgKzI3LDEyIEBACiAjaW5jbHVkZSAiQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5LmgiCiAKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzTWVzc2FnZXMuaCIK
KyNpbmNsdWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0lu
aXRpYWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAogI2lmIFBMQVRGT1JN
KENPQ09BKQpAQCAtNDAxLDQgKzQwNCwxNSBAQCB2b2lkIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6
Y2hlY2tGb3JSZXNwb25zaXZlbmVzcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgcgogICAg
IH0pOwogfQogCitBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIEF1eGlsaWFyeVBy
b2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKQoreworICAgIEF1eGlsaWFy
eVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyNpZiAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5u
ZWxzID0gV1RGOjpsb2dMZXZlbFN0cmluZygpOworICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dp
bmdDaGFubmVscyA9IFdlYkNvcmU6OmxvZ0xldmVsU3RyaW5nKCk7CisgICAgcGFyYW1ldGVycy53
ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBXZWJLaXQ6OmxvZ0xldmVsU3RyaW5nKCk7CisjZW5kaWYK
KyAgICByZXR1cm4gcGFyYW1ldGVyczsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCmluZGV4IGIx
NjIwZmVkMWM5MjFlNmQzMmU0ZWQzZjUwNzQ3MDBkZmMzYTY1YzAuLjlkYmRlY2IzYjc1Y2Q3YzVl
YzYwMjc1NDAxNTI0ZTlkMTU4NzY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNp
bmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIKQEAgLTQ4LDYgKzQ5LDggQEAgcHJvdGVjdGVkOgog
cHVibGljOgogICAgIHZpcnR1YWwgfkF1eGlsaWFyeVByb2Nlc3NQcm94eSgpOwogCisgICAgc3Rh
dGljIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgYXV4aWxpYXJ5UHJvY2Vzc1Bh
cmFtZXRlcnMoKTsKKwogICAgIHZvaWQgY29ubmVjdCgpOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJt
aW5hdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BV
UHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQ
cm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCA3ZjcwYjY5OGRjYmZmMThkNjRmNzAwNDAzOTMzOTFm
NDBmNjY1MzNjLi5jODQxMzBlOGI5ZDZiNGNkOTFhNTdlZDUxMTQ2Y2JmNDJjNzY1NzQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlD
b2NvYS5tbQpAQCAtMzUsMTIgKzM1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHZvaWQgR1BV
UHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewotI2lmICFMT0dfRElTQUJM
RUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hh
bm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JL
ZXk6QCJXVEZMb2dnaW5nIl07Ci0gICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxz
ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAi
V2ViQ29yZUxvZ2dpbmciXTsKLSAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9
IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldl
YktpdDJMb2dnaW5nIl07Ci0jZW5kaWYKLQogICAgIHBhcmFtZXRlcnMuYXBwbGljYXRpb25WaXNp
YmxlTmFtZSA9IGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggZTJl
NmYxZjcwZDg3ODU5ODgyMzM5NTM1OTRmZjQ4OGU5ZmFhZTdiNS4uNmIwN2QyZmJiZTgzN2VlZTIw
YjBkNmRiMjJlNzc0YzNhMjc3MTlkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0zOTgsMTIgKzM5OCw2IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2Vi
UHJvY2Vzc1Byb3h5JiBwcm9jZXNzCiAgICAgICAgIGlzU2FmYXJpID0gdHJ1ZTsKICNlbmRpZgog
Ci0jaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBwYXJhbWV0
ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHN0cmluZ0ZvcktleTpAIldURkxvZ2dpbmciXTsKLSAgICBwYXJhbWV0ZXJzLndlYkNv
cmVMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRz
XSBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwotICAgIHBhcmFtZXRlcnMud2ViS2l0
TG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
c3RyaW5nRm9yS2V5OkAiV2ViS2l0MkxvZ2dpbmciXTsKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
YW5kIHJlbGF0ZWQgcGFyYW1ldGVyIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzI5NDQ4MzY4PiBpcyBm
aXhlZC4KICAgICBpZiAoaXNTYWZhcmkgJiYgbWVkaWFEZXZpY2VzRW5hYmxlZCAmJiAhbV9kZWZh
dWx0UGFnZUdyb3VwLT5wcmVmZXJlbmNlcygpLmNhcHR1cmVBdWRpb0luVUlQcm9jZXNzRW5hYmxl
ZCgpICYmICFtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCkuY2FwdHVyZUF1ZGlvSW5H
UFVQcm9jZXNzRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IDFlZmJjZmFjMjUxOTc3ZmU0ZmRjZGM2MWMzM2JjOTI1
M2JhYzI1ZDkuLjNiY2E5YzcwNGJkODM3NDc1MjAzZTY2NWFiNjg0MTUwNWQyZGRkM2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC0x
NDIsNiArMTQyLDggQEAgR1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkoKQogICAgIGNv
bm5lY3QoKTsKIAogICAgIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsK
KyAgICBwYXJhbWV0ZXJzLmF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzID0gYXV4aWxpYXJ5UHJv
Y2Vzc1BhcmFtZXRlcnMoKTsKKwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgcGFyYW1l
dGVycy51c2VNb2NrQ2FwdHVyZURldmljZXMgPSBtX3VzZU1vY2tDYXB0dXJlRGV2aWNlczsKICNp
ZiBQTEFURk9STShNQUMpCkBAIC02NjEsMTEgKzY2Myw2IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5
OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUoKQogI2lmICFQTEFURk9STShDT0NPQSkKIHZvaWQgR1BV
UHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewotI2lmICFMT0dfRElTQUJM
RUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hh
bm5lbHMgPSBXVEY6OmxvZ0xldmVsU3RyaW5nKCk7Ci0gICAgcGFyYW1ldGVycy53ZWJDb3JlTG9n
Z2luZ0NoYW5uZWxzID0gV2ViQ29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsKLSAgICBwYXJhbWV0ZXJz
LndlYktpdExvZ2dpbmdDaGFubmVscyA9IFdlYktpdDo6bG9nTGV2ZWxTdHJpbmcoKTsKLSNlbmRp
ZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuaAppbmRleCAzMGRkZDZiN2EyZjdiNzcxNTNkMGE3OWExNDFiNmJhNThmYzcxYmRhLi5m
ODBlZjNkYmNiZWU0ZWJlYjAyNzA2MTk4MTI2N2JiNTU3MjQyMGQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCkBAIC0xMzgsNiArMTM4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oV2ViUGFnZVByb3h5SWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIExheWVy
SG9zdGluZ0NvbnRleHRJRCk7CiAjZW5kaWYKIAorICAgIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgcHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0
aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYp
OwogCiAgICAgUHJvY2Vzc1Rocm90dGxlciBtX3Rocm90dGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4
IDRhMjMyYjJhNjE3ZmZhMmUzNGYyNzAyMGJiMDIwMTg2NDI5NmZkYjIuLmVjOWIzNTM3NmI5YTMz
Yzk3ZjRhNTA3NjM4ZDUwZTQzNmFkOWRlMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTc5LDYgKzE3
OSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2VuZENyZWF0aW9uUGFyYW1ldGVyc1Rv
TmV3UHJvY2VzcygpCiAgICAgfQogCiAgICAgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLmF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJz
ID0gYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKTsKICAgICBwYXJhbWV0ZXJzLnVybFNjaGVt
ZXNSZWdpc3RlcmVkQXNTZWN1cmUgPSBjb3B5VG9WZWN0b3IoTGVnYWN5R2xvYmFsU2V0dGluZ3M6
OnNpbmdsZXRvbigpLnNjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmUoKSk7CiAgICAgcGFyYW1ldGVy
cy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5ID0g
Y29weVRvVmVjdG9yKExlZ2FjeUdsb2JhbFNldHRpbmdzOjpzaW5nbGV0b24oKS5zY2hlbWVzVG9S
ZWdpc3RlckFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogICAgIHBhcmFtZXRl
cnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0xvY2FsID0gY29weVRvVmVjdG9yKExlZ2FjeUdsb2Jh
bFNldHRpbmdzOjpzaW5nbGV0b24oKS5zY2hlbWVzVG9SZWdpc3RlckFzTG9jYWwoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
blByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNjlkYTRiNWIwYmZiMzBkZGU0ZTFk
NzhkNjg5ODcxZDY0MjQ1MWQ3Ni4uZTM5MDY1NmQzYjQxMWU4MTQ0NGFlMTI3ZDE0NDAxZmUzNGNl
M2U0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNwcApAQCAtNjMsOSArNjMs
OCBAQCBXZWJBdXRoblByb2Nlc3NQcm94eSYgV2ViQXV0aG5Qcm9jZXNzUHJveHk6OnNpbmdsZXRv
bigpCiAKICAgICBhdXRvIGNyZWF0ZUFuZEluaXRpYWxpemVOZXdQcm9jZXNzID0gW10gewogICAg
ICAgICBhdXRvIHdlYkF1dGhuUHJvY2VzcyA9IGFkb3B0UmVmKCpuZXcgV2ViQXV0aG5Qcm9jZXNz
UHJveHkpOwotCiAgICAgICAgIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwYXJh
bWV0ZXJzOwotCisgICAgICAgIHBhcmFtZXRlcnMuYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMg
PSB3ZWJBdXRoblByb2Nlc3MtPmF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzKCk7CiAgICAgICAg
IC8vIEluaXRpYWxpemUgdGhlIFdlYkF1dGhuIHByb2Nlc3MuCiAgICAgICAgIHdlYkF1dGhuUHJv
Y2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpJbml0aWFsaXplV2ViQXV0aG5Q
cm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKICAgICAgICAgd2ViQXV0aG5Qcm9jZXNzLT51cGRhdGVQ
cm9jZXNzQXNzZXJ0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKaW5kZXggMGRhMzBiMDczNzE4MGZlZjQ0ZGY4MmYzNWVjMDc3ZGRkMjM1NzVmYi4uMWQ5
MWRkMzk4ZWNkMTkyZWRkY2FiZmUzMmRlMjI0ZDJiM2JlMDlkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUg
IkFQSVBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiQVBJUHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eS5oIgog
I2luY2x1ZGUgIkRvd25sb2FkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3ND
b25uZWN0aW9uSW5mby5oIgpAQCAtNzc3LDYgKzc3OCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6
OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgV2Vic2l0
ZURhCiAgICAgfSk7CiAKICAgICBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRl
cnM7CisgICAgcGFyYW1ldGVycy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycyA9IEF1eGlsaWFy
eVByb2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKTsKIAogICAgIHBhcmFt
ZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoID0gbV9yZXNvbHZlZFBhdGhzLmluamVjdGVkQnVuZGxl
UGF0aDsKICAgICBpZiAoIXBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoLmlzRW1wdHkoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5j
cHAKaW5kZXggYmFjYzZlMjM1NDY1NWZhMWIyNWU0NzliMjZhMzk5MzgzYjAzMmFlYi4uZGNjNWVl
NTkzNmQyM2JhZWZmNTM0NTk1MTY2MDA5NmQ1NjZiODA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBAIC05Miw2ICs5Miw3IEBA
IHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2Fs
KQogCiB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2VzcyhXZWJB
dXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogeworICAgIGFwcGx5
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmF1eGlsaWFyeVByb2Nlc3NQYXJh
bWV0ZXJzKTsKICAgICBXVEY6OlRocmVhZDo6c2V0Q3VycmVudFRocmVhZElzVXNlckluaXRpYXRl
ZCgpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCmluZGV4IGVjZjNlMmM5Yzk3Y2FjOTllNDE3N2VkNDEwNzBjODYxZTRkODg1
NDUuLmU4YTM2ZjU0NzA4NWFlZWI1Mzk2YTYwMmRjNzc2ZTE0NTFiM2MyMTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNDEsMTAgKzQxLDEzIEBAIFdlYkF1dGhu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzKCkgPSBkZWZhdWx0CiAKIHZvaWQgV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogeworICAgIGVuY29kZXIgPDwg
YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnM7CiB9CiAKIGJvb2wgV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJBdXRoblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHJlc3VsdCkKIHsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAppbmRleCA5NjViYzI2NWE2Mjc3MGYzNjY0ZGJjOGZmMjA2YWY5MzhiMzc5MjZhLi4wNWUw
NjZkMGE1YzdkMjFlMjcwYzQ1OWY3YjI1Njg2YjcxZmYwOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgRU5BQkxFKFdFQl9BVVRI
TikKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKwog
bmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsKQEAgLTM2LDYg
KzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBXZWJBdXRoblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygp
OworICAgIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgYXV4aWxpYXJ5UHJvY2Vz
c1BhcmFtZXRlcnM7CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAg
ICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIFdl
YkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGU3NWI3YzcwMTFiNzgyZjg3N2Vl
YjdiZDlkN2RiMjZjMzNkMjA1NS4uYzAwYmJiNTg5ZDc1OTcxZGE2YzY2YzY5OTUwNWFiMjljNDlk
NzE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xMzM4LDYgKzEzMzgsNyBAQAogCQk3QjczMTI0MjI1Q0M4NTI1MDAzQjI3OTYgLyog
U3RyZWFtQ29ubmVjdGlvbkVuY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdCNzMxMjM5MjVDQzg1MjUwMDNCMjc5NiAvKiBTdHJlYW1Db25uZWN0
aW9uRW5jb2Rlci5oICovOyB9OwogCQk3QkFCMTExMDI1REQwMkIzMDA4RkM0NzkgLyogU2NvcGVk
QWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0JBQjExMEYyNUREMDJCMjAwOEZDNDc5IC8qIFNjb3BlZEFjdGl2
ZU1lc3NhZ2VSZWNlaXZlUXVldWUuaCAqLzsgfTsKIAkJN0JDRjcwREUyNjE1RDA2RTAwRTRGQjcw
IC8qIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3RDb2NvYS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQ0Y3MENCMjYxNDkzNUUwMEU0RkI3
MCAvKiBTY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0Q29jb2EubW0gKi87IH07CisJCTdC
RERBMzQyMjc1OEM5OEYwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
RERBMzQwMjc1NjUyRUEwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcCAqLzsgfTsKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250
ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8qIFdlYlVzZXJDb250ZW50
Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIg
LyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3Jt
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEzM0MxQTRBMEU2MDAwNDNF
MjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKQEAgLTUwMDQsNiArNTAwNSw4IEBACiAJCTdC
Q0Y3MENDMjYxNDkzNUYwMEU0RkI3MCAvKiBTY29wZWRXZWJHTFJlbmRlcmluZ1Jlc291cmNlc1Jl
cXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NvcGVkV2ViR0xSZW5kZXJpbmdSZXNvdXJj
ZXNSZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JDRjcwQ0QyNjE0
OTM1RjAwRTRGQjcwIC8qIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QkNGNzBDRTI2MTQ5MzVGMDBFNEZCNzAgLyogU2NvcGVkV2ViR0xS
ZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjb3BlZFdlYkdMUmVu
ZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
QkREQTMzRjI3NTY1MkVBMDAzODY1OUUgLyogQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdCRERBMzQwMjc1NjUyRUEwMDM4NjU5
RSAvKiBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QkU3MjY1NzI1NzRGNjcyMDBFODVEOTggLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUZ1bmN0aW9uc0dlbmVyYXRlZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5RnVuY3Rpb25zR2VuZXJhdGVkLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JFNzI2NjgyNTc2ODBFRjAwRTg1RDk4IC8q
IFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdDMDY1RjI5MUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJE
YXRhVHlwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViVXNl
ckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTcwMTMsNiArNzAxNiw4IEBACiAJCQkJMUEyRDk1NkUxMjg0ODU2NDAwMUVCOTYyIC8q
IEF1eGlsaWFyeVByb2Nlc3MuY3BwICovLAogCQkJCTFBMkQ5NTZEMTI4NDg1NjQwMDFFQjk2MiAv
KiBBdXhpbGlhcnlQcm9jZXNzLmggKi8sCiAJCQkJNTE2NEMwOTQxQjA1Qjc1NzAwNEYxMDJBIC8q
IEF1eGlsaWFyeVByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCisJCQkJN0JEREEzNDAyNzU2NTJFQTAw
Mzg2NTlFIC8qIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovLAorCQkJ
CTdCRERBMzNGMjc1NjUyRUEwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggKi8sCiAJCQkJMjkwRjQyNzExNzJBMEM3NDAwOTM5RkYwIC8qIEF1eGlsaWFyeVBy
b2Nlc3NTdXBwbGVtZW50LmggKi8sCiAJCQkJRTE2NEEyRUYxOTFBRjE0RTAwMTA3MzdEIC8qIEJs
b2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCAqLywKIAkJCQlFMTY0
QTJGMDE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hF
eHRlbnNpb24uaCAqLywKQEAgLTE1MTEzLDYgKzE1MTE4LDcgQEAKIAkJCQkwNzAxNzg5RTIzQkU5
Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTA3MUJDNThGMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXll
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFENEQ3MzcwMjNB
OUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QkREQTM0MjI3NThDOThGMDAzODY1OUUgLyogQXV4
aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
REQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM4NTE4NTkwQzQ2MDBGM0VDMDUg
LyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0Q4MjUyRTIyNUQ0OTE5MTAwODYyRkQ4IC8qIFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0
ZW5lck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGRiZjg0OWRjNmNi
MTIyZjAzYjIxYTE3YTBlZmUwYWQ5MDlkOTMyY2EuLjc1MTQwMjgxNmE3ZDhkOTA3MmQ4NDcwYzE0
NzFlMWUwYWRjZTA2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMjI0LDYgKzIyNCw4IEBAIHN0YXRpYyBCb29sZWFuIGlz
QVhBdXRoZW50aWNhdGVkQ2FsbGJhY2soYXVkaXRfdG9rZW5fdCBhdWRpdFRva2VuKQogCiB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyAgICBhcHBseVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMocGFyYW1ldGVycy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycyk7CisKICAgICBz
ZXRRT1MocGFyYW1ldGVycy5sYXRlbmN5UU9TLCBwYXJhbWV0ZXJzLnRocm91Z2hwdXRRT1MpOwog
ICAgIAogI2lmIEhBVkUoQ0FUQUxZU1RfVVNFUl9JTlRFUkZBQ0VfSURJT01fQU5EX1NDQUxFX0ZB
Q1RPUikKQEAgLTI2NywxMiArMjY5LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICAgICAg
ICAgfQogICAgIH0KIAotI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
Ci0gICAgV1RGOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5
KHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzKTsKLSAgICBXZWJDb3JlOjpsb2dDaGFubmVs
cygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxv
Z2dpbmdDaGFubmVscyk7Ci0gICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dD
aGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKLSNl
bmRpZgotCiAgICAgbV91aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0gcGFyYW1ldGVycy51aVBy
b2Nlc3NCdW5kbGVJZGVudGlmaWVyOwogCiAjaWYgRU5BQkxFKFNBTkRCT1hfRVhURU5TSU9OUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9j
ZXNzUGxheVN0YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9u
L1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5jcHAKaW5kZXggYzQ0ZjBkZDRjZjg5YTdjYjhmYWM3ODE4
OTZmMzU1MWNmMjQ1NGZiOS4uNWNmNjNmMDQwYjcyZDE3MzM1MDNjMTFhYmYwYWZhMTZmMDA3OGUx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlBy
b2Nlc3NQbGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlz
dGF0aW9uL1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5jcHAKQEAgLTMyLDE1ICszMiw4IEBACiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi12b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3ZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJikKIHsKLSNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAotICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vz
c2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyk7Ci0gICAgV2ViQ29yZTo6bG9nQ2hh
bm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNv
cmVMb2dnaW5nQ2hhbm5lbHMpOwotICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXpl
TG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKLSNlbmRpZgogfQogCiB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445694</attachid>
            <date>2021-12-02 01:48:38 -0800</date>
            <delta_ts>2021-12-03 00:06:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233360-20211202114836.patch</filename>
            <type>text/plain</type>
            <size>41676</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EyYmViMDM3Y2Q2MTZm
NDU4NTVhNzFmNmE3OTBlOTFjZGNlNDk4NC4uNzMzYTA3NDllZDhiZDYyODdhY2E1NzVlNmE1ZmQy
YzhlNDVlZTYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTEyLTAyICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29yayBwcm9j
ZXNzIGRvZXMgbm90IHNlZW0gdG8gaW5pdGlhbGl6ZSBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzNjAKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzg1NzY1ODU0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEV4cG9ydCBXZWJDb3JlOjpsb2dMZXZlbFN0cmluZygpLCBpdCdzIHRoZSBjYW5v
bmljYWwKKyAgICAgICAgbWV0aG9kIHRvIG9idGFpbiBXZWJDb3JlIGxvZyBjb25maWd1cmF0aW9u
IHN0cmluZy4KKyAgICAgICAgSXQncyBhbHJlYWR5IHVzZWQgaW4gV2ViS2l0LCBidXQgbm90IG9u
IENvY29hIHBsYXRmb3JtCisgICAgICAgIHdoZXJlIHRoZSBleHBvcnQgbWF0dGVycy4KKworICAg
ICAgICAqIHBsYXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmg6CisKIDIwMjEtMTItMDIgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBO
YXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggM2RhZTM0MGY1Mjg0OGFiOTM4NmJl
YTc0MmVhMmQyNTQ3YjU3OWZmOS4uZWIyNjc3YmIyZjc2ZTU3ODJkOThmZjZmZmU4ZjMyOTQ2YTAx
ZThhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NyBAQAorMjAyMS0xMi0wMiAgS2ltbW8gS2lubnVu
ZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIE5ldHdvcmsgcHJvY2VzcyBkb2Vz
IG5vdCBzZWVtIHRvIGluaXRpYWxpemUgbG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
NTc2NTg1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIEdQVVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MgcHJvY2VzcyBjcmVhdGlvbiBhcmd1bWVu
dHMKKyAgICAgICAgcmVsYXRlZCB0byBsb2dnaW5nIHN0cmluZ3MgdG8gbmV3IEF1eGlsaWFyeVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuCisgICAgICAgIFVzZSB0aGlzIGluIGFsbCBhdXhpbGlh
cnkgcHJvY2Vzc2VzIEdQVVByb2Nlc3MsIFdlYlByb2Nlc3MsCisgICAgICAgIEF1dGhuUHJvY2Vz
cyBhbmQgTmV0d29ya1Byb2Nlc3MuCisKKyAgICAgICAgVXNlIHRoZSBjYW5vbmljYWwgV1RGOjps
b2dMZXZlbFN0cmluZygpLCBXZWJDb3JlOjpsb2dMZXZlbFN0cmluZygpLAorICAgICAgICBXZWJL
aXQ6OmxvZ0xldmVsU3RyaW5nKCkgdG8gaW5pdGlhbGl6ZSBDb2NvYSBXZWJLaXQyIGxvZ2dpbmcg
c2V0dGluZ3MKKyAgICAgICAgZm9yIHByb2Nlc3MgY3JlYXRpb24gYXJndW1lbnRzLgorCisgICAg
ICAgIEZpeGVzIGJ1Z3Mgd2hlcmUKKyAgICAgICAgIFRvb2xzL1NjcmlwdHMvcnVuLW1pbmlicm93
c2VyIC0tZGVidWcgLVdlYktpdDJMb2dnaW5nIElQQ01lc3NhZ2VzCisgICAgICAgIHdvdWxkIG5v
dCBwcmludCBJUENNZXNzYWdlcyBsb2dnaW5nIGZvciBOZXR3b3JrUHJvY2Vzcy4KKworICAgICAg
ICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nl
c3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmluaXRp
YWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3M6OmFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgICogU2hh
cmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAuCisgICAgICAg
IChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0
aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmguCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkF1eGlsaWFyeVByb2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6
CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSk6CisgICAgICAgIChXZWJL
aXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRl
cnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnNlbmRDcmVhdGlvblBhcmFtZXRlcnNUb05ld1By
b2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblBy
b2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc1Byb3h5Ojpz
aW5nbGV0b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYkF1dGhuUHJvY2Vzcyk6CisgICAg
ICAgICogV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzUGxh
eVN0YXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcm9jZXNzKToKKwogMjAyMS0xMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb25QcmVsb2FkTWFu
YWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nSW5pdGlhbGl6YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ0luaXRpYWxpemF0aW9uLmgKaW5kZXgg
NDBkYTkzMDYzYzFmOTZhMzE2MDE1NGM1ZjY2MGFmYzIxZjE2MjFmYy4uNjJmNmI3MTA5NTg2MGYw
MThkNzU2NWFlMzY5NTM2NzA1YzViYzMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTG9nSW5pdGlhbGl6YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
b2dJbml0aWFsaXphdGlvbi5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogCiBXRUJDT1JFX0VY
UE9SVCBXVEY6OkxvZ0NoYW5uZWxzJiBsb2dDaGFubmVscygpOwotU3RyaW5nIGxvZ0xldmVsU3Ry
aW5nKCk7CitXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKIAogI2VuZGlm
IC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBjMDc2ZGU0ZjhhMGFkMjliYjQyNTczMzE4
NTViMGM2OTcwMTVkODQ4Li43NjUzOWRkOTZhNTk1Njc1ZjRkZWNiNDY0MjhkNjFiNDBlZTc1YTI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0yMTEsNiArMjEx
LDcgQEAgdm9pZCBHUFVQcm9jZXNzOjpsb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsIGNyaXRpY2Fs
LCBTeW5jaHJvbm91cyBzeW5jaHJvbm91cykKIAogdm9pZCBHUFVQcm9jZXNzOjppbml0aWFsaXpl
R1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsK
KyAgICBhcHBseVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMocGFyYW1ldGVycy5hdXhpbGlhcnlQ
cm9jZXNzUGFyYW1ldGVycyk7CiAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gR1BVUHJv
Y2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3M6IiwgdGhpcyk7CiAgICAgV1RGOjpUaHJlYWQ6OnNl
dEN1cnJlbnRUaHJlYWRJc1VzZXJJbml0aWF0ZWQoKTsKICAgICBBdG9tU3RyaW5nOjppbml0KCk7
CkBAIC0yNDcsMTIgKzI0OCw2IEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nl
c3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgQ0dJbWFn
ZVNvdXJjZVNldEFsbG93YWJsZVR5cGVzKGVtcHR5QXJyYXkuZ2V0KCkpOwogI2VuZGlmCiAKLSNp
ZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgIFdURjo6bG9nQ2hh
bm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0Zkxv
Z2dpbmdDaGFubmVscyk7Ci0gICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9n
Q2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwot
ICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2Fy
eShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyk7Ci0jZW5kaWYKLQogICAgIG1fYXBw
bGljYXRpb25WaXNpYmxlTmFtZSA9IFdURk1vdmUocGFyYW1ldGVycy5hcHBsaWNhdGlvblZpc2li
bGVOYW1lKTsKIAogICAgIC8vIE1hdGNoIHRoZSBRb1Mgb2YgdGhlIFVJUHJvY2VzcyBzaW5jZSB0
aGUgR1BVIHByb2Nlc3MgaXMgZG9pbmcgcmVuZGVyaW5nIG9uIGl0cyBiZWhhbGYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHAKaW5kZXggYzRlOWRkNDI3ZDkzZGExNDI1NWEzMDRmN2UzYmE2NDJhMDU1NmI2ZC4u
YWZhYjg3MjE0MjQyMGY1MmI5OTJkZmFmMTI3NzI5ZDAyNDc2ZDhmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcApAQCAtNDEsNiArNDEsNyBAQCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpHUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCkgPSBkZWZhdWx0OwogCiB2b2lkIEdQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7
CisgICAgZW5jb2RlciA8PCBhdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVyczsKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIGVuY29kZXIgPDwgdXNlTW9ja0NhcHR1cmVEZXZpY2VzOwogI2lm
IFBMQVRGT1JNKE1BQykKQEAgLTU5LDE1ICs2MCwxMyBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5j
b2RlciA8PCBkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAotICAgIGVuY29k
ZXIgPDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwotICAgIGVuY29kZXIgPDwgd2ViQ29yZUxvZ2dpbmdD
aGFubmVsczsKLSAgICBlbmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFubmVsczsKLQogICAgIGVu
Y29kZXIgPDwgYXBwbGljYXRpb25WaXNpYmxlTmFtZTsKIH0KIAogYm9vbCBHUFVQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBHUFVQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCiB7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQuYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC51c2VNb2NrQ2FwdHVyZURldmljZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMTIs
MTMgKzExMSw2IEBAIGJvb2wgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQ
Qzo6RGVjb2RlciYgZGVjb2RlciwgR1BVUHJvY2Vzc0NyZWF0CiAgICAgcmVzdWx0LmR5bmFtaWNN
YWNoRXh0ZW5zaW9uSGFuZGxlcyA9IFdURk1vdmUoKmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxl
cyk7CiAjZW5kaWYKIAotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lnd0ZkxvZ2dpbmdD
aGFubmVscykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LndlYktpdExvZ2dpbmdDaGFubmVscykpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFw
cGxpY2F0aW9uVmlzaWJsZU5hbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCmluZGV4IGM5YzFlYmU5YmY2YThiMjcwNDk4MWFlZWQ4NjNkYWJjOWJiMWQxYzQuLmVlOGU5
YmZlODk2NDY2YmRjNDQ3N2VjODQ2YTE1Yjg5MjQ2ZTFkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAt
MjcsOCArMjcsMTAgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAorI2luY2x1ZGUgIkF1
eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgorCiBuYW1lc3BhY2UgSVBDIHsK
IGNsYXNzIERlY29kZXI7CiBjbGFzcyBFbmNvZGVyOwpAQCAtMzksNiArNDEsNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCk7CiAKKyAgICBBdXhpbGlhcnlQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIGF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzOwogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgYm9vbCB1c2VNb2NrQ2FwdHVyZURldmljZXMgeyBmYWxzZSB9Owog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTU3LDEwICs2MCw2IEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBk
eW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAotICAgIFN0cmluZyB3dGZMb2dn
aW5nQ2hhbm5lbHM7Ci0gICAgU3RyaW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7Ci0gICAgU3Ry
aW5nIHdlYktpdExvZ2dpbmdDaGFubmVsczsKLQogICAgIFN0cmluZyBhcHBsaWNhdGlvblZpc2li
bGVOYW1lOwogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDY2NmJj
YzFiMjFiOTVkMDg5MmIyZjIzZmRjMTI5ZmJhZTYxZmUzMjEuLjk3OGNmNTZhY2ZkZGJmNGFmYzI3
OGM1MmM0MzdhMzRjOGQ1NzU1MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0zMjMsNiArMzIzLDcgQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6bG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCBjcml0aWNhbCkKIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIHsKKyAgICBhcHBseVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMocGFyYW1ldGVycy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycyk7CiAjaWYgSEFWRShT
RUNfS0VZX1BST1hZKQogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoeyBQcm9jZXNzUHJp
dmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzIH0pOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAKaW5kZXggMDIxYjk4MjkxMWE1MjA2ZjQ3NGY1MmJiY2Y2ODgxYjFhNTM4
MDMyNy4uYTdjZDkwZTdjMjJmZGEzZWJkMTRjNmNiNmQ4YzA0YWRiZWE1Y2IzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpv
cGVyYXRvcj0oTmUKIAogdm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVyIDw8IGF1eGls
aWFyeVByb2Nlc3NQYXJhbWV0ZXJzOwogICAgIGVuY29kZXIgPDwgY2FjaGVNb2RlbDsKICNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIGVuY29kZXIgPDwgdWlQ
cm9jZXNzQ29va2llU3RvcmFnZUlkZW50aWZpZXI7CkBAIC03Nyw2ICs3OCw5IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAKIGJvb2wgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiByZXN1bHQpCiB7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYXV4aWxpYXJ5UHJv
Y2Vzc1BhcmFtZXRlcnMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5jYWNoZU1vZGVsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggMzVhNWZjZTc4YjUwNWQzNDYwNjFjY2Vh
NmFjYWI5ZjE0ZjE4ZjI0Yy4uOWExNzEzN2NmZTBkZmY3YzFkNDcwZjYxODdkMDBhOGZmZjU5YzU4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjUsNiArMjUsNyBAQAogCiAj
cHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaCIKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lv
bi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llLmg+CkBAIC01NSw2ICs1Niw4IEBAIHN0cnVj
dCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgdm9pZCBlbmNvZGUoSVBD
OjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShJUEM6OkRlY29kZXImLCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwog
CisgICAgQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBhdXhpbGlhcnlQcm9jZXNz
UGFyYW1ldGVyczsKKwogICAgIENhY2hlTW9kZWwgY2FjaGVNb2RlbCB7IENhY2hlTW9kZWw6OkRv
Y3VtZW50Vmlld2VyIH07CiAKICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCA3YTU5
NzY2MWUyZjk5ZmVjZmMxNmRmMjk3NDI0NDEyZGQ3MWM2NjlhLi5jYWY0MmYzYjIzYTE0ZTVlZDBi
ZTRhZmVlMDA5MWUxYTQ4MjQ5MWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
dXhpbGlhcnlQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQ
cm9jZXNzLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkF1eGlsaWFyeVByb2Nlc3MuaCIKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJDb250ZW50V29ybGRTaGFyZWQuaCIKICNpbmNs
dWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTI0NSw2
ICsyNDYsMTUgQEAgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8SVBDOjpDb25uZWN0aW9uOjpJZGVu
dGlmaWVyLCBJUEM6OkF0dGFjaG1lbnQ+PiBBdXhpbGlhcnkKICNlbmRpZgogfQogCit2b2lkIEF1
eGlsaWFyeVByb2Nlc3M6OmFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhjb25zdCBBdXhp
bGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworI2lmICFMT0df
RElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RGOjpsb2dDaGFubmVscygp
LmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud3RmTG9nZ2luZ0No
YW5uZWxzKTsKKyAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVs
c0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyk7CisgICAgV2Vi
S2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFt
ZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKKyNlbmRpZgorfQorCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQogdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUoY29uc3Qg
QXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKaW5kZXggMjA5NzhlYzNjODg1MDEwODdmNWM5NTRj
YzhhMGFjNzk2ZWVjYTNhNi4uNzc0NTRhZGZkMzE5OTYwZGFjYjg0ZjFlY2E0OWU2ZjQ2NDg2M2Q5
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaApAQCAtNDYsNiArNDYs
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgU2FuZGJveEluaXRpYWxpemF0aW9uUGFy
YW1ldGVyczsKIHN0cnVjdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
Oworc3RydWN0IEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNsYXNzIEF1
eGlsaWFyeVByb2Nlc3MgOiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpDbGllbnQsIHB1YmxpYyBJ
UEM6Ok1lc3NhZ2VTZW5kZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1eGlsaWFyeVBy
b2Nlc3MpOwpAQCAtMTQzLDYgKzE0NCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlUHJlZmVyZW5jZUNoYW5nZShjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5n
JiBrZXksIGlkIHZhbHVlKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hTaW11bGF0ZWROb3Rp
ZmljYXRpb25zRm9yUHJlZmVyZW5jZUNoYW5nZShjb25zdCBTdHJpbmcmIGtleSkgeyB9CiAjZW5k
aWYKKyAgICB2b2lkIGFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhjb25zdCBBdXhpbGlh
cnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZE92ZXJyaWRlUXVhcmFudGluZSgpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ1Y2VhMTliYTdlM2M5ZDIxOTFmZGEyYWZhZWJkZDFm
OTdlNmFiZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFy
eVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0F1eGls
aWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMoKSA9IGRlZmF1bHQ7CisKK3ZvaWQgQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IHd0ZkxvZ2dpbmdDaGFubmVsczsKKyAgICBlbmNvZGVyIDw8IHdlYkNvcmVMb2dnaW5n
Q2hhbm5lbHM7CisgICAgZW5jb2RlciA8PCB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7Cit9CisKK2Jv
b2wgQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2Rl
ciYgZGVjb2RlciwgQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0KQor
eworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lnd0ZkxvZ2dpbmdDaGFubmVscykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJD
b3JlTG9nZ2luZ0NoYW5uZWxzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LndlYktpdExvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcyODVmMTQ0MGJhMzJiNzVjNTc0MzZmODc2YzM0OWVkMzYxZGI4MWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOS0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIElQQyB7
CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKKy8vIFBhcmFtZXRlcnMgdGhhdCBhcmUgc2VudCB0byB0aGUgcHJvY2VzcyBvYmplY3QgYXMg
dGhlIGZpcnN0IG1lc3NhZ2UgYWZ0ZXIgcHJvY2VzcyBoYXMgc3RhcnRlZC4KK3N0cnVjdCBBdXhp
bGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKKyAgICBBdXhpbGlhcnlQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzKCk7CisKKyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxzOworICAg
IFN0cmluZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOworICAgIFN0cmluZyB3ZWJLaXRMb2dnaW5n
Q2hhbm5lbHM7CisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICBz
dGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEF1eGls
aWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAppbmRleCA2Yzk1NWQxZTAyYjk4Y2MzOWEwNGE4Y2NjMjhlYmI0YTQ5MTQx
OWRjLi40OTVkYTA2ZDQ1OTIwOTQyMDQ1ZWYyOGMxNTAzZmFiYzZjYWQ0YTE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cApAQCAtNDcsNiArNDcsNyBAQCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjp+V2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpCiAKIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVy
IDw8IGF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzOwogICAgIGVuY29kZXIgPDwgaW5qZWN0ZWRC
dW5kbGVQYXRoOwogICAgIGVuY29kZXIgPDwgaW5qZWN0ZWRCdW5kbGVQYXRoRXh0ZW5zaW9uSGFu
ZGxlOwogICAgIGVuY29kZXIgPDwgYWRkaXRpb25hbFNhbmRib3hFeHRlbnNpb25IYW5kbGVzOwpA
QCAtNTksOSArNjAsNiBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIGVuY29kZXIgPDwgZW5hYmxlUmVtb3RlV2ViSW5z
cGVjdG9yRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCi0gICAgZW5jb2RlciA8PCB3dGZMb2dnaW5n
Q2hhbm5lbHM7Ci0gICAgZW5jb2RlciA8PCB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwotICAgIGVu
Y29kZXIgPDwgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgZW5jb2RlciA8PCBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKQEAg
LTIyNyw2ICsyMjUsOCBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmluamVjdGVkQnVuZGxlUGF0
aCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAgLTI3MiwxNiArMjcyLDcgQEAgYm9v
bCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRl
cnMuZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZW5h
YmxlUmVtb3RlV2ViSW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgotCi0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscykpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViQ29y
ZUxvZ2dpbmdDaGFubmVscykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQogICAgIHN0ZDo6b3B0aW9u
YWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7
CiAgICAgZGVjb2RlciA+PiBhdWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKCFh
dWRpb0NhcHR1cmVFeHRlbnNpb25IYW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYzEzMzUzMWZlYjBiNjlkZmFl
ZDNmOTBkZTAxYWQ4NjM2YTFlZTE3ZS4uNDBmMDA5YjMwN2U0NzZjMjMwZjY0ZGE0ZWQwMzBkYWQ5
MDdlYjU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMuaCIKKyNpbmNsdWRlICJBdXhpbGlhcnlQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCkBA
IC03Myw2ICs3NCw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAg
ICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmKTsKIAorICAgIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgYXV4
aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnM7CiAgICAgU3RyaW5nIGluamVjdGVkQnVuZGxlUGF0aDsK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaW5qZWN0ZWRCdW5kbGVQYXRoRXh0ZW5zaW9u
SGFuZGxlOwogICAgIFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IGFkZGl0aW9uYWxT
YW5kYm94RXh0ZW5zaW9uSGFuZGxlczsKQEAgLTkxLDEwICs5Myw2IEBAIHN0cnVjdCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgYXVk
aW9DYXB0dXJlRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCiAKLSAgICBTdHJpbmcgd3RmTG9nZ2lu
Z0NoYW5uZWxzOwotICAgIFN0cmluZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwotICAgIFN0cmlu
ZyB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7Ci0KICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVz
UmVnaXN0ZXJlZEFzRW1wdHlEb2N1bWVudDsKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVz
UmVnaXN0ZXJlZEFzU2VjdXJlOwogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3Rl
cmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3k7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCAzZTQz
ZDNlMTNhNzY3OGY4MTRjYjZjNDc0MTI3MDlhMzMzZDc5NTRiLi4xODUxNmVlOTA2MmZlMjZkNTgw
YTY5MDY2N2MwZTkwZWFlNTA5M2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTIwOCw2ICsyMDgsNyBAQCBQ
bGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcCBAbm8tdW5pZnkKIFNoYXJlZC9BY2Nlc3Np
YmlsaXR5UHJlZmVyZW5jZXMuY3BwCiBTaGFyZWQvQWN0aXZpdHlBc3NlcnRpb24uY3BwIEBuby11
bmlmeQogU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwIEBuby11bmlmeQorU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIEBuby11bmlmeQogU2hhcmVkL0Jsb2JE
YXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNwcCBAbm8tdW5pZnkKIFNoYXJl
ZC9DYWNoZU1vZGVsLmNwcAogU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmNwcAppbmRl
eCBiYjgxNTk3NmI1Mjg5MjMzNWIyMmQ1MTMzOGUzMzY1NWRkNjUzODk0Li5mNTVmYzI2Mzk0ZThi
Mjc1NzRiNTk2MGFkODU4NzQ2MWNjNGJkYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXhpbGlhcnlQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5jcHAKQEAgLTI3LDkgKzI3LDEyIEBACiAjaW5j
bHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9j
ZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJMb2dJbml0aWFsaXphdGlvbi5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CisjaW5j
bHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
IAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtNDAxLDQgKzQwNCwxNSBAQCB2b2lkIEF1eGlsaWFy
eVByb2Nlc3NQcm94eTo6Y2hlY2tGb3JSZXNwb25zaXZlbmVzcyhDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgcgogICAgIH0pOwogfQogCitBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKQor
eworICAgIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyNp
ZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBhcmFtZXRlcnMu
d3RmTG9nZ2luZ0NoYW5uZWxzID0gV1RGOjpsb2dMZXZlbFN0cmluZygpOworICAgIHBhcmFtZXRl
cnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFdlYkNvcmU6OmxvZ0xldmVsU3RyaW5nKCk7Cisg
ICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBXZWJLaXQ6OmxvZ0xldmVsU3Ry
aW5nKCk7CisjZW5kaWYKKyAgICByZXR1cm4gcGFyYW1ldGVyczsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXhpbGlhcnlQ
cm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQ
cm94eS5oCmluZGV4IGIxNjIwZmVkMWM5MjFlNmQzMmU0ZWQzZjUwNzQ3MDBkZmMzYTY1YzAuLjlk
YmRlY2IzYjc1Y2Q3YzVlYzYwMjc1NDAxNTI0ZTlkMTU4NzY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVj
ZWl2ZXJNYXAuaCIKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIKQEAgLTQ4LDYgKzQ5LDgg
QEAgcHJvdGVjdGVkOgogcHVibGljOgogICAgIHZpcnR1YWwgfkF1eGlsaWFyeVByb2Nlc3NQcm94
eSgpOwogCisgICAgc3RhdGljIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgYXV4
aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKTsKKwogICAgIHZvaWQgY29ubmVjdCgpOwogICAgIHZp
cnR1YWwgdm9pZCB0ZXJtaW5hdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCA3ZjcwYjY5OGRjYmZmMThk
NjRmNzAwNDAzOTMzOTFmNDBmNjY1MzNjLi5jODQxMzBlOGI5ZDZiNGNkOTFhNTdlZDUxMTQ2Y2Jm
NDJjNzY1NzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQ
cm9jZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9H
UFVQcm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzUsMTIgKzM1LDYgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNz
UGFyYW1ldGVycyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewot
I2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgcGFyYW1ldGVy
cy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07Ci0gICAgcGFyYW1ldGVycy53ZWJDb3Jl
TG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
c3RyaW5nRm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsKLSAgICBwYXJhbWV0ZXJzLndlYktpdExv
Z2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0
cmluZ0ZvcktleTpAIldlYktpdDJMb2dnaW5nIl07Ci0jZW5kaWYKLQogICAgIHBhcmFtZXRlcnMu
YXBwbGljYXRpb25WaXNpYmxlTmFtZSA9IGFwcGxpY2F0aW9uVmlzaWJsZU5hbWUoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KaW5kZXggZTJlNmYxZjcwZDg3ODU5ODgyMzM5NTM1OTRmZjQ4OGU5ZmFhZTdiNS4uNmIw
N2QyZmJiZTgzN2VlZTIwYjBkNmRiMjJlNzc0YzNhMjc3MTlkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0zOTgs
MTIgKzM5OCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzCiAgICAgICAgIGlzU2FmYXJpID0g
dHJ1ZTsKICNlbmRpZgogCi0jaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKLSAgICBwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldURkxvZ2dpbmciXTsKLSAgICBw
YXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwotICAgIHBh
cmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2ViS2l0MkxvZ2dpbmciXTsKLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICAvLyBGSVhN
RTogUmVtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgcGFyYW1ldGVyIHdoZW4gPHJkYXI6Ly9wcm9ibGVt
LzI5NDQ4MzY4PiBpcyBmaXhlZC4KICAgICBpZiAoaXNTYWZhcmkgJiYgbWVkaWFEZXZpY2VzRW5h
YmxlZCAmJiAhbV9kZWZhdWx0UGFnZUdyb3VwLT5wcmVmZXJlbmNlcygpLmNhcHR1cmVBdWRpb0lu
VUlQcm9jZXNzRW5hYmxlZCgpICYmICFtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCku
Y2FwdHVyZUF1ZGlvSW5HUFVQcm9jZXNzRW5hYmxlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IDE4YmI1NzNhMzQ2MjRkODkw
Y2M1NjdmYzQwNTQ2NWRkN2JhMDE1YzguLmNhMzU3YWRlODgxMmIxZTJhZDdiZDQzMzMxMWM3MDQ1
MmQ0OGRhNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwCkBAIC0xMzgsNiArMTM4LDggQEAgR1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNz
UHJveHkoKQogICAgIGNvbm5lY3QoKTsKIAogICAgIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLmF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJz
ID0gYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKTsKKwogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgcGFyYW1ldGVycy51c2VNb2NrQ2FwdHVyZURldmljZXMgPSBtX3VzZU1vY2tDYXB0
dXJlRGV2aWNlczsKICNpZiBQTEFURk9STShNQUMpCkBAIC02NTUsMTEgKzY1Nyw2IEBAIHZvaWQg
R1BVUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUoKQogI2lmICFQTEFURk9STShD
T0NPQSkKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNz
UGFyYW1ldGVycyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewot
I2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgcGFyYW1ldGVy
cy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBXVEY6OmxvZ0xldmVsU3RyaW5nKCk7Ci0gICAgcGFyYW1l
dGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0gV2ViQ29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsK
LSAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9IFdlYktpdDo6bG9nTGV2ZWxT
dHJpbmcoKTsKLSNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaAppbmRleCAzMGRkZDZiN2EyZjdiNzcxNTNkMGE3OWExNDFi
NmJhNThmYzcxYmRhLi5mODBlZjNkYmNiZWU0ZWJlYjAyNzA2MTk4MTI2N2JiNTU3MjQyMGQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCkBAIC0x
MzgsNiArMTM4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oV2ViUGFnZVByb3h5SWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIsIExheWVySG9zdGluZ0NvbnRleHRJRCk7CiAjZW5kaWYKIAorICAgIEdQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpOwogICAgIHZv
aWQgcGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMoR1BVUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYpOwogCiAgICAgUHJvY2Vzc1Rocm90dGxlciBtX3Rocm90dGxlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuY3BwCmluZGV4IDRhMjMyYjJhNjE3ZmZhMmUzNGYyNzAyMGJiMDIwMTg2NDI5NmZkYjIu
LmVjOWIzNTM3NmI5YTMzYzk3ZjRhNTA3NjM4ZDUwZTQzNmFkOWRlMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMTc5LDYgKzE3OSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2VuZENyZWF0
aW9uUGFyYW1ldGVyc1RvTmV3UHJvY2VzcygpCiAgICAgfQogCiAgICAgTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLmF1eGlsaWFyeVBy
b2Nlc3NQYXJhbWV0ZXJzID0gYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMoKTsKICAgICBwYXJh
bWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNTZWN1cmUgPSBjb3B5VG9WZWN0b3IoTGVnYWN5
R2xvYmFsU2V0dGluZ3M6OnNpbmdsZXRvbigpLnNjaGVtZXNUb1JlZ2lzdGVyQXNTZWN1cmUoKSk7
CiAgICAgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNl
Y3VyaXR5UG9saWN5ID0gY29weVRvVmVjdG9yKExlZ2FjeUdsb2JhbFNldHRpbmdzOjpzaW5nbGV0
b24oKS5zY2hlbWVzVG9SZWdpc3RlckFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KCkp
OwogICAgIHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0xvY2FsID0gY29weVRvVmVj
dG9yKExlZ2FjeUdsb2JhbFNldHRpbmdzOjpzaW5nbGV0b24oKS5zY2hlbWVzVG9SZWdpc3RlckFz
TG9jYWwoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNjlkYTRi
NWIwYmZiMzBkZGU0ZTFkNzhkNjg5ODcxZDY0MjQ1MWQ3Ni4uZTM5MDY1NmQzYjQxMWU4MTQ0NGFl
MTI3ZDE0NDAxZmUzNGNlM2U0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aG5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhuUHJvY2Vzc1Byb3h5LmNw
cApAQCAtNjMsOSArNjMsOCBAQCBXZWJBdXRoblByb2Nlc3NQcm94eSYgV2ViQXV0aG5Qcm9jZXNz
UHJveHk6OnNpbmdsZXRvbigpCiAKICAgICBhdXRvIGNyZWF0ZUFuZEluaXRpYWxpemVOZXdQcm9j
ZXNzID0gW10gewogICAgICAgICBhdXRvIHdlYkF1dGhuUHJvY2VzcyA9IGFkb3B0UmVmKCpuZXcg
V2ViQXV0aG5Qcm9jZXNzUHJveHkpOwotCiAgICAgICAgIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyBwYXJhbWV0ZXJzOwotCisgICAgICAgIHBhcmFtZXRlcnMuYXV4aWxpYXJ5UHJv
Y2Vzc1BhcmFtZXRlcnMgPSB3ZWJBdXRoblByb2Nlc3MtPmF1eGlsaWFyeVByb2Nlc3NQYXJhbWV0
ZXJzKCk7CiAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIFdlYkF1dGhuIHByb2Nlc3MuCiAgICAg
ICAgIHdlYkF1dGhuUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViQXV0aG5Qcm9jZXNzOjpJbml0
aWFsaXplV2ViQXV0aG5Qcm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKICAgICAgICAgd2ViQXV0aG5Q
cm9jZXNzLT51cGRhdGVQcm9jZXNzQXNzZXJ0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZmJiMzViYzNmOTVlYzQzYmU0YjczY2MzNWI5M2I1
NDZlOGNiMDI1My4uYTk0ZTdiMjdjOGVhOTU1ZWNiZjRjMTdhNDMyMTFmNjQ5NGUzZDY5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMzcsNiArMzcs
NyBAQAogI2luY2x1ZGUgIkFQSVBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc01lc3Nh
Z2VzLmgiCisjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiRG93
bmxvYWRQcm94eS5oIgogI2luY2x1ZGUgIkRvd25sb2FkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uSW5mby5oIgpAQCAtNzc2LDYgKzc3Nyw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSYg
cHJvY2VzcywgV2Vic2l0ZURhCiAgICAgfSk7CiAKICAgICBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5hdXhpbGlhcnlQcm9jZXNzUGFyYW1l
dGVycyA9IEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnMo
KTsKIAogICAgIHBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoID0gbV9yZXNvbHZlZFBhdGhz
LmluamVjdGVkQnVuZGxlUGF0aDsKICAgICBpZiAoIXBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQ
YXRoLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggYmFjYzZlMjM1NDY1NWZhMWIyNWU0NzliMjZhMzk5Mzgz
YjAzMmFlYi4uZGNjNWVlNTkzNmQyM2JhZWZmNTM0NTk1MTY2MDA5NmQ1NjZiODA0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBA
IC05Miw2ICs5Miw3IEBAIHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpsb3dNZW1vcnlIYW5kbGVyKENy
aXRpY2FsIGNyaXRpY2FsKQogCiB2b2lkIFdlYkF1dGhuUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYkF1
dGhuUHJvY2VzcyhXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJz
KQogeworICAgIGFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmF1eGls
aWFyeVByb2Nlc3NQYXJhbWV0ZXJzKTsKICAgICBXVEY6OlRocmVhZDo6c2V0Q3VycmVudFRocmVh
ZElzVXNlckluaXRpYXRlZCgpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGVjZjNlMmM5Yzk3Y2FjOTllNDE3N2Vk
NDEwNzBjODYxZTRkODg1NDUuLmU4YTM2ZjU0NzA4NWFlZWI1Mzk2YTYwMmRjNzc2ZTE0NTFiM2My
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNDEsMTAgKzQx
LDEzIEBAIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6V2ViQXV0aG5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzKCkgPSBkZWZhdWx0CiAKIHZvaWQgV2ViQXV0aG5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewor
ICAgIGVuY29kZXIgPDwgYXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnM7CiB9CiAKIGJvb2wgV2Vi
QXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBXZWJBdXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHJlc3VsdCkKIHsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hdXhpbGlhcnlQcm9jZXNzUGFyYW1ldGVycykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA5NjViYzI2NWE2Mjc3MGYzNjY0ZGJjOGZmMjA2YWY5
MzhiMzc5MjZhLi4wNWUwNjZkMGE1YzdkMjFlMjcwYzQ1OWY3YjI1Njg2YjcxZmYwOWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJB
dXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYg
RU5BQkxFKFdFQl9BVVRITikKIAorI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCIKKwogbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5j
b2RlcjsKQEAgLTM2LDYgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBXZWJB
dXRoblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFdlYkF1dGhuUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycygpOworICAgIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
YXV4aWxpYXJ5UHJvY2Vzc1BhcmFtZXRlcnM7CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29k
ZXImKSBjb25zdDsKICAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQ
Qzo6RGVjb2RlciYsIFdlYkF1dGhuUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjEyMDRl
M2M0M2JiODZhZWQ0NmIzYzUxMTAzNTM4ZWE1NzJiOGQ4MC4uYWZmZDIzYzNkYmZmNmQ1MWE0NmZl
MWY4MTg2YTIzYmViYjM2ZmVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzQwLDYgKzEzNDAsNyBAQAogCQk3QjczMTI0MjI1Q0M4
NTI1MDAzQjI3OTYgLyogU3RyZWFtQ29ubmVjdGlvbkVuY29kZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCNzMxMjM5MjVDQzg1MjUwMDNCMjc5NiAv
KiBTdHJlYW1Db25uZWN0aW9uRW5jb2Rlci5oICovOyB9OwogCQk3QkFCMTExMDI1REQwMkIzMDA4
RkM0NzkgLyogU2NvcGVkQWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JBQjExMEYyNUREMDJCMjAwOEZDNDc5
IC8qIFNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWUuaCAqLzsgfTsKIAkJN0JDRjcwREUy
NjE1RDA2RTAwRTRGQjcwIC8qIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3RDb2NvYS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQ0Y3MENC
MjYxNDkzNUUwMEU0RkI3MCAvKiBTY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0Q29jb2Eu
bW0gKi87IH07CisJCTdCRERBMzQyMjc1OEM5OEYwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdCRERBMzQwMjc1NjUyRUEwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKIAkJN0MwNjVGMkMxQzhDRDk1RjAwQzJEOTUw
IC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwNjVGMkExQzhDRDk1RjAwQzJEOTUwIC8q
IFdlYlVzZXJDb250ZW50Q29udHJvbGxlckRhdGFUeXBlcy5oICovOyB9OwogCQk3QzEzNUFBOTE3
M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxMzVBQTcxNzNCMEJDQTAwNTg2QUUyIC8q
IFdLUGx1Z2luSW5mb3JtYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFy
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQkEz
M0MxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLzsgfTsKQEAgLTUwMTQsNiAr
NTAxNSw4IEBACiAJCTdCQ0Y3MENDMjYxNDkzNUYwMEU0RkI3MCAvKiBTY29wZWRXZWJHTFJlbmRl
cmluZ1Jlc291cmNlc1JlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NvcGVkV2ViR0xS
ZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0JDRjcwQ0QyNjE0OTM1RjAwRTRGQjcwIC8qIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1Jl
cXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QkNGNzBDRTI2MTQ5MzVGMDBFNEZCNzAg
LyogU2NvcGVkV2ViR0xSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNjb3BlZFdlYkdMUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3QkREQTMzRjI3NTY1MkVBMDAzODY1OUUgLyogQXV4aWxpYXJ5UHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXhpbGlhcnlQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdCRERBMzQw
Mjc1NjUyRUEwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QkU3MjY1NzI1NzRGNjcyMDBFODVE
OTggLyogUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUZ1bmN0aW9uc0dlbmVyYXRlZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5RnVuY3Rpb25z
R2VuZXJhdGVkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JFNzI2NjgyNTc2
ODBFRjAwRTg1RDk4IC8qIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMQ29jb2EuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdDMDY1RjI5MUM4Q0Q5NUYwMEMyRDk1MCAvKiBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXJEYXRhVHlwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcwMjEsNiArNzAyNCw4IEBACiAJCQkJMUEyRDk1NkUxMjg0
ODU2NDAwMUVCOTYyIC8qIEF1eGlsaWFyeVByb2Nlc3MuY3BwICovLAogCQkJCTFBMkQ5NTZEMTI4
NDg1NjQwMDFFQjk2MiAvKiBBdXhpbGlhcnlQcm9jZXNzLmggKi8sCiAJCQkJNTE2NEMwOTQxQjA1
Qjc1NzAwNEYxMDJBIC8qIEF1eGlsaWFyeVByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCisJCQkJN0JE
REEzNDAyNzU2NTJFQTAwMzg2NTlFIC8qIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwICovLAorCQkJCTdCRERBMzNGMjc1NjUyRUEwMDM4NjU5RSAvKiBBdXhpbGlhcnlQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggKi8sCiAJCQkJMjkwRjQyNzExNzJBMEM3NDAwOTM5RkYw
IC8qIEF1eGlsaWFyeVByb2Nlc3NTdXBwbGVtZW50LmggKi8sCiAJCQkJRTE2NEEyRUYxOTFBRjE0
RTAwMTA3MzdEIC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmNw
cCAqLywKIAkJCQlFMTY0QTJGMDE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJl
bmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCAqLywKQEAgLTE1MDUwLDYgKzE1MDU1LDcgQEAKIAkJ
CQk5OTI0OUFENTFGMUYxRTU2MDBCNjJGQkIgLyogQXV0b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hl
cnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkzIC8qIEF1
dG9tYXRpb25Qcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3ODYy
MTJCNkFCMTAwRjQ5M0ZEIC8qIEF1eGlsaWFyeVByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJN0JEREEzNDIyNzU4Qzk4RjAwMzg2NTlFIC8qIEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQUVDM0IxQjA2NTc2ODAwMDlDNEU3
IC8qIEF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ5MkE3ODUyMTJCNkFCMTAwRjQ5M0ZEIC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhT
YW5kYm94RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxN0NGMEUzMTYzQTQ4NkMw
MEMyOTUwRiAvKiBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggZGJmODQ5ZGM2Y2IxMjJmMDNiMjFhMTdhMGVmZTBhZDkw
OWQ5MzJjYS4uNzUxNDAyODE2YTdkOGQ5MDcyZDg0NzBjMTQ3MWUxZTBhZGNlMDYyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBA
IC0yMjQsNiArMjI0LDggQEAgc3RhdGljIEJvb2xlYW4gaXNBWEF1dGhlbnRpY2F0ZWRDYWxsYmFj
ayhhdWRpdF90b2tlbl90IGF1ZGl0VG9rZW4pCiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0
ZXJzKQogeworICAgIGFwcGx5UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyhwYXJhbWV0ZXJzLmF1
eGlsaWFyeVByb2Nlc3NQYXJhbWV0ZXJzKTsKKwogICAgIHNldFFPUyhwYXJhbWV0ZXJzLmxhdGVu
Y3lRT1MsIHBhcmFtZXRlcnMudGhyb3VnaHB1dFFPUyk7CiAgICAgCiAjaWYgSEFWRShDQVRBTFlT
VF9VU0VSX0lOVEVSRkFDRV9JRElPTV9BTkRfU0NBTEVfRkFDVE9SKQpAQCAtMjY3LDEyICsyNjks
NiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAgICAgICB9CiAgICAgfQogCi0jaWYgIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBXVEY6OmxvZ0NoYW5uZWxz
KCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53dGZMb2dnaW5n
Q2hhbm5lbHMpOwotICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKTsKLSAgICBX
ZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFy
YW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwotI2VuZGlmCi0KICAgICBtX3VpUHJvY2Vz
c0J1bmRsZUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7
CiAKICNpZiBFTkFCTEUoU0FOREJPWF9FWFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NQbGF5U3RhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc1BsYXlTdGF0aW9u
LmNwcAppbmRleCBjNDRmMGRkNGNmODlhN2NiOGZhYzc4MTg5NmYzNTUxY2YyNDU0ZmI5Li41Y2Y2
M2YwNDBiNzJkMTczMzUwM2MxMWFiZjBhZmExNmYwMDc4ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc1BsYXlTdGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2ViUHJvY2Vzc1BsYXlT
dGF0aW9uLmNwcApAQCAtMzIsMTUgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZv
aWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQordm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQogewotI2lm
ICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgV1RGOjpsb2dDaGFu
bmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud3RmTG9n
Z2luZ0NoYW5uZWxzKTsKLSAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dD
aGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyk7Ci0g
ICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5
KHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKHBhcmFtZXRlcnMpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJikK
</data>

          </attachment>
      

    </bug>

</bugzilla>