<?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>212955</bug_id>
          
          <creation_ts>2020-06-08 21:44:04 -0700</creation_ts>
          <short_desc>[Apple Pay] Enable layout tests on more platforms</short_desc>
          <delta_ts>2020-06-22 09:21:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212975</blocked>
    
    <blocked>212998</blocked>
    
    <blocked>213466</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1660567</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-08 21:44:04 -0700</bug_when>
    <thetext>[Apple Pay] Simplify HAVE(PASSKIT_*) macros and enable tests on more platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660568</commentid>
    <comment_count>1</comment_count>
      <attachid>401413</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-08 21:44:27 -0700</bug_when>
    <thetext>Created attachment 401413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660716</commentid>
    <comment_count>2</comment_count>
      <attachid>401447</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 09:28:15 -0700</bug_when>
    <thetext>Created attachment 401447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660726</commentid>
    <comment_count>3</comment_count>
      <attachid>401449</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 10:26:57 -0700</bug_when>
    <thetext>Created attachment 401449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660730</commentid>
    <comment_count>4</comment_count>
      <attachid>401450</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 10:40:15 -0700</bug_when>
    <thetext>Created attachment 401450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660775</commentid>
    <comment_count>5</comment_count>
      <attachid>401457</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 11:55:51 -0700</bug_when>
    <thetext>Created attachment 401457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660785</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-09 12:08:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/64174156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660987</commentid>
    <comment_count>7</comment_count>
      <attachid>401487</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 16:03:01 -0700</bug_when>
    <thetext>Created attachment 401487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660988</commentid>
    <comment_count>8</comment_count>
      <attachid>401487</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-06-09 16:09:28 -0700</bug_when>
    <thetext>Comment on attachment 401487
Patch

r=me if this compiles and works as you say.  This was the patch I was too lazy to write when upstreaming stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660993</commentid>
    <comment_count>9</comment_count>
      <attachid>401489</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-09 16:13:56 -0700</bug_when>
    <thetext>Created attachment 401489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661163</commentid>
    <comment_count>10</comment_count>
      <attachid>401542</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-10 08:04:01 -0700</bug_when>
    <thetext>Created attachment 401542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663101</commentid>
    <comment_count>11</comment_count>
      <attachid>402007</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-16 08:35:28 -0700</bug_when>
    <thetext>Created attachment 402007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663484</commentid>
    <comment_count>12</comment_count>
      <attachid>402107</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-17 08:00:43 -0700</bug_when>
    <thetext>Created attachment 402107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663499</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-17 08:50:07 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 402107 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663501</commentid>
    <comment_count>14</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-17 08:55:54 -0700</bug_when>
    <thetext>Committed r263150: &lt;https://trac.webkit.org/changeset/263150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663519</commentid>
    <comment_count>15</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-17 09:18:37 -0700</bug_when>
    <thetext>Fixed the build in r263152: &lt;https://trac.webkit.org/changeset/263152&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663549</commentid>
    <comment_count>16</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-17 09:55:04 -0700</bug_when>
    <thetext>Fixed the build in r263158: &lt;https://trac.webkit.org/changeset/263158&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401413</attachid>
            <date>2020-06-08 21:44:27 -0700</date>
            <delta_ts>2020-06-09 09:28:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200608214426.patch</filename>
            <type>text/plain</type>
            <size>68889</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjNlZDkzN2IwODlmMTFmYjkzYjkyOTIzZGZhNmExNTA3MGViZjZh
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhBVkUoUEFTU0tJVF8q
KSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMC0wNi0wOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9w
dCByZWFkLW9ubHkgbW9kZSBmb3IgcHJlZmVyZW5jZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU3MjcxNjE0MDg0NTQwNTEwYjczNTBiZWM3MzZiYzY3NWJlNWRhOTIu
LjZjOWVmYjQyZjAxMDJlOWM5OTQ2N2UxMzVhNTc0ODdhMzVjY2I3ZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0FwcGxlIFBheV0gU2ltcGxpZnkgSEFWRShQQVNTS0lUXyopIG1hY3JvcyBh
bmQgZW5hYmxlIHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRs
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb25XZWJDb3JlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW1UeXBlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbVR5cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudFJldGFpbENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbC4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbik6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6bWFrZU5TQXJyYXlFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5
bWVudEFQSVZlcnNpb25Db2NvYS5tbTogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oLgorICAgICAgICAoV2ViQ29yZTo6
UGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQpOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIwLTA2
LTA4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRlbmRlZCBD
b2xvcjogUmVuYW1lIENvbG9yOjpsaWdodGVuKCkgYW5kIENvbG9yOjpkYXJrZW4oKSB0byBDb2xv
cjo6bGlnaHRlbmVkKCkgYW5kIENvbG9yOjpkYXJrZW5lZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRl
eCBhZDI0N2JlMjc2ODYxOTQwYzczYTYyMjRkNjRhYWU2YmU4MjM2NzFkLi5iY2Q4ZTA5NzcwY2E2
MGU1ODcwNjZjNDE0MGQ2YjE4ZmZkNTA4ZDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgW0FwcGxlIFBheV0gU2ltcGxpZnkgSEFWRShQQVNTS0lUXyopIG1hY3JvcyBhbmQgZW5h
YmxlIHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2Ev
UGFzc0tpdFNvZnRMaW5rLm1tOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdEluc3Rh
bGxtZW50U1BJLmg6IEFkZGVkLgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5o
OgorCiAyMDIwLTA2LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWJDb3JlOiBHdWFyZCBfcHJlY29ubmVjdCBkZWNsYXJhdGlvbiB3aXRoIEVOQUJM
RShTRVJWRVJfUFJFQ09OTkVDVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
RW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRl
eCA1M2QxOWNiYjBjOTY2NzE4OGFhYWIyYzhlNzVkNzBkZTZlYjljYmMyLi5iOTU3ZDNmMzYwMmQz
MzEyZjBhNTIxMDcwYmMwNzljMzBhODcxN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUVuYWJsZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oCkBAIC01NSwxNCArNTUsNiBAQAogI2RlZmluZSBFTkFCTEVfQU5JTUFURURfS0VZQk9B
UkRfU0NST0xMSU5HIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9J
TlNUQUxMTUVOVF9JREVOVElGSUVSUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5U
SUZJRVJTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJT
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9J
VEVNUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVf
QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5B
QkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
CiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgpAQCAtNzEs
MTggKzYzLDYgQEAKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEK
ICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4KSAmJiBI
QVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjggMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjkpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y5IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YxMCkgJiYgSEFWRShQQVNTS0lUX05FV19CVVRUT05fVFlQRVMpCi0jZGVm
aW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTAgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5l
ZChFTkFCTEVfQVBQTEVfUEFZX1JFTU9URV9VSSkgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYm
ICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9S
TShXQVRDSE9TKSkKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkgMQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDBhOTJlOTAzYTMyM2FmMzA1ZTVlZjE2OWQzMmViOTg0
MTMwMGU5MzguLjNkNjdmOTQyZDI5YzhhYmJlZjdjZjNkY2VmZjMxZGI0ZGNjZTJhOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCkBAIC04OSwxMiArODksNiBAQAogI2RlZmluZSBIQVZFX0FWU1RSRUFN
U0VTU0lPTiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9QQVlNRU5UX01F
VEhPRF9CSUxMSU5HX0FERFJFU1MpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUg
SEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCi0jZW5kaWYKLSNl
bmRpZgotCiAjaWYgIWRlZmluZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykgJiYgKFBM
QVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKQogI2RlZmluZSBVU0VfVUlLSVRf
S0VZQk9BUkRfQURESVRJT05TIDEKICNlbmRpZgpAQCAtNjE2LDE0ICs2MTAsMTIgQEAKICNkZWZp
bmUgSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSIDEKICNlbmRpZgogCi0j
aWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTMwMDAwICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwNDAwKSBcCi0g
ICAgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAx
CisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExN
RU5UUyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEID49IDEzMDEwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFM
TE1FTlRTIDEKKyNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRf
UEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTIDEKICNlbmRpZgogCiAjaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBM
QVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24uaWRsCmluZGV4IGYzZGMxNzg5N2I1ZjlmMjk5YjNhZWZiODVjNWEyZjI3
ZTRlYzhlYTEuLmM4NzhjODBhYWUxNTI2ODQ1OTc4NmE3ODlhZGEwYjdhZDQzODg4MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsCkBAIC0zNCw5ICszNCw5IEBACiAg
ICAgRE9NU3RyaW5nIGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBET01TdHJpbmcgY3VycmVuY3lD
b2RlOwogICAgIGJvb2xlYW4gaXNJblN0b3JlUHVyY2hhc2U7Ci0gICAgW0NvbmRpdGlvbmFsPUFQ
UExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRp
ZmllcjsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJT
XSBET01TdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9Q
QVlfSU5TVEFMTE1FTlRfSVRFTVNdIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBp
dGVtczsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBKU09O
IGFwcGxpY2F0aW9uTWV0YWRhdGE7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxM
TUVOVF9JVEVNU10gQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5l
bCA9ICJ1bmtub3duIjsKKyAgICBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOworICAgIERP
TVN0cmluZyByZWZlcnJlcklkZW50aWZpZXI7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+IGl0ZW1zOworICAgIEpTT04gYXBwbGljYXRpb25NZXRhZGF0YTsKKyAgICBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCmluZGV4
IDdjMzEzMWJjZDMwZDExZDNmYWQwMWQzNTU4YTM1MzY2ZWY4NDg2ZDkuLmM2NTM5YjA0Y2FkODE0
Y2M2YzE3ZjdlMGUzN2NlZTYyNTNlZDQ0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaApAQCAtNDIsMTUgKzQyLDExIEBAIHN0cnVjdCBBcHBsZVBh
eUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB7CiAgICAgU3RyaW5nIGJpbmRpbmdUb3RhbEFtb3Vu
dDsKICAgICBTdHJpbmcgY3VycmVuY3lDb2RlOwogICAgIGJvb2wgaXNJblN0b3JlUHVyY2hhc2Ug
eyBmYWxzZSB9OwotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMp
CiAgICAgU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcgcmVmZXJyZXJJZGVu
dGlmaWVyOwotI2VuZGlmCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykK
ICAgICBWZWN0b3I8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwogICAgIFN0cmluZyBh
cHBsaWNhdGlvbk1ldGFkYXRhOwogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
IHJldGFpbENoYW5uZWwgeyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbDo6VW5rbm93
biB9OwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVt
LmgKaW5kZXggZTZjYWEyYTBjZTBhMTQwOWY3Zjk0YTM1NWQxYmQwNGU4MWI4NTE5ZC4uZTlmODhj
N2UxNzk5NWVkMjk3NzgwOWMwNmI3NjgxYzI2N2EzMGNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaApA
QCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlf
SU5TVEFMTE1FTlRfSVRFTVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAK
ICNpbmNsdWRlICJBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KQEAgLTQzLDQgKzQzLDQgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtIHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKaW5kZXggMTU1YTZkNjk5NDIxNzhh
YTdiNmNmZmRjNzY4NjU3OGZmZDFjZGU4Ni4uZGM2MTVlNjBhNDJiZjBhN2MxYjE1NDgxYzVlNmQ3
OWZmZWQ2MTRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAq
LwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TLAorICAg
IENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QsCiBdIGRpY3Rpb25hcnkgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogICAgIEFwcGxl
UGF5SW5zdGFsbG1lbnRJdGVtVHlwZSB0eXBlID0gImdlbmVyaWMiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW1UeXBlLmgKaW5kZXggMmRjZmJlNjhjMmEyMWRmNTY4NTNiY2FkZWE5NzNmYWZlMDRiZGUxNi4u
YzMzODFmZDFkYzM1MmU3YjMzNTNlZGJjMzI0NzE2MGY1OTY3NmI2MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtVHlwZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5B
QkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lO
U1RBTExNRU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw0ICszOSw0IEBAIGVu
dW0gY2xhc3MgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIDogdWludDhfdCB7CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1F
TlRfSVRFTVMpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtVHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZS5pZGwKaW5kZXggNzM2MzI1NzcxZjViNmY2NWMzOTZhYzUzNTkw
ZDY4M2MyNzdkMDdhNS4uYjQwYWMzMDJkZjFhNjE4NWNlM2I5ODdjNDk0OTBjNGU2MzRiNTdkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbVR5cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAK
IFsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29u
ZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxt
ZW50SXRlbVR5cGUgewogICAgICJnZW5lcmljIiwKICAgICAicGhvbmUiLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50UmV0YWlsQ2hhbm5lbC5oCmluZGV4IDM4Y2I5ZGI0MzIwMWFlOWY3Nzg1NzlkMTQ5YTMw
ZGZjMTU5YmIyMGYuLjYxN2UxODQ2OGQ3ZTU5OTk4YjQwNWViOWI5NmI4OTQ3NjhkZjkzNzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudFJldGFpbENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQor
I2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTM4LDQgKzM4LDQgQEAgZW51bSBjbGFzcyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbCA6IHVpbnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
LmlkbAppbmRleCBkMDhiMTAzMTA2NGE1Mzg2ODc3Y2U1M2U1MmI0ODcwZTdlNDUwMzJlLi5lMjUw
MDI3MGY2NmJkMmRiNmI0MzMzMDU0Yzk1NjJhYWZiMDIyZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRSZXRhaWxDaGFubmVsLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBD
b25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9
QVBQTEVfUEFZX0lOU1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbCB7CiAgICAgInVua25vd24iLAogICAgICJhcHAiLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
YjgyNGRjODE3ZTAyMTBiOTFjY2RkOWVmYzAxN2U3N2M5NzMzYjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmgKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQ
UExFX1BBWSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGF5bWVudEFQSVZlcnNp
b24geworICAgIHN0YXRpYyB1bnNpZ25lZCBjdXJyZW50KCk7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGll
bnQuY3BwCmluZGV4IGFjNzRhNGJmM2I1ZTU5YzMyZjUxZTUzODFjZmQwZmQxZGZhZTZlMDcuLjZk
MmI0Y2FlZDAwYWM5Y2Q0YTVlMDk3ZmE4MWY1Mzk0NzdmMTM5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNs
aWVudC5jcHAKQEAgLTI4LDIzICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAor
I2luY2x1ZGUgIlBheW1lbnRBUElWZXJzaW9uLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ym9vbCBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2
ZXJzaW9uKQogewotICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxFKEFQUExF
X1BBWV9TRVNTSU9OX1Y4KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lv
biA9IDc7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y5KQotICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDg7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BB
WV9TRVNTSU9OX1YxMCkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24g
PSA5OwotI2Vsc2UKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAx
MDsKLSNlbmRpZgotCi0gICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247CisgICAg
QVNTRVJUKHZlcnNpb24pOworICAgIHJldHVybiB2ZXJzaW9uIDw9IFBheW1lbnRBUElWZXJzaW9u
OjpjdXJyZW50KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbi5tbQppbmRleCA1ODA1MWJmY2MwYTg0OGZhYTFmZDg0ZjVlMzRhZTc1
ZjQ0MzRlNTUwLi43ZTIzMTllNjk2YzI5OTE0YjA1ZWIxYjU4ZDQ5YTA3OWNlYjVjNDRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCkBAIC04MCw4ICs4MCw2IEBAIHN0YXRp
YyBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBlIHBsYXRmb3JtRmVhdHVyZVR5cGUoQXBwbGVQYXlT
ZXR1cEZlYXR1cmVUeXBlIGZlCiAgICAgfQogfQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UX0lURU1TKQotCiBzdGF0aWMgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIGFwcGxlUGF5
SXRlbVR5cGUoUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGl0ZW1UeXBlKQogewogICAgIHN3aXRjaCAo
aXRlbVR5cGUpIHsKQEAgLTE0NCw2ICsxNDIsNyBAQCBzdGF0aWMgUEtJbnN0YWxsbWVudFJldGFp
bENoYW5uZWwgcGxhdGZvcm1SZXRhaWxDaGFubmVsKEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaQog
CiBzdGF0aWMgUmV0YWluUHRyPGlkPiBtYWtlTlNBcnJheUVsZW1lbnQoY29uc3QgQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW0mIGl0ZW0pCiB7CisgICAgQVNTRVJUKFBBTDo6Z2V0UEtQYXltZW50SW5z
dGFsbG1lbnRJdGVtQ2xhc3MoKSk7CiAgICAgYXV0byBpbnN0YWxsbWVudEl0ZW0gPSBhZG9wdE5T
KFtQQUw6OmFsbG9jUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtSW5zdGFuY2UoKSBpbml0XSk7CiAg
ICAgW2luc3RhbGxtZW50SXRlbSBzZXRJbnN0YWxsbWVudEl0ZW1UeXBlOnBsYXRmb3JtSXRlbVR5
cGUoaXRlbS50eXBlKV07CiAgICAgW2luc3RhbGxtZW50SXRlbSBzZXRBbW91bnQ6dG9EZWNpbWFs
TnVtYmVyKGl0ZW0uYW1vdW50KV07CkBAIC0xNzAsMTAgKzE2OSwxMSBAQCBzdGF0aWMgT3B0aW9u
YWw8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IG1ha2VWZWN0b3JFbGVtZW50KGNvbnN0IEFwcGxl
UGF5SW5zdGFsbAogICAgIH07CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRfSVRFTVMpCi0KIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oY29uc3QgQXBwbGVQYXlJbnN0YWxs
bWVudENvbmZpZ3VyYXRpb24mIGNvcmVDb25maWd1cmF0aW9uLCBOU0RpY3Rpb25hcnkgKmFwcGxp
Y2F0aW9uTWV0YWRhdGEpCiB7CisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbkNsYXNzKCkpCisgICAgICAgIHJldHVybiBuaWw7CisKICAgICBhdXRvIGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uSW5zdGFuY2UoKSBpbml0XSk7CiAKICAgICBbY29uZmlndXJhdGlvbiBzZXRGZWF0
dXJlOnBsYXRmb3JtRmVhdHVyZVR5cGUoY29yZUNvbmZpZ3VyYXRpb24uZmVhdHVyZVR5cGUpXTsK
QEAgLTE4NSwyOSArMTg1LDE1IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiAKICAgICBhdXRv
IG1lcmNoYW5kaXNpbmdJbWFnZURhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0
aEJhc2U2NEVuY29kZWRTdHJpbmc6Y29yZUNvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0ltYWdl
RGF0YSBvcHRpb25zOjBdKTsKICAgICBbY29uZmlndXJhdGlvbiBzZXRNZXJjaGFuZGlzaW5nSW1h
Z2VEYXRhOm1lcmNoYW5kaXNpbmdJbWFnZURhdGEuZ2V0KCldOwotCi0jaWYgSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIVtj
b25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0SW5zdGFsbG1lbnRN
ZXJjaGFudElkZW50aWZpZXI6KV0gfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Ioc2V0UmVmZXJyZXJJZGVudGlmaWVyOildKQotICAgICAgICByZXR1cm4gY29u
ZmlndXJhdGlvbjsKLSNlbmRpZgogICAgIFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50TWVy
Y2hhbnRJZGVudGlmaWVyOmNvcmVDb25maWd1cmF0aW9uLm1lcmNoYW50SWRlbnRpZmllcl07CiAg
ICAgW2NvbmZpZ3VyYXRpb24gc2V0UmVmZXJyZXJJZGVudGlmaWVyOmNvcmVDb25maWd1cmF0aW9u
LnJlZmVycmVySWRlbnRpZmllcl07Ci0jZW5kaWYKLSAgICAKLSNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRfSVRFTVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRp
b24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudEl0ZW1zOildCi0g
ICAgICAgIHx8ICFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNl
dEFwcGxpY2F0aW9uTWV0YWRhdGE6KV0KLSAgICAgICAgfHwgIVtjb25maWd1cmF0aW9uIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0UmV0YWlsQ2hhbm5lbDopXSkKKworICAgIGlmICgh
UEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICByZXR1cm4g
Y29uZmlndXJhdGlvbjsKLSNlbmRpZgorCiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1l
bnRJdGVtczpjcmVhdGVOU0FycmF5KGNvcmVDb25maWd1cmF0aW9uLml0ZW1zKS5nZXQoKV07CiAg
ICAgW2NvbmZpZ3VyYXRpb24gc2V0QXBwbGljYXRpb25NZXRhZGF0YTphcHBsaWNhdGlvbk1ldGFk
YXRhXTsKICAgICBbY29uZmlndXJhdGlvbiBzZXRSZXRhaWxDaGFubmVsOnBsYXRmb3JtUmV0YWls
Q2hhbm5lbChjb3JlQ29uZmlndXJhdGlvbi5yZXRhaWxDaGFubmVsKV07Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShhcHBsaWNhdGlvbk1ldGFkYXRhKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGNv
bmZpZ3VyYXRpb247CiB9CkBAIC0yMTUsMTQgKzIwMSwxMiBAQCBzdGF0aWMgUmV0YWluUHRyPFBL
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1cmF0
aW9uKAogRXhjZXB0aW9uT3I8UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gUGF5bWVu
dEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6Y3JlYXRlKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogewogICAgIE5TRGljdGlvbmFyeSAqYXBw
bGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBuaWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9J
TlNUQUxMTUVOVF9JVEVNUykKICAgICBpZiAoIWNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRh
ZGF0YS5pc051bGwoKSkgewogICAgICAgICBOU0RhdGEgKmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBb
Y29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nXTsKICAgICAgICAgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkg
PSBkeW5hbWljX29iamNfY2FzdDxOU0RpY3Rpb25hcnk+KFtOU0pTT05TZXJpYWxpemF0aW9uIEpT
T05PYmplY3RXaXRoRGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhIG9wdGlvbnM6MCBlcnJvcjpuaWxd
KTsKICAgICAgICAgaWYgKCFhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSkKICAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJhcHBsaWNhdGlvbk1ldGFkYXRhIG11
c3QgYmUgYSBKU09OIG9iamVjdCIgfTsKICAgICB9Ci0jZW5kaWYKIAogICAgIHJldHVybiBQYXlt
ZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIGFwcGxpY2F0aW9uTWV0
YWRhdGFEaWN0aW9uYXJ5KTsKIH0KQEAgLTI0NSw2ICsyMjksOCBAQCBQS1BheW1lbnRJbnN0YWxs
bWVudENvbmZpZ3VyYXRpb24gKlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OnBsYXRm
b3JtQ29uZgogQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKSBjb25z
dAogewogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbjsKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uQ2xhc3MoKSkKKyAgICAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsK
IAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSA9IGFwcGxlUGF5U2V0
dXBGZWF0dXJlVHlwZShbbV9jb25maWd1cmF0aW9uIGZlYXR1cmVdKTsKIApAQCAtMjU0LDIzICsy
NDAsMTIgQEAgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24ub3BlblRvQnV5VGhyZXNob2xkQW1vdW50ID0gZnJvbURlY2ltYWxOdW1iZXIoW21fY29u
ZmlndXJhdGlvbiBvcGVuVG9CdXlUaHJlc2hvbGRBbW91bnRdKTsKIAogICAgIGluc3RhbGxtZW50
Q29uZmlndXJhdGlvbi5tZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gW1ttX2NvbmZpZ3VyYXRpb24g
bWVyY2hhbmRpc2luZ0ltYWdlRGF0YV0gYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBd
OwotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2lmIFBMQVRG
T1JNKE1BQykKLSAgICBpZiAoIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihpbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcildIHx8ICFbbV9jb25maWd1cmF0
aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmVmZXJyZXJJZGVudGlmaWVyKV0pCi0g
ICAgICAgIHJldHVybiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBpbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24ubWVyY2hhbnRJZGVudGlmaWVyID0gW21fY29uZmlndXJhdGlv
biBpbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgaW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uLnJlZmVycmVySWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gcmVmZXJyZXJJZGVu
dGlmaWVyXTsKLSNlbmRpZgogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVN
UykKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zdGFsbG1lbnRJdGVtcyldCi0gICAgICAgIHx8ICFbbV9j
b25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25NZXRh
ZGF0YSldCi0gICAgICAgIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IocmV0YWlsQ2hhbm5lbCldKQorICAgIGlmICghUEFMOjpnZXRQS1BheW1lbnRJbnN0
YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uOwotI2VuZGlmCisKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGFwcGxpY2F0aW9uTWV0YWRh
dGFTdHJpbmc7CiAgICAgaWYgKE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YURpY3Rp
b25hcnkgPSBbbV9jb25maWd1cmF0aW9uIGFwcGxpY2F0aW9uTWV0YWRhdGFdKSB7CiAgICAgICAg
IGlmIChOU0RhdGEgKmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbTlNKU09OU2VyaWFsaXphdGlvbiBk
YXRhV2l0aEpTT05PYmplY3Q6YXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgb3B0aW9uczpO
U0pTT05Xcml0aW5nU29ydGVkS2V5cyBlcnJvcjpuaWxdKQpAQCAtMjgwLDcgKzI1NSw2IEBAIEFw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1z
ID0gbWFrZVZlY3RvcjxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4oW21fY29uZmlndXJhdGlvbiBp
bnN0YWxsbWVudEl0ZW1zXSk7CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmFwcGxpY2F0
aW9uTWV0YWRhdGEgPSBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nLmdldCgpOwogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5yZXRhaWxDaGFubmVsID0gYXBwbGVQYXlSZXRhaWxDaGFubmVs
KFttX2NvbmZpZ3VyYXRpb24gcmV0YWlsQ2hhbm5lbF0pOwotI2VuZGlmCiAKICAgICByZXR1cm4g
aW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1t
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFhZDUxMGZhMmQyNjU2NjlmYzEzM2Y3NDkzN2I4MTQ5ZTIwZDM2N2IKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1Bh
eW1lbnRBUElWZXJzaW9uQ29jb2EubW0KQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGF5bWVudEFQSVZlcnNpb24uaCIKKworI2lmIEVO
QUJMRShBUFBMRV9QQVkpCisKKyNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3Vy
cmVudCgpCit7CisgICAgc3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7CisjaWYgSEFWRShQ
QVNTS0lUX05FV19CVVRUT05fVFlQRVMpCisgICAgICAgIHJldHVybiAxMDsKKyNlbGlmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbkNsYXNzKCkpIHsKKyAgICAgICAgICAgIGlmIChQQUw6OmdldFBL
UGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDk7
CisgICAgICAgICAgICByZXR1cm4gODsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIHJldHVy
biA3OworICAgIH0oKTsKKyAgICByZXR1cm4gY3VycmVudDsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3OTFjMTRhNTZlOTBj
ZjIwMmY5M2MwOTI5Mjg5NTM4MjE5NTkyZjA0Li4yNTA1YmMwZmYxZWY3Njg1NmIxYTgwYjc5YWM2
MmNjY2EyNmJkNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xNTQsNiArMTU0LDcgQEAKIAkJQTExNzVCNTcxRjZCNDcwNTAw
QzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1
bHRTZWFyY2hQcm92aWRlci5oICovOyB9OwogCQlBMTE3NUI1ODFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMTc1QjU2MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNo
UHJvdmlkZXIuY3BwICovOyB9OwogCQlBMTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3Jv
bGxWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi87IH07CisJ
CUExNjlCMDQxMjQ4RUYwNTIwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQwMjQ4RUYw
MzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRTUEkuaCAqLzsgfTsKIAkJQTFGNjNDOUYy
MUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBh
c3NLaXRTb2Z0TGluay5oICovOyB9OwogCQlBMUY2M0NBMDIxQTREQkY3MDA2RkI0M0IgLyogUGFz
c0tpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFGNjNDOUUyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLzsg
fTsKIAkJQTMwRDQxMjExRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzBENDExRTFGMEREMEVBMDBCNzE5
NTQgLyogS2lsbFJpbmcuaCAqLzsgfTsKQEAgLTM0MSw2ICszNDIsNyBAQAogCQlBMTE3NUI1NTFG
NkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERlZmF1bHRTZWFyY2hQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MTE3NUI1NjFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExMTc1QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTY3JvbGxWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1l
bnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzc0tpdEluc3RhbGxtZW50U1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExRjYzQzlEMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0
U29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExRjYzQzlFMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29m
dExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXNzS2l0U29mdExpbmsubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxs
UmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBLaWxsUmluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDc0LDYgKzQ3Niw3IEBACiAJCQkJMEMyREExMzgx
RjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUMx
NUNCQjMyMjNGMzRBMTIwMDMwMENDNyAvKiBOU1VzZXJEZWZhdWx0c1NQSS5oICovLAogCQkJCTU3
MEFCOEY4MjBBRjZFM0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCAqLywKKwkJCQlB
MTY5QjA0MDI0OEVGMDM5MDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxtZW50U1BJLmggKi8sCiAJ
CQkJMEMyREExMzkxRjNCRUI0OTAwREJDMzE3IC8qIFBhc3NLaXRTUEkuaCAqLywKIAkJCQkwQzJE
QTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyogcHRocmVhZFNQSS5oICovLAogCQkJCTBDMkRBMTNCMUYz
QkVCNDkwMERCQzMxNyAvKiBRdWFydHpDb3JlU1BJLmggKi8sCkBAIC04NTAsNiArODUzLDcgQEAK
IAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBGNEVCQjYgLyogTlNXaW5kb3dTUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTU3MEFCOEY5MjBBRjZFM0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEku
aCBpbiBIZWFkZXJzICovLAogCQkJCTBDNUFGOTFGMUY0M0E0QzcwMDJFQUMwMiAvKiBPcGVuR0xF
U1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTE2OUIwNDEyNDhFRjA1MjAwRUU4QjdCIC8qIFBh
c3NLaXRJbnN0YWxsbWVudFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjNDOUYyMUE0REJG
NzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREEx
NTUxRjNCRUI0OTAwREJDMzE3IC8qIFBhc3NLaXRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
Nzc4NTlFMUY0NTEzMEYwMEY0RUJCNiAvKiBQSVBTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggZWFmMWQ5
YmUyODhmNDE1NDdmYTc5MTYzNzBjZDA5OWJiZDM5NTZmNC4uNzdlYWRiMzRmYTEwYzQyNDlhZjVm
N2RhNjZkMzFjY2MyYjc5MDUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L1Bhc3NLaXRTb2Z0TGluay5oCkBAIC00OSw5ICs0OSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgUEtTaGlwcGluZ01ldGhvZCkKIAogI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbikKLSNlbmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
X0lURU1TKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxs
bWVudEl0ZW0pCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
b2NvYS9QYXNzS2l0U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bh
c3NLaXRTb2Z0TGluay5tbQppbmRleCBjMWZmZjkwZDVhZDZiYWYzOGI4NWU5YmFkNTdjZDJjYjRj
NzMwMTRiLi5hYjg3M2I5YzVmYzFlNzJmN2FmZjgzNTc4NDZlNGYzZGYxNjBiNTdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtMzEs
NiArMzEsNyBAQAogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpZiBQTEFURk9STShN
QUMpCisKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgUGFzc0tpdCwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Vf
T1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbmZpZ3Vy
YXRpb24sIFBBTF9FWFBPUlQpCkBAIC0zOCwxNCArMzksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVw
Q29udAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFM
LCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cEZlYXR1cmUsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5
bWVudFNldHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9S
VCkKLSNlbmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQ
S1BheW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQogI2Vsc2UgLy8g
UExBVEZPUk0oTUFDKQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBQYXNzS2l0LCBQQUxfRVhQT1JUKQpAQCAtNTYsMTYgKzQ5LDEzIEBAIFNPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBGZWF0dXJlLCBQQUxfCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBWaWV3Q29udHJvbGxlciwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCi1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NL
aXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNlbmRp
ZgorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVO
VF9JVEVNUykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFz
c0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQorI2lmIEhBVkUoUEFT
U0tJVF9JTlNUQUxMTUVOVFMpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9X
SVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
biwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhf
RVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JU
KQogI2VuZGlmCiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpCi0KIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtDb250YWN0LCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQ
S1Bhc3NMaWJyYXJ5LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lU
SF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnQsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudFNQ
SS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3N2NjNDBiNjFiNmZlZDhhZTBiNDA4OGI3MmJmNTk1ZWFhYzMxOGIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNz
S2l0SW5zdGFsbG1lbnRTUEkuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UU19JTl9TREspCisKKyNpbXBvcnQgPFBhc3NLaXQv
UEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisKKyNlbGlmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCisKKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3QuaD4KKyNpbXBv
cnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFNldHVwRmVhdHVyZS5oPgorCit0eXBlZGVmIE5TX0VO
VU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUpOworCit0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUpIHsKKyAgICBQS0luc3RhbGxtZW50
SXRlbVR5cGVHZW5lcmljID0gMCwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQaG9uZSwKKyAg
ICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlV2F0
Y2gsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjLAorfTsKKwordHlwZWRlZiBOU19FTlVN
KE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwpIHsKKyAgICBQS0luc3RhbGxt
ZW50UmV0YWlsQ2hhbm5lbFVua25vd24gPSAwLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFu
bmVsQXBwLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsV2ViLAorICAgIFBLSW5zdGFs
bG1lbnRSZXRhaWxDaGFubmVsSW5TdG9yZSwKK307CisKK3R5cGVkZWYgTlNfRU5VTShOU1VJbnRl
Z2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgeworICAgIFBLUGF5bWVudFJlcXVlc3RUeXBlSW5z
dGFsbG1lbnQgPSA1LAorfTsKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CitAZW5kCisKK0BpbnRlcmZhY2Ug
UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPgorQGVu
ZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiAoKQorQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0
dXJlOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0lt
YWdlRGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAq
b3BlblRvQnV5VGhyZXNob2xkQW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykg
TlNEZWNpbWFsTnVtYmVyICpiaW5kaW5nVG90YWxBbW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24sIGdldHRlcj1pc0luU3RvcmVQdXJjaGFzZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJ
ZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJl
cklkZW50aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNBcnJheTxQS1BheW1l
bnRJbnN0YWxsbWVudEl0ZW0gKj4gKmluc3RhbGxtZW50SXRlbXM7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqYXBwbGljYXRpb25NZXRh
ZGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRSZXRhaWxD
aGFubmVsIHJldGFpbENoYW5uZWw7CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFs
bG1lbnRJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50
SXRlbVR5cGUgaW5zdGFsbG1lbnRJdGVtVHlwZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
KSBOU0RlY2ltYWxOdW1iZXIgKmFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U1N0cmluZyAqY3VycmVuY3lDb2RlOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3Ry
aW5nICpwcm9ncmFtSWRlbnRpZmllcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0Rl
Y2ltYWxOdW1iZXIgKmFwcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAq
cHJvZ3JhbVRlcm1zOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5
cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBQS1BheW1lbnRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24gKmluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlOworQGVuZAorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NL
aXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApp
bmRleCAwMTgwMTdlZDMwMjcxY2MzZTliNTMwN2JmMmU2NzE2YWQwZTIzNTEwLi43Y2UwYzgxNjk3
OWY4NzE5OWNiY2Y5NDU4YjE2ZGNjMmE0ODhmNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC0zNSw2ICszNSw4IEBAIFdURl9FWFRFUk5f
Q19FTkQKIAogI2VuZGlmCiAKKyNpbXBvcnQgIlBhc3NLaXRJbnN0YWxsbWVudFNQSS5oIgorCiAj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8UGFzc0tpdC9QS0NvbnRhY3Qu
aD4KQEAgLTQ0LDE4ICs0NiwxMyBAQCBXVEZfRVhURVJOX0NfRU5ECiAjaW1wb3J0IDxQYXNzS2l0
L1BLUGF5bWVudFBhc3MuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0aG9yaXphdGlv
blZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50TWV0
aG9kLmg+Ci0jaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cENvbmZpZ3VyYXRpb25fV2ViS2l0Lmg+CiAjaW1w
b3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwQ29udHJvbGxlci5oPgogI2ltcG9ydCA8UGFzc0tp
dC9QS1BheW1lbnRTZXR1cFJlcXVlc3QuaD4KLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVu
dFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50
UmVxdWVzdF9XZWJLaXQuaD4KLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiAjaW1w
b3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGFzc0tpdENv
cmUvUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxQYXNzS2l0
Q29yZS9QS1BheW1lbnRNZXRob2RfUHJpdmF0ZS5oPgotI2VuZGlmCisjaW1wb3J0IDxQYXNzS2l0
Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NLaXRD
b3JlL1BLUGF5bWVudFJlcXVlc3RfV2ViS2l0Lmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcl9Qcml2
YXRlLmg+CkBAIC0zMzgsMTQgKzMzNSw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIs
IFBLUGF5bWVudFNldHVwRmVhdHVyZVN1cHBvcnRlZE9wdGlvbnMpIHsKIAogI2lmIEhBVkUoUEFT
U0tJVF9JTlNUQUxMTUVOVFMpCiAKLXR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFs
bG1lbnRJdGVtVHlwZSkgewotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAwLAot
ICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25lLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZVBhZCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVXYXRjaCwKLSAgICBQS0luc3RhbGxtZW50
SXRlbVR5cGVNYWMKLX07Ci0KIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRS
ZXF1ZXN0VHlwZSkgewogICAgIFBLUGF5bWVudFJlcXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAog
fTsKQEAgLTM1OCwxOCArMzQ3LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5
bWVudFJlcXVlc3RUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcg
KmJpbmRUb2tlbjsKIEBlbmQKIAotQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBlIGZlYXR1cmU7Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOwotQHByb3Bl
cnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpvcGVuVG9CdXlUaHJlc2hv
bGRBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIg
KmJpbmRpbmdUb3RhbEFtb3VudDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmlu
ZyAqY3VycmVuY3lDb2RlOwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgZ2V0dGVyPWlz
SW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQdXJjaGFzZTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSBpbnN0YWxsbWVudEl0ZW1UeXBlOwot
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50
SWRlbnRpZmllcjsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJy
ZXJJZGVudGlmaWVyOwotQGVuZAotCiAjZW5kaWYKIAogQGludGVyZmFjZSBQS1BheW1lbnRNZXJj
aGFudFNlc3Npb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2RpbmcsIE5TQ29weWluZz4KQEAgLTM5
NiwxNCArMzczLDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVl
c3RUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9u
ZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpDVERhdGFDb25uZWN0aW9uU2Vydmlj
ZVR5cGU7Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzdHJvbmcpIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiAqaW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uOwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50
UmVxdWVzdFR5cGUgcmVxdWVzdFR5cGU7Ci0jZW5kaWYKLUBlbmQKLQotQGludGVyZmFjZSBQS1Bh
eW1lbnRSZXF1ZXN0ICgpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRS
ZXF1ZXN0QVBJVHlwZSBBUElUeXBlOwogQGVuZAogCiAjaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lO
VEVSRkFDRV9JREVOVElGSUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMmFjN2RhNzY5
M2ZiODE1Yjg2MjczODFhMDdhYjJhZjBiNzdmMTFhMi4uMmY4YjQyNjJiNzA3NjMyMTU0NDFiMDgx
MmEzYjMwYTc4ZjY0NzI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29h
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC02MTMsNiArNjEz
LDcgQEAgV0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5jcHAKICAgICBNb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50U2Vzc2lvbi5jcHAKIAorICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQ
SVZlcnNpb25Db2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvY29h
Lm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFjdENvY29hLm1tCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50TWVyY2hhbnRTZXNzaW9uQ29jb2EubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBkNTMzN2M5NTYwMmY0MWZmOWFkNDVmMGJkZTc1Njk1MDZiNDU4MmU5Li4wMjFjYWNmNmE2
MDBhYzc0NjQ1MjQzMzBmY2I1YTZlMjQ5MTQ4ZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03NSw5ICs3NSw3IEBACiAJCTA2
NkM3NzJCMEFCNjAzQjcwMDIzOENDNCAvKiBGaWxlQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDY2Qzc3MkEwQUI2MDNCNzAwMjM4Q0M0IC8q
IEZpbGVDaG9vc2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMDY2Qzc3MzEwQUI2MDNGRDAwMjM4Q0M0IC8qIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNjZD
NzcyRjBBQjYwM0ZEMDAyMzhDQzQgLyogUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCAqLzsgfTsK
IAkJMDZFODFFRDcwQUI1RDVFOTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDZFODFF
RDYwQUI1RDVFOTAwQzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA3MDMzNEQzMTQ1
OUZGQUQwMDhEOEQ0NSAvKiBUcmFja0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MDMzNEQwMTQ1OUZGQUMwMDhEOEQ0NSAvKiBUcmFja0V2
ZW50LmNwcCAqLzsgfTsKIAkJMDcwMzM0RDcxNDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwMzM0RDYx
NDU5RkZENTAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA3MDMzNEQ5MTQ1QTAwNkYwMDhEOEQ0NSAvKiBUcmFj
a0Jhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDcwMzM0RDgxNDVBMDA2RjAwOEQ4RDQ1IC8qIFRyYWNrQmFzZS5jcHAgKi87IH07CiAJCTA3MDM2
M0UyMTgxQTFDREMwMEMwNzRBNSAvKiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzAzNjNEQTE4MUExQ0RDMDBD
MDc0QTUgLyogQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3MDM2M0UzMTgxQTFDREMwMEMwNzRBNSAvKiBB
VkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDcwMzYzREIxODFBMUNEQzAwQzA3NEE1IC8qIEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0gKi87IH07CiAJCTA3MDM2M0U2MTgxQTFDREMwMEMwNzRBNSAvKiBBVlZpZGVv
Q2FwdHVyZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMDcwMzYzREUxODFBMUNEQzAwQzA3NEE1IC8qIEFWVmlkZW9DYXB0dXJlU291cmNlLmgg
Ki87IH07CkBAIC0xMDAsNyArOTgsNiBAQAogCQkwNzBFODFEMTFCRjI3NjU2MDAxRkRBNDggLyog
VmlkZW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDcwRTgxRDAxQkYyNzY1NjAwMUZEQTQ4IC8qIFZpZGVvVHJh
Y2tQcml2YXRlTWVkaWFTdHJlYW0uaCAqLzsgfTsKIAkJMDcwRjU0OTgxN0YxMkY2QjAwMTY5RTA0
IC8qIE1lZGlhU3RyZWFtQ29uc3RyYWludHNWYWxpZGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzBGNTQ5NzE3RjEyRjZCMDAxNjlF
MDQgLyogTWVkaWFTdHJlYW1Db25zdHJhaW50c1ZhbGlkYXRpb25DbGllbnQuaCAqLzsgfTsKIAkJ
MDcxOTQyN0YxRDA4OEYyMTAwMkFBNTFEIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDdDOEFEMTExRDA3M0Q2
MzAwODdDNUNFIC8qIEFWQXNzZXRNSU1FVHlwZUNhY2hlLm1tICovOyB9OwotCQkwNzFBOUVDMjE2
OEZCQzQzMDAyNjI5RjkgLyogVGV4dFRyYWNrQ3VlR2VuZXJpYy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzFBOUVDMDE2OEZCNTZDMDAyNjI5Rjkg
LyogVGV4dFRyYWNrQ3VlR2VuZXJpYy5jcHAgKi87IH07CiAJCTA3MUE5RUMzMTY4RkJDNTUwMDI2
MjlGOSAvKiBUZXh0VHJhY2tDdWVHZW5lcmljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzFBOUVDMTE2OEZCNTZDMDAyNjI5RjkgLyogVGV4dFRyYWNr
Q3VlR2VuZXJpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTA3MUU0OTZFMUFENUFBMEQwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0Q29j
b2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzFF
NDk2RDFBRDVBQTBEMDA4QTUwQjQgLyogTWVkaWFQbGF5YmFja1RhcmdldENvY29hLm1tICovOyB9
OwogCQkwNzFFNDk3MDFBRDVBQjVFMDA4QTUwQjQgLyogTWVkaWFQbGF5YmFja1RhcmdldENvY29h
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzFFNDk2
RjFBRDVBQjVFMDA4QTUwQjQgLyogTWVkaWFQbGF5YmFja1RhcmdldENvY29hLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNCwxNiArMTIxLDEz
IEBACiAJCTA3M0ExNTU0MjE3N0E0MjYwMEVBMDhGMiAvKiBSZW1vdGVWaWRlb1NhbXBsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDczQTE1NTMyMTc3
QTM5QTAwRUEwOEYyIC8qIFJlbW90ZVZpZGVvU2FtcGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDczQjg3NjcxRTQzODVBQzAwNzFDMEVDIC8q
IEF1ZGlvU2FtcGxlQnVmZmVyTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDczQjg3NjMxRTQzODU5RDAwNzFDMEVDIC8qIEF1ZGlvU2FtcGxlQnVm
ZmVyTGlzdC5oICovOyB9OwogCQkwNzNCODc2OTFFNDM4NUFDMDA3MUMwRUMgLyogQXVkaW9TYW1w
bGVEYXRhU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzNCODc2NTFFNDM4NTlEMDA3MUMwRUMgLyogQXVkaW9TYW1wbGVEYXRhU291cmNlLmgg
Ki87IH07Ci0JCTA3M0JEQzA1MUY2ODQzNjEwMEVFMzRFRCAvKiBUcmFja1ByaXZhdGVCYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NkUxMUJF
MUY2ODNFMEQwMDE3NzM5NSAvKiBUcmFja1ByaXZhdGVCYXNlLmNwcCAqLzsgfTsKIAkJMDc0RTgy
QkIxOEE2OUYwRTAwN0VGNTRDIC8qIFBsYXRmb3JtVGltZVJhbmdlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0RTgyQjkxOEE2OUYwRTAwN0VGNTRD
IC8qIFBsYXRmb3JtVGltZVJhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTA3NTM4NjAyMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0
VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDc1Mzg2MDAxNDQ4OUU5ODAwQjc4NDUyIC8qIENhY2hlZFRleHRUcmFjay5jcHAgKi87IH07CiAJ
CTA3NTM4NjAzMTQ0ODlFOTgwMEI3ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NTM4NjAxMTQ0ODlFOTgwMEI3
ODQ1MiAvKiBDYWNoZWRUZXh0VHJhY2suaCAqLzsgfTsKIAkJMDc1NEE1RUEyMTVFQTNCODAwMkQz
QTk5IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzU0QTVFODIxNUVBM0I3MDAyRDNBOTkgLyogUmVh
bHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkwNzU3QjEzRTIxNEFFNzk5MDA3OTRCMEQgLyogVmlkZW9QcmVz
ZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NTdC
MTNDMjE0QUU3OTcwMDc5NEIwRCAvKiBWaWRlb1ByZXNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA3NjExREMxMjQ0MEU1OUIwMEQ4MDcwNCAv
KiBNZWRpYVVzYWdlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDc2MTFEQjgyNDNGQjc1QzAwRDgwNzA0IC8qIE1lZGlhVXNhZ2VJbmZvLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOTkx
ODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjM4QTk3MTg4NDQ4NzIwMEUxNUEx
QiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOUExODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlh
U2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYzOEE5ODE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFuYWdl
cklPUy5tbSAqLzsgfTsKLQkJMDc2OTcwODYxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2
OTcwODQxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuY3BwICovOyB9OwogCQkwNzY5
NzA4NzE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2OTcwODUxNDYzQUQ4NzAwRjUwMkNGIC8q
IFRleHRUcmFja0xpc3QuaCAqLzsgfTsKIAkJMDc2RDFDMUYyM0Y2RUI1QjAwRDk1QjA2IC8qIFNl
cmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2RDFDMUQyM0Y2RDlEODAwRDk1QjA2IC8qIFNlcmlhbGl6
ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTA3NkYwRDBFMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3NkYwRDBBMTJCODE5MjcwMEMyNkFBNCAvKiBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb24uaCAqLzsgfTsKQEAgLTE3OCw3ICsxNzIsNiBAQAogCQkwNzhFNDNERTFB
QkI2RjZGMDAxQzJGQTYgLyogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OEU0M0RDMUFCQjZGNkYw
MDFDMkZBNiAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLm1tICovOyB9OwogCQkwNzhF
RDE5MzIxNkQwNzk1MDA3NzVCMzMgLyogSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0NkQzMEMyMTQ2RUEzODAw
M0RERjg0IC8qIEltYWdlVHJhbnNmZXJTZXNzaW9uVlQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzkyMTY1NTFBQTU2MEFBMDBBM0MwNDkgLyog
TWVkaWFQbGF5YmFja1RhcmdldENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDc5MjE2NTMxQUE1NjBBQTAwQTNDMDQ5IC8qIE1lZGlhUGxheWJh
Y2tUYXJnZXRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQkwNzk0MTc5MTE2NkU4NTVGMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNrLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OTQxNzhG
MTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2suY3BwICovOyB9OwogCQkwNzk0MTc5
MjE2NkU4NTVGMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk0MTc5MDE2NkU4NTVGMDA5NDE2QzIgLyog
SW5iYW5kVGV4dFRyYWNrLmggKi87IH07CiAJCTA3OTQxNzk0MTY2RUEwNEUwMDk0MTZDMiAvKiBJ
bmJhbmRUZXh0VHJhY2tQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzk0MTc5MzE2NkVBMDRFMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTA3OTY5REFDMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ0RhdGFDaGFubmVsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk2OUQ5MjE3RDE0MTUx
MDA3RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbC5oICovOyB9OwpAQCAtMTkxOSw3ICsxOTEyLDYg
QEAKIAkJNUNERDgzNjQxRTQzMjVBMDAwNjIxRTkyIC8qIExpYldlYlJUQ0RhdGFDaGFubmVsSGFu
ZGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0REODMzRjFFNDMyNTNEMDA2MjFFOTIgLyogTGliV2ViUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmNw
cCAqLzsgfTsKIAkJNUNERkE2QzgxQUE0RjJEQTAwRUE4NzQ2IC8qIENvbnRlbnRFeHRlbnNpb25B
Y3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0RGQTZDNzFBQTRGMkRBMDBFQTg3NDYgLyogQ29udGVudEV4dGVuc2lvbkFjdGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1Q0VFRTQzNjFG
NUY4RjIxMDAxNEE1RjUgLyogUmVjdEVkZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1Qzk3QTMzNjFGNUY3QTY1MDAxMDUyMDcgLyogUmVjdEVkZ2Vz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNUQy
MUE4MDIxM0VDRTVERjAwQkI3MDY0IC8qIFdlYlZUVFBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDIxQTgwMDEzRUNFNURGMDBCQjcwNjQg
LyogV2ViVlRUUGFyc2VyLmNwcCAqLzsgfTsKIAkJNUQyMUE4MDMxM0VDRTVERjAwQkI3MDY0IC8q
IFdlYlZUVFBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUQyMUE4MDExM0VDRTVERjAwQkI3MDY0IC8qIFdlYlZUVFBhcnNlci5oICovOyB9Owog
CQk1RDU5NzVCMzE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQ1OTc1QjExOTYzNUYxMTAwRDAw
ODc4IC8qIFN5c3RlbVZlcnNpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1RDkyNUI2ODBGNjRENEREMDBCODQ3RjAgLyogU2Nyb2xsQWxpZ25t
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDky
NUI2NjBGNjRENEREMDBCODQ3RjAgLyogU2Nyb2xsQWxpZ25tZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIxOTEsNyArMjE4Myw2IEBACiAJ
CTdBMUQ3RkNCMThGODVGMEYwMEMzODVBRCAvKiBtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5n
cy5qcyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Ex
RDdGQzkxOEY4NUYwRjAwQzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzLmpz
ICovOyB9OwogCQk3QTIyNzMyMTIwQzlGQUZFMDBEQjFERUYgLyogV2ViS2l0TlNJbWFnZUV4dHJh
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EyMjcz
MUYyMEM5RjlEQTAwREIxREVGIC8qIFdlYktpdE5TSW1hZ2VFeHRyYXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QTI5RjU3MjE4QzY5NTE0MDA0
RDBGODEgLyogT3V0T2ZCYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EyOUY1NzExOEM2OTUxNDAwNEQwRjgxIC8q
IE91dE9mQmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaCAqLzsgfTsKLQkJN0E0NTAzMkYxOERCNzE3
MjAwMzc3QjM0IC8qIEJ1ZmZlcmVkTGluZVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTQ1MDMyRDE4REI3MTcyMDAzNzdCMzQgLyogQnVm
ZmVyZWRMaW5lUmVhZGVyLmNwcCAqLzsgfTsKIAkJN0E0NTAzMzAxOERCNzE3MjAwMzc3QjM0IC8q
IEJ1ZmZlcmVkTGluZVJlYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0E0NTAzMkUxOERCNzE3MjAwMzc3QjM0IC8qIEJ1ZmZlcmVkTGluZVJlYWRl
ci5oICovOyB9OwogCQk3QTU0ODU4MDE0RTAyRDUxMDA2QUUwNUEgLyogSW5zcGVjdG9ySGlzdG9y
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E1NDg1
N0UxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3RvcnkuaCAqLzsgfTsKIAkJN0E1NDg4
MTcxNEU0MzJBMTAwNkFFMDVBIC8qIERPTVBhdGNoU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E1NDg4MTUxNEU0MzJBMTAwNkFFMDVBIC8q
IERPTVBhdGNoU3VwcG9ydC5oICovOyB9OwpAQCAtMjE5OSw3ICsyMTkwLDYgQEAKIAkJN0E1Njk5
NzAyMDg2QzYxOTAwMEUwNDMzIC8qIENvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTU2OTk2RTIwODZD
NjE4MDAwRTA0MzMgLyogQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QTY3NEJEQzBGOUVCRjRF
MDA2Q0YwOTkgLyogUGFnZUdyb3VwTG9hZERlZmVycmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTY3NEJEQTBGOUVCRjRFMDA2Q0YwOTkgLyogUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmggKi87IH07CiAJCTdBOTI5Q0E3MUM1OThBQTkwMDRERjIyNiAv
KiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QTkyOUNBMjFDNTk4Mzc4MDA0REYyMjYgLyogUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTdBOTM4Njg1MThEQ0MxNDUwMEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBOTM4NjgyMThEQ0MxNDUw
MEI4MjYzRCAvKiBWVFRTY2FubmVyLmNwcCAqLzsgfTsKIAkJN0E5Mzg2ODYxOERDQzE0NTAwQjgy
NjNEIC8qIFZUVFNjYW5uZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdBOTM4NjgzMThEQ0MxNDUwMEI4MjYzRCAvKiBWVFRTY2FubmVyLmggKi87IH07
CiAJCTdBQTNBNjlBMTk0QTY0RTcwMDFDQkQyNCAvKiBUaWxlQ29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBM0E2OTYxOTRBNjRFNzAw
MUNCRDI0IC8qIFRpbGVDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0FBM0E2OUMxOTRBNjRFNzAwMUNCRDI0IC8qIFRpbGVHcmlk
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUEzQTY5
ODE5NEE2NEU3MDAxQ0JEMjQgLyogVGlsZUdyaWQuaCAqLzsgfTsKQEAgLTIyMTAsOSArMjIwMCw3
IEBACiAJCTdBREU3MjI2MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0TWVudVByb3ZpZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QURFNzIyNTEw
Q0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBRTMzNUYyMUFDQjA5RTIwMEU0MDFF
RiAvKiBXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTMzNUYwMUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2ZW50
VGVzdE1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QUU2QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUU2Qzkz
QTFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggKi87IH07Ci0JCTdB
RjlCMjAyMThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGOUIxRkMxOENGQjJERjAwQzY0QkVGIC8q
IFZUVFJlZ2lvbi5jcHAgKi87IH07CiAJCTdBRjlCMjAzMThDRkIyREYwMEM2NEJFRiAvKiBWVFRS
ZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdB
RjlCMUZEMThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb24uaCAqLzsgfTsKLQkJN0FGOUIyMDUx
OENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FGOUIxRkYxOENGQjJERjAwQzY0QkVGIC8qIFZU
VFJlZ2lvbkxpc3QuY3BwICovOyB9OwogCQk3QUY5QjIwNjE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRU
UmVnaW9uTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0FGOUIyMDAxOENGQjJERjAwQzY0QkVGIC8qIFZUVFJlZ2lvbkxpc3QuaCAqLzsgfTsKIAkJ
N0FGOUIyMEQxOENGQjVGNDAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjIwOTE4Q0ZCNUYyMDBDNjRCRUYg
LyogSlNWVFRSZWdpb24uaCAqLzsgfTsKIAkJN0FGOUIyMEYxOENGQjVGNDAwQzY0QkVGIC8qIEpT
VlRUUmVnaW9uTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0FGOUIyMEIxOENGQjVGMzAwQzY0QkVGIC8qIEpTVlRUUmVnaW9uTGlzdC5oICovOyB9
OwpAQCAtMjgyMywxMiArMjgxMSw4IEBACiAJCTk3NEE4NjIzMTRCN0FEQkIwMDNGREM3NiAvKiBG
cmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3NEE4NjIxMTRCN0FEQkIwMDNGREM3NiAvKiBGcmFtZURlc3RydWN0
aW9uT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk5NzREMkRBNTE0NkE1MzVEMDBENTFGOEIgLyogU2VjdXJpdHlQb2xpY3kuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NEQyREEzMTQ2QTUz
NUQwMEQ1MUY4QiAvKiBTZWN1cml0eVBvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk3NTJEMzhFMTQxMzEwNEIwMDMzMDVCRCAvKiBKU0hU
TUxTcGFuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTc1MkQzOEMxNDEzMTA0QjAwMzMwNUJEIC8qIEpTSFRNTFNwYW5FbGVtZW50LmggKi87
IH07Ci0JCTk3NTlFOTNFMTRFRjFDRjgwMDI2QTJERCAvKiBMb2FkYWJsZVRleHRUcmFjay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzU5RTkzNDE0
RUYxQ0Y4MDAyNkEyREQgLyogTG9hZGFibGVUZXh0VHJhY2suY3BwICovOyB9OwotCQk5NzU5RTkz
RjE0RUYxQ0Y4MDAyNkEyREQgLyogVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NTlFOTM1MTRFRjFDRjgwMDI2QTJERCAvKiBUZXh0
VHJhY2suY3BwICovOyB9OwogCQk5NzU5RTk0MDE0RUYxQ0Y4MDAyNkEyREQgLyogVGV4dFRyYWNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzU5RTkz
NjE0RUYxQ0Y4MDAyNkEyREQgLyogVGV4dFRyYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTc1OUU5NDIxNEVGMUNGODAwMjZBMkREIC8qIFRl
eHRUcmFja0N1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NzU5RTkzODE0RUYxQ0Y4MDAyNkEyREQgLyogVGV4dFRyYWNrQ3VlLmNwcCAqLzsgfTsK
IAkJOTc1OUU5NDMxNEVGMUNGODAwMjZBMkREIC8qIFRleHRUcmFja0N1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc1OUU5MzkxNEVGMUNGODAwMjZB
MkREIC8qIFRleHRUcmFja0N1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTk3NTlFOTQ1MTRFRjFDRjgwMDI2QTJERCAvKiBUZXh0VHJhY2tDdWVM
aXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3
NTlFOTNCMTRFRjFDRjgwMDI2QTJERCAvKiBUZXh0VHJhY2tDdWVMaXN0LmNwcCAqLzsgfTsKIAkJ
OTc1OUU5NDYxNEVGMUNGODAwMjZBMkREIC8qIFRleHRUcmFja0N1ZUxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NTlFOTNDMTRFRjFDRjgwMDI2
QTJERCAvKiBUZXh0VHJhY2tDdWVMaXN0LmggKi87IH07CiAJCTk3NTlFOTQ5MTRFRjFENDkwMDI2
QTJERCAvKiBMb2FkYWJsZVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTc1OUU5NDgxNEVGMUQ0OTAwMjZBMkREIC8qIExvYWRhYmxlVGV4
dFRyYWNrLmggKi87IH07CiAJCTk3NUNBMjhCMTMwMzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NUNBMjg4MTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uaCAqLzsgfTsKQEAgLTMwNDIsNiArMzAyNiw3IEBACiAJ
CUExNjc3RTBFMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY3N0UwQjIxM0UwMkEwMDBBMDhD
MzQgLyogQWRkcmVzc0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxMzIxM0UwM0M2MDBBMDhDMzQg
LyogSlNBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTY3N0UxMTIxM0UwM0M1MDBBMDhDMzQgLyogSlNBZGRyZXNzRXJyb3JzLmgg
Ki87IH07CiAJCUExNjc3RTE3MjEzRTAzRjEwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTE1
MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMuaCAqLzsgfTsKKwkJQTE2OUIw
NDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MjI0OEYwMzdCMDBFRThCN0Ig
LyogUGF5bWVudEFQSVZlcnNpb24uaCAqLzsgfTsKIAkJQTE3NjNGM0YxRTIwNTIzNDAwMUQ1OERF
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGM0QxRTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVE
dW1wU3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUExNzYzRjQxMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGNDAx
RTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdvcmsgKi87IH07CiAJCUExN0M4MTIz
MEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYyQTVDRjcwMDVEQUFFQiAv
KiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKQEAgLTM0NzEsNyArMzQ1Niw2IEBACiAJCUFE
REYxQUQ3MTI1N0NEOUEwMDAzQTc1OSAvKiBSZW5kZXJTVkdQYXRoLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBRERGMUFENTEyNTdDRDlBMDAwM0E3NTkg
LyogUmVuZGVyU1ZHUGF0aC5oICovOyB9OwogCQlBREVDNzhGODE4RUU1MzA4MDAxMzE1QzIgLyog
SlNFbGVtZW50Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBREVDNzhGNzE4RUU1MzA4MDAxMzE1QzIgLyogSlNFbGVtZW50Q3VzdG9tLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjEwQjY5ODAx
NDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTBCNjk3RDE0MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRU
VG9rZW4uaCAqLzsgfTsKLQkJQjEwQjY5ODExNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2Vu
aXplci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MTBCNjk3RTE0MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmNwcCAqLzsgfTsKIAkJ
QjEwQjY5ODIxNDBDMTc0MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuaXplci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjEwQjY5N0YxNDBDMTc0MDAwQkMx
QzI2IC8qIFdlYlZUVFRva2VuaXplci5oICovOyB9OwogCQlCMUFENEU3NDEzQTEyQTQ2MDA4NDZC
MjcgLyogVGV4dFRyYWNrTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMUFENEU3MjEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVy
LmggKi87IH07CiAJCUIyMDExMTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBB
Qjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovOyB9OwpAQCAtMzk3MywzMyArMzk1
NywyMyBAQAogCQlCQ0ZCMkU1RTA5NzlFNDY0MDBCQTcwM0QgLyogQ2FjaGVkUmVzb3VyY2VDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRkIy
RTVEMDk3OUU0NjQwMEJBNzAzRCAvKiBDYWNoZWRSZXNvdXJjZUNsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRkY2NDkxMEVBRDE1QzIw
MEMxRDZGNyAvKiBMZW5ndGhCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRkY2NDhGMEVBRDE1QzIwMEMxRDZGNyAvKiBMZW5ndGhCb3guaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0ZGNjQ5MjBF
QUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoU2l6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNGRjY0OTAwRUFEMTVDMjAwQzFENkY3IC8qIExlbmd0aFNp
emUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlC
RTE2QzU5MjE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kR2VuZXJpY1RleHRUcmFjay5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTE2QzU4RTE3Q0ZF
MTcyMDA4NTJDMDQgLyogSW5iYW5kR2VuZXJpY1RleHRUcmFjay5jcHAgKi87IH07CiAJCUJFMTZD
NTkzMTdDRkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRHZW5lcmljVGV4dFRyYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTE2QzU4RjE3Q0ZFMTcyMDA4
NTJDMDQgLyogSW5iYW5kR2VuZXJpY1RleHRUcmFjay5oICovOyB9OwotCQlCRTE2QzU5NDE3Q0ZF
MTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFMTZDNTkwMTdDRkUxNzIwMDg1MkMwNCAv
KiBJbmJhbmRXZWJWVFRUZXh0VHJhY2suY3BwICovOyB9OwogCQlCRTE2QzU5NTE3Q0ZFMTcyMDA4
NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTE2QzU5MTE3Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5k
V2ViVlRUVGV4dFRyYWNrLmggKi87IH07Ci0JCUJFMjA1MDc5MThBNDU4NjgwMDgwNjQ3RSAvKiBW
VFRDdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkUyMDUwNzYxOEE0NTg0NjAwODA2NDdFIC8qIFZUVEN1ZS5jcHAgKi87IH07CiAJCUJFMjA1MDdB
MThBNDU4NkIwMDgwNjQ3RSAvKiBWVFRDdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJFMjA1MDc3MThBNDU4NDYwMDgwNjQ3RSAvKiBWVFRDdWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCRTIwNTA3
RTE4QTQ1OEMyMDA4MDY0N0UgLyogUmVuZGVyVlRUQ3VlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTIwNTA3QzE4QTQ1OEIxMDA4MDY0N0UgLyogUmVu
ZGVyVlRUQ3VlLmggKi87IH07CiAJCUJFMjA1MDgyMThBNDYwQzMwMDgwNjQ3RSAvKiBKU1ZUVEN1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkUyMDUw
ODAxOEE0NjBBQTAwODA2NDdFIC8qIEpTVlRUQ3VlLmggKi87IH07Ci0JCUJFMjM0ODBDMThBOTg3
MEIwMEU0QjZFOCAvKiBEYXRhQ3VlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJFMjM0ODA5MThBOTg3MDMwMEU0QjZFOCAvKiBEYXRhQ3VlLmNwcCAq
LzsgfTsKIAkJQkUyMzQ4MEQxOEE5ODcxNDAwRTRCNkU4IC8qIERhdGFDdWUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFMjM0ODBBMThBOTg3MDMwMEU0
QjZFOCAvKiBEYXRhQ3VlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQkU2MTAzOUUxOEE5RDY1QTAwREQ1MEQ3IC8qIEpTRGF0YUN1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkU2MTAzOUMxOEE5RDYx
MjAwREQ1MEQ3IC8qIEpTRGF0YUN1ZS5oICovOyB9OwotCQlCRTg4RTBDMTE3MTVDRTI2MDA2NThE
OTggLyogVHJhY2tMaXN0QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCRTg4RTBCRjE3MTVDRTI2MDA2NThEOTggLyogVHJhY2tMaXN0QmFzZS5j
cHAgKi87IH07CiAJCUJFODhFMEMyMTcxNUNFMjYwMDY1OEQ5OCAvKiBUcmFja0xpc3RCYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTg4RTBDMDE3
MTVDRTI2MDA2NThEOTggLyogVHJhY2tMaXN0QmFzZS5oICovOyB9OwotCQlCRTg4RTBEODE3MTVE
MkEyMDA2NThEOTggLyogQXVkaW9UcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCRTg4RTBDQzE3MTVEMkEyMDA2NThEOTggLyogQXVkaW9UcmFj
ay5jcHAgKi87IH07CiAJCUJFODhFMEQ5MTcxNUQyQTIwMDY1OEQ5OCAvKiBBdWRpb1RyYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTg4RTBDRDE3
MTVEMkEyMDA2NThEOTggLyogQXVkaW9UcmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJFODhFMERCMTcxNUQyQTIwMDY1OEQ5OCAvKiBBdWRp
b1RyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCRTg4RTBDRjE3MTVEMkEyMDA2NThEOTggLyogQXVkaW9UcmFja0xpc3QuY3BwICovOyB9
OwogCQlCRTg4RTBEQzE3MTVEMkEyMDA2NThEOTggLyogQXVkaW9UcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFODhFMEQwMTcxNUQyQTIw
MDY1OEQ5OCAvKiBBdWRpb1RyYWNrTGlzdC5oICovOyB9OwotCQlCRTg4RTBERTE3MTVEMkEyMDA2
NThEOTggLyogVmlkZW9UcmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCRTg4RTBEMjE3MTVEMkEyMDA2NThEOTggLyogVmlkZW9UcmFjay5jcHAg
Ki87IH07CiAJCUJFODhFMERGMTcxNUQyQTIwMDY1OEQ5OCAvKiBWaWRlb1RyYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTg4RTBEMzE3MTVEMkEy
MDA2NThEOTggLyogVmlkZW9UcmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCUJFODhFMEUxMTcxNUQyQTIwMDY1OEQ5OCAvKiBWaWRlb1RyYWNr
TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
RTg4RTBENTE3MTVEMkEyMDA2NThEOTggLyogVmlkZW9UcmFja0xpc3QuY3BwICovOyB9OwogCQlC
RTg4RTBFMjE3MTVEMkEyMDA2NThEOTggLyogVmlkZW9UcmFja0xpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFODhFMEQ2MTcxNUQyQTIwMDY1OEQ5
OCAvKiBWaWRlb1RyYWNrTGlzdC5oICovOyB9OwogCQlCRThFRjA0MzE3MUM4RkY5MDA5QjQ4QzMg
LyogSlNBdWRpb1RyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCRThFRjAzRjE3MUM4RkY5MDA5QjQ4QzMgLyogSlNBdWRpb1RyYWNrLmggKi87IH07
CiAJCUJFOEVGMDQ1MTcxQzhGRjkwMDlCNDhDMyAvKiBKU0F1ZGlvVHJhY2tMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRThFRjA0MTE3MUM4RkY5
MDA5QjQ4QzMgLyogSlNBdWRpb1RyYWNrTGlzdC5oICovOyB9OwogCQlCRThFRjA0QjE3MUM5MDE0
MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCRThFRjA0NzE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNr
LmggKi87IH07CiAJCUJFOEVGMDREMTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRThFRjA0
OTE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrTGlzdC5oICovOyB9OwogCQlCRTkxM0Q4
MDE4MUVGOTI0MDBEQ0IwOUUgLyogVHJhY2tQcml2YXRlQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkU5MTNEN0YxODFFRjhFNTAwRENCMDlFIC8q
IFRyYWNrUHJpdmF0ZUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQlCRTk2MUM1NDE4QUQzMzg1MDBEMDdEQzUgLyogSW5iYW5kRGF0YVRleHRU
cmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
RTk2MUM1MjE4QUQzMzdDMDBEMDdEQzUgLyogSW5iYW5kRGF0YVRleHRUcmFjay5jcHAgKi87IH07
CiAJCUJFOTYxQzU1MThBRDMzOEMwMEQwN0RDNSAvKiBJbmJhbmREYXRhVGV4dFRyYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTk2MUM1MzE4QUQz
MzdDMDBEMDdEQzUgLyogSW5iYW5kRGF0YVRleHRUcmFjay5oICovOyB9OwogCQlCRUE4MDdDOTBG
NzE0QTAzMDA1MjQxOTkgLyogU2VsZWN0aW9uUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkVBODA3QzcwRjcxNEEwMzAwNTI0MTk5IC8qIFNlbGVj
dGlvblJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCRUYyOUVFQjE3MTVERDA5MDBDNEI0QzkgLyogQXVkaW9UcmFja1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJFRjI5RUU5MTcxNURE
MDkwMEM0QjRDOSAvKiBBdWRpb1RyYWNrUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MDk2LDcgKzQwNzAsNiBAQAogCQlDRDE5RkVB
ODFGNTczOTcyMDAwQzQyRkIgLyogSW1hZ2VEZWNvZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDE5RkVBNjFGNTczOTcyMDAwQzQyRkIgLyogSW1h
Z2VEZWNvZGVyLmggKi87IH07CiAJCUNEMTlGRUFFMUY1NzRCNkQwMDBDNDJGQiAvKiBJbWFnZURl
Y29kZXJBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDE5RkVBQzFGNTc0QjZEMDAwQzQyRkIgLyogSW1hZ2VEZWNvZGVyQVZGT2JqQy5oICov
OyB9OwogCQlDRDE5RkVBRjFGNTc0QjZEMDAwQzQyRkIgLyogSW1hZ2VEZWNvZGVyQVZGT2JqQy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMTlGRUFE
MUY1NzRCNkQwMDBDNDJGQiAvKiBJbWFnZURlY29kZXJBVkZPYmpDLm1tICovOyB9OwotCQlDRDFF
NzM0NzE2N0JDNzhFMDA5QTg4NUQgLyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QxRTczNDYxNjdCQzc4
RTAwOUE4ODVEIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcCAqLzsgfTsKIAkJQ0QyMjVD
MEIxQzQ2RkJGNDAwMTQwNzYxIC8qIFdlYkNvcmVOU1VSTFNlc3Npb24ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDIyNUMwOTFDNDZGQkY0MDAxNDA3
NjEgLyogV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbSAqLzsgfTsKIAkJQ0QyMjVDMEMxQzQ2RkJGNDAw
MTQwNzYxIC8qIFdlYkNvcmVOU1VSTFNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjI1QzBBMUM0NkZCRjQwMDE0MDc2MSAvKiBXZWJDb3Jl
TlNVUkxTZXNzaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0QyN0FFNTAyMkE5ODY4NzAwOTQ3RkY5IC8qIEltYWdlUm90YXRpb25TZXNzaW9u
VlQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjdB
RTRFMjJBOTg2ODcwMDk0N0ZGOSAvKiBJbWFnZVJvdGF0aW9uU2Vzc2lvblZULmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUwNTgsNyArNTAzMSw2
IEBACiAJCUVERTNBNTAwMEM3QTQzMDYwMDk1NkEzNyAvKiBDb2xvck1hYy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRURFM0E0RkYwQzdBNDMwNjAwOTU2
QTM3IC8qIENvbG9yTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRURFQzk4MDMwQUVEN0UxNzAwNTkxMzdGIC8qIFdlYkNvcmVQcmVmaXguaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVERUM5ODAyMEFF
RDdFMTcwMDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi87IH07CiAJCUVGQ0M2QzhGMjBGRTkx
NDQwMEEyMzIxQiAvKiBDYW52YXNBY3Rpdml0eVJlY29yZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUZDQzZDOEQyMEZFOTE0MDAwQTIzMjFCIC8qIENh
bnZhc0FjdGl2aXR5UmVjb3JkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJRjEyMTcxRjUxNkE4Q0VEMjAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjEyMTcx
RjMxNkE4QkM2MzAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQuY3BwICovOyB9OwogCQlGMTIxNzFG
NjE2QThDRjBCMDAwMDUzQ0EgLyogV2ViVlRURWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjEyMTcxRjQxNkE4QkM2MzAwMDA1M0NBIC8qIFdl
YlZUVEVsZW1lbnQuaCAqLzsgfTsKIAkJRjMyQkRDRDkyMzYzQUFDQTAwNzNCNkFFIC8qIFVzZXJH
ZXN0dXJlRW11bGF0aW9uU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEYzMkJEQ0Q3MjM2M0FBQ0EwMDczQjZBRSAvKiBVc2VyR2VzdHVyZUVtdWxh
dGlvblNjb3BlLmggKi87IH07CiAJCUYzNDRDNzE0MTEyNUI4MkMwMEYyNkVFRSAvKiBJbnNwZWN0
b3JGcm9udGVuZENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTExNjA2LDYgKzExNTc4LDggQEAKIAkJQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5
ZXJFcnJvckZpZWxkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheWVy
RXJyb3JGaWVsZHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE2NzdFMTYyMTNF
MDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1BheWVyRXJyb3JGaWVsZHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMTY3N0UyNDIxNDQ1MzI4MDBBMDhDMzQgLyogSlNQYXltZW50TWV0
aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYXltZW50TWV0
aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
MTY5QjA0MjI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGF5bWVudEFQSVZlcnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBMTc2M0YzQzFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MTc2M0YzRDFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZO
ZXR3b3JrLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ0ZOZXR3b3JrLmZyYW1ld29yazsg
cGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yazsgc291
cmNlVHJlZSA9IFNES1JPT1Q7IH07CkBAIC0xNzQ5OSw2ICsxNzQ3Myw3IEBACiAJCQkJMUE4QTY0
NEYxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmggKi8s
CiAJCQkJMUE4QTY0NTAxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFu
dEV2ZW50LmlkbCAqLywKIAkJCQkxQThBNjQzNzFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5o
ICovLAorCQkJCUExNjlCMDQyMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5o
ICovLAogCQkJCTFBRTk2QTg2MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cy5oICovLAogCQkJCTFBOEE2NDM4MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29u
dGFjdC5oICovLAogCQkJCTFBNThFODZCMUQxOUU0MkQwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRp
bmF0b3IuY3BwICovLApAQCAtMTc1MjQsNiArMTc0OTksNyBAQAogCQkxQTU4RTg2OTFEMTlEOEMw
MDBDMEVBNzMgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCUExNjlCMDQ1MjQ4RjA0MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNv
Y29hLm1tICovLAogCQkJCTFBOEE2NDY5MUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29jb2Eu
bW0gKi8sCiAJCQkJMUE4QTY0NkExRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Q29j
b2EubW0gKi8sCiAJCQkJMUFEQTRBMUIxRDIyRjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFu
dFNlc3Npb25Db2NvYS5tbSAqLywKQEAgLTMyNDQwLDYgKzMyNDE2LDcgQEAKIAkJCQlBMTY3N0Uw
ODIxM0UwMjRDMDBBMDhDMzQgLyogUGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUE4QTY0M0ExRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExRjc2QjQzMUY0NENGN0YwMDE0QzMxOCAvKiBQYXltZW50QWRkcmVzcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTE2OUIwNDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4ODFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVu
dEF1dGhvcml6YXRpb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjVCMUY0NEQz
QjIwMDE0QzMxOCAvKiBQYXltZW50Q29tcGxldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2
NDNCMUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjg4NzRlNWZjMjkwMDQ1YThjMTNmZmM1OWVlNWQ5ZjdkN2EwYTVjOS4uYTM1ZTdmYjgy
ODI0YmFkZGY2ZTczMTg5MzhmNjk5ZWY5ZjY5ODQwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIwLTA2LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBw
bGUgUGF5XSBTaW1wbGlmeSBIQVZFKFBBU1NLSVRfKikgbWFjcm9zIGFuZCBlbmFibGUgdGVzdHMg
b24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMjk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNi0wOCAgRGllZ28g
UGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEdhcmRlbmluZywgcmVt
b3ZlIHRlc3RzIHBhc3NpbmcgYWZ0ZXIgcjI2MjcxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYyNmI4MTg1NjU2NWQxODljZTBmZWQwOTJl
ZmM0NzE5OTMzYmUyMGEuLjliZDcxYmI3ZmRlMDU2Nzk0NDdkMDU5ODQ4YzI1MTQyODdlZTE5YjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQzLDcgKzQzLDggQEAgZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvbnRhaW4uaHRt
bCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvdmVyLmh0bWwgWyBT
a2lwIF0KIGZhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1hdXRvLmh0bWwgWyBTa2lwIF0K
IAotaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlCaWxsaW5nQWRkcmVzcy5odG1sIFsg
UGFzcyBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbCBbIFNsb3cgXQogCiBodHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlMDMzN2I3OTkwZDM0YzdjYzE2MDA2ZDAxMGQ0ZTJk
M2YzMjljYTMuLmY0YTk4Y2YyNjE0NWQxNzA0ZTY0YzQ3NWE0ZjY0MTMyMjlhZmE5MGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0LDcg
KzM0LDcgQEAgZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtbGl2ZS11cGRhdGUtaW4tc3Vi
ZnJhbWVzLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1saXZlLXVwZGF0
ZS5odG1sIFsgUGFzcyBdCiBmYXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbGl2
ZS11cGRhdGUuaHRtbCBbIFBhc3MgXQogCi1odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS8gWyBQYXNz
IF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBdCiAKICMgQXBwbGVQYXlJbnN0YWxs
bWVudENvbmZpZ3VyYXRpb24gd2FzIGZpcnN0IGF2YWlsYWJsZSBpbiBDYXRhbGluYS4KIFsgTW9q
YXZlIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24uaHR0cHMuaHRtbCBbIFNraXAgXQpAQCAtMTA0MSw0ICsxMDQxLDQgQEAgd2Via2l0Lm9y
Zy9iLzIxMjcyMSBzdmcvY3VzdG9tL3RleHRQYXRoLWNoYW5nZS1pZC5zdmcgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMjgyNCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb25vZGUt
aW50ZXJmYWNlL2F1ZGlvbm9kZS1kaXNjb25uZWN0LWF1ZGlvcGFyYW0uaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0
IF0KLXdlYmtpdC5vcmcvYi8yMTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3Jv
bGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBhc3MgVGltZW91
dCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIxMjA0MiBbIERl
YnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xs
YmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401447</attachid>
            <date>2020-06-09 09:28:15 -0700</date>
            <delta_ts>2020-06-09 10:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609092815.patch</filename>
            <type>text/plain</type>
            <size>46499</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjNlZDkzN2IwODlmMTFmYjkzYjkyOTIzZGZhNmExNTA3MGViZjZh
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhBVkUoUEFTU0tJVF8q
KSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMC0wNi0wOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9w
dCByZWFkLW9ubHkgbW9kZSBmb3IgcHJlZmVyZW5jZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU3MjcxNjE0MDg0NTQwNTEwYjczNTBiZWM3MzZiYzY3NWJlNWRhOTIu
LmI2ZjY5YjMyODliMGQyZWRmNjMyZTk5MTk1OTY3MmQ0YjFhMTg2ZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0FwcGxlIFBheV0gU2ltcGxpZnkgSEFWRShQQVNTS0lUXyopIG1hY3JvcyBh
bmQgZW5hYmxlIHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGVkIHRlc3RzIGluIGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5LyBvbiBpT1MuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmg6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5l
bC5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtVHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OjpzdXBwb3J0c1ZlcnNpb24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VO
U0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQbGF0Zm9ybUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW06IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW0uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KToK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wNi0wOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgRXh0ZW5kZWQgQ29sb3I6IFJlbmFtZSBDb2xvcjo6bGlnaHRlbigp
IGFuZCBDb2xvcjo6ZGFya2VuKCkgdG8gQ29sb3I6OmxpZ2h0ZW5lZCgpIGFuZCBDb2xvcjo6ZGFy
a2VuZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYWQyNDdiZTI3Njg2MTk0MGM3M2E2MjI0ZDY0
YWFlNmJlODIzNjcxZC4uYmNkOGUwOTc3MGNhNjBlNTg3MDY2YzQxNDBkNmIxOGZmZDUwOGQ0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhB
VkUoUEFTU0tJVF8qKSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3Jtcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLmg6CisgICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbToKKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudFNQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDoKKwogMjAyMC0wNi0wOCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTogR3VhcmQgX3ByZWNv
bm5lY3QgZGVjbGFyYXRpb24gd2l0aCBFTkFCTEUoU0VSVkVSX1BSRUNPTk5FQ1QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggNTNkMTljYmIwYzk2NjcxODhhYWFiMmM4ZTc1
ZDcwZGU2ZWI5Y2JjMi4uYjk1N2QzZjM2MDJkMzMxMmYwYTUyMTA3MGJjMDc5YzMwYTg3MTdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNTUsMTQgKzU1LDYgQEAKICNk
ZWZpbmUgRU5BQkxFX0FOSU1BVEVEX0tFWUJPQVJEX1NDUk9MTElORyAxCiAjZW5kaWYKIAotI2lm
ICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpICYmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUyAx
Ci0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTKSAm
JiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUyAxCiAjZW5kaWYKQEAgLTcxLDE4ICs2Myw2IEBACiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfTkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOCkgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLSNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4IDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTApICYmIEhBVkUoUEFT
U0tJVF9ORVdfQlVUVE9OX1RZUEVTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjEwIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkp
ICYmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykpCiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfUkVNT1RFX1VJIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYTky
ZTkwM2EzMjNhZjMwNWU1ZWYxNjlkMzJlYjk4NDEzMDBlOTM4Li4zZDY3Zjk0MmQyOWM4YWJiZWY3
Y2YzZGNlZmYzMWRiNGRjY2UyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODksMTIgKzg5
LDYgQEAKICNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTKQotI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9C
SUxMSU5HX0FERFJFU1MgMQotI2VuZGlmCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKFVTRV9VSUtJ
VF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSkKICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCiAjZW5kaWYK
QEAgLTYxNiwxNCArNjEwLDEyIEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZB
Q0VfSURFTlRJRklFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01BWF9BTExPV0VEID49IDEzMDQwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NL
SVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisj
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDApIFwKLSAgICB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCisjaWYgUExBVEZPUk0oSU9TKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVT
UyAxCiAjZW5kaWYKIAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAppbmRleCBmM2Rj
MTc4OTdiNWY5ZjI5OWIzYWVmYjg1YzVhMmYyN2U0ZWM4ZWExLi5jODc4YzgwYWFlMTUyNjg0NTk3
ODZhNzg5YWRhMGI3YWQ0Mzg4ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLmlkbApAQCAtMzQsOSArMzQsOSBAQAogICAgIERPTVN0cmluZyBiaW5kaW5nVG90YWxBbW91
bnQ7CiAgICAgRE9NU3RyaW5nIGN1cnJlbmN5Q29kZTsKICAgICBib29sZWFuIGlzSW5TdG9yZVB1
cmNoYXNlOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlNdIERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIHJlZmVycmVySWRlbnRpZmll
cjsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBzZXF1ZW5j
ZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNU10gSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOwotICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEFwcGxlUGF5SW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CisgICAgRE9NU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKKyAgICBET01TdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwor
ICAgIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKKyAgICBKU09OIGFw
cGxpY2F0aW9uTWV0YWRhdGE7CisgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwg
cmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3duIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaAppbmRleCA3YzMxMzFiY2QzMGQxMWQzZmFkMDFkMzU1OGEz
NTM2NmVmODQ4NmQ5Li5jNjUzOWIwNGNhZDgxNGNjNmMxN2Y3ZTBlMzdjZWU2MjUzZWQ0NGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKQEAgLTQy
LDE1ICs0MiwxMSBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gewog
ICAgIFN0cmluZyBiaW5kaW5nVG90YWxBbW91bnQ7CiAgICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsK
ICAgICBib29sIGlzSW5TdG9yZVB1cmNoYXNlIHsgZmFsc2UgfTsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQogICAgIFN0cmluZyBtZXJjaGFudElkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIHJlZmVycmVySWRlbnRpZmllcjsKLSNlbmRpZgotI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgVmVjdG9yPEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtPiBpdGVtczsKICAgICBTdHJpbmcgYXBwbGljYXRpb25NZXRhZGF0YTsKICAgICBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsIHsgQXBwbGVQYXlJbnN0
YWxsbWVudFJldGFpbENoYW5uZWw6OlVua25vd24gfTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCmluZGV4IGU2Y2FhMmEwY2UwYTE0MDlmN2Y5
NGEzNTVkMWJkMDRlODFiODUxOWQuLmU5Zjg4YzdlMTc5OTVlZDI5Nzc4MDljMDZiNzY4MWMyNjdh
MzBjZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1UeXBlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00Myw0ICs0
Myw0IEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMp
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCmluZGV4IDE1NWE2ZDY5OTQyMTc4YWE3YjZjZmZkYzc2ODY1NzhmZmQxY2RlODYuLmRj
NjE1ZTYwYTQyYmYwYTdjMWIxNTQ4MWM1ZTZkNzlmZmVkNjE0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFM
TE1FTlRTLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogXSBkaWN0aW9uYXJ5IEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgdHlwZSA9
ICJnZW5lcmljIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCmluZGV4IDJkY2ZiZTY4YzJhMjFk
ZjU2ODUzYmNhZGVhOTczZmFmZTA0YmRlMTYuLmMzMzgxZmQxZGMzNTJlN2IzMzUzZWRiYzMyNDcx
NjBmNTk2NzZiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRF
TVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzksNCArMzksNCBAQCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZSA6IHVpbnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsCmluZGV4
IDczNjMyNTc3MWY1YjZmNjVjMzk2YWM1MzU5MGQ2ODNjMjc3ZDA3YTUuLmI0MGFjMzAyZGYxYTYx
ODVjZTNiOTg3YzQ5NDkwYzRlNjM0YjU3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VFMsCiBdIGVudW0gQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIHsKICAgICAiZ2VuZXJpYyIs
CiAgICAgInBob25lIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaAppbmRleCAz
OGNiOWRiNDMyMDFhZTlmNzc4NTc5ZDE0OWEzMGRmYzE1OWJiMjBmLi42MTdlMTg0NjhkN2U1OTk5
OGI0MDVlYjliOTZiODk0NzY4ZGY5MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hh
bm5lbC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExN
RU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw0ICszOCw0IEBAIGVudW0gY2xh
c3MgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgOiB1aW50OF90IHsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVO
VF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKaW5kZXggZDA4YjEwMzEwNjRhNTM4Njg3
N2NlNTNlNTJiNDg3MGU3ZTQ1MDMyZS4uZTI1MDAyNzBmNjZiZDJkYjZiNDMzMzA1NGM5NTYyYWFm
YjAyMmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiBdIGVu
dW0gQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgewogICAgICJ1bmtub3duIiwKICAg
ICAiYXBwIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEFQSVZlcnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dEFQSVZlcnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGI4MjRkYzgxN2UwMjEwYjkxY2NkZDllZmMwMTdl
NzdjOTczM2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBheW1lbnRBUElWZXJzaW9uIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgY3Vy
cmVudCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAppbmRleCBhYzc0YTRiZjNiNWU1OWMz
MmY1MWU1MzgxY2ZkMGZkMWRmYWU2ZTA3Li42ZDJiNGNhZWQwMGFjOWNkNGE1ZTA5N2ZhODFmNTM5
NDc3ZjEzOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCkBAIC0yOCwyMyArMjgsMTQgQEAK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNpbmNsdWRlICJQYXltZW50QVBJVmVyc2lvbi5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKIHsKLSAgICBBU1NFUlQodmVyc2lv
biA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WOCkKLSAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA3OwotI2VsaWYgIUVOQUJMRShBUFBMRV9Q
QVlfU0VTU0lPTl9WOSkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24g
PSA4OwotI2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMTApCi0gICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gOTsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMTA7Ci0jZW5kaWYKLQotICAgIHJldHVybiB2ZXJz
aW9uIDw9IGN1cnJlbnRWZXJzaW9uOworICAgIEFTU0VSVCh2ZXJzaW9uKTsKKyAgICByZXR1cm4g
dmVyc2lvbiA8PSBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0KaW5kZXggNTgw
NTFiZmNjMGE4NDhmYWExZmQ4NGY1ZTM0YWU3NWY0NDM0ZTU1MC4uN2UyMzE5ZTY5NmMyOTkxNGIw
NWViMWI1OGQ0OWEwNzljZWI1YzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tbQpAQCAtODAsOCArODAsNiBAQCBzdGF0aWMgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBw
bGF0Zm9ybUZlYXR1cmVUeXBlKEFwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZSBmZQogICAgIH0KIH0K
IAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3RhdGljIEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZSBhcHBsZVBheUl0ZW1UeXBlKFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZSBpdGVtVHlwZSkKIHsKICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7CkBAIC0xNDQsNiArMTQyLDcg
QEAgc3RhdGljIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHBsYXRmb3JtUmV0YWlsQ2hhbm5l
bChBcHBsZVBheUluc3RhbGxtZW50UmV0YWkKIAogc3RhdGljIFJldGFpblB0cjxpZD4gbWFrZU5T
QXJyYXlFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtJiBpdGVtKQogeworICAg
IEFTU0VSVChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkpOwogICAgIGF1
dG8gaW5zdGFsbG1lbnRJdGVtID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEluc3RhbGxt
ZW50SXRlbUluc3RhbmNlKCkgaW5pdF0pOwogICAgIFtpbnN0YWxsbWVudEl0ZW0gc2V0SW5zdGFs
bG1lbnRJdGVtVHlwZTpwbGF0Zm9ybUl0ZW1UeXBlKGl0ZW0udHlwZSldOwogICAgIFtpbnN0YWxs
bWVudEl0ZW0gc2V0QW1vdW50OnRvRGVjaW1hbE51bWJlcihpdGVtLmFtb3VudCldOwpAQCAtMTcw
LDEwICsxNjksMTEgQEAgc3RhdGljIE9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBt
YWtlVmVjdG9yRWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGwKICAgICB9OwogfQogCi0jZW5k
aWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotCiBzdGF0aWMgUmV0YWluUHRy
PFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1
cmF0aW9uKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiBjb3JlQ29uZmln
dXJhdGlvbiwgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhKQogeworICAgIGlmICgh
UEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQorICAgICAg
ICByZXR1cm4gbmlsOworCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbUEFMOjph
bGxvY1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkluc3RhbmNlKCkgaW5pdF0pOwog
CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0RmVhdHVyZTpwbGF0Zm9ybUZlYXR1cmVUeXBlKGNvcmVD
b25maWd1cmF0aW9uLmZlYXR1cmVUeXBlKV07CkBAIC0xODUsMjkgKzE4NSwxNSBAQCBzdGF0aWMg
UmV0YWluUHRyPFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZv
cm1Db25maWd1cmF0aW9uKAogCiAgICAgYXV0byBtZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gYWRv
cHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvcmVDb25m
aWd1cmF0aW9uLm1lcmNoYW5kaXNpbmdJbWFnZURhdGEgb3B0aW9uczowXSk7CiAgICAgW2NvbmZp
Z3VyYXRpb24gc2V0TWVyY2hhbmRpc2luZ0ltYWdlRGF0YTptZXJjaGFuZGlzaW5nSW1hZ2VEYXRh
LmdldCgpXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOildIHx8ICFbY29u
ZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJlZmVycmVySWRlbnRp
ZmllcjopXSkKLSAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBbY29u
ZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjpjb3JlQ29uZmlndXJh
dGlvbi5tZXJjaGFudElkZW50aWZpZXJdOwogICAgIFtjb25maWd1cmF0aW9uIHNldFJlZmVycmVy
SWRlbnRpZmllcjpjb3JlQ29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlm
Ci0gICAgCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Ioc2V0SW5zdGFsbG1lbnRJdGVtczopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRBcHBsaWNhdGlvbk1ldGFkYXRhOildCi0gICAg
ICAgIHx8ICFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJl
dGFpbENoYW5uZWw6KV0pCisKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtQ2xhc3MoKSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwogICAg
IFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50SXRlbXM6Y3JlYXRlTlNBcnJheShjb3JlQ29u
ZmlndXJhdGlvbi5pdGVtcykuZ2V0KCldOwogICAgIFtjb25maWd1cmF0aW9uIHNldEFwcGxpY2F0
aW9uTWV0YWRhdGE6YXBwbGljYXRpb25NZXRhZGF0YV07CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0
UmV0YWlsQ2hhbm5lbDpwbGF0Zm9ybVJldGFpbENoYW5uZWwoY29yZUNvbmZpZ3VyYXRpb24ucmV0
YWlsQ2hhbm5lbCldOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oYXBwbGljYXRpb25NZXRhZGF0
YSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwogfQpAQCAtMjE1LDE0ICsy
MDEsMTIgQEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24+IGNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIEV4Y2VwdGlvbk9yPFBheW1lbnRJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24+IFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmNy
ZWF0ZShjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKIHsKICAgICBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0g
bmlsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgaWYgKCFj
b25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEuaXNOdWxsKCkpIHsKICAgICAgICAgTlNE
YXRhICphcHBsaWNhdGlvbk1ldGFkYXRhID0gW2NvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRh
ZGF0YSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CiAgICAgICAgIGFw
cGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNEaWN0aW9u
YXJ5PihbTlNKU09OU2VyaWFsaXphdGlvbiBKU09OT2JqZWN0V2l0aERhdGE6YXBwbGljYXRpb25N
ZXRhZGF0YSBvcHRpb25zOjAgZXJyb3I6bmlsXSk7CiAgICAgICAgIGlmICghYXBwbGljYXRpb25N
ZXRhZGF0YURpY3Rpb25hcnkpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCAiYXBwbGljYXRpb25NZXRhZGF0YSBtdXN0IGJlIGEgSlNPTiBvYmplY3QiIH07CiAgICAg
fQotI2VuZGlmCiAKICAgICByZXR1cm4gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihj
b25maWd1cmF0aW9uLCBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSk7CiB9CkBAIC0yNDUs
NiArMjI5LDggQEAgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpQYXltZW50SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uOjpwbGF0Zm9ybUNvbmYKIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uKCkgY29uc3QKIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFQQUw6Omdl
dFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkNsYXNzKCkpCisgICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uZmVhdHVyZVR5cGUgPSBhcHBsZVBheVNldHVwRmVhdHVyZVR5cGUoW21fY29uZmlndXJhdGlv
biBmZWF0dXJlXSk7CiAKQEAgLTI1NCwyMyArMjQwLDEyIEBAIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm9wZW5Ub0J1eVRocmVzaG9sZEFtb3Vu
dCA9IGZyb21EZWNpbWFsTnVtYmVyKFttX2NvbmZpZ3VyYXRpb24gb3BlblRvQnV5VGhyZXNob2xk
QW1vdW50XSk7CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0lt
YWdlRGF0YSA9IFtbbV9jb25maWd1cmF0aW9uIG1lcmNoYW5kaXNpbmdJbWFnZURhdGFdIGJhc2U2
NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JREVOVElGSUVSUykKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1
cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zdGFsbG1lbnRNZXJjaGFudElk
ZW50aWZpZXIpXSB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHJlZmVycmVySWRlbnRpZmllcildKQotICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOwotI2VuZGlmCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1lcmNoYW50
SWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZp
ZXJdOwogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXIgPSBb
bV9jb25maWd1cmF0aW9uIHJlZmVycmVySWRlbnRpZmllcl07Ci0jZW5kaWYKIAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlm
ICghW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxt
ZW50SXRlbXMpXQotICAgICAgICB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uTWV0YWRhdGEpXQotICAgICAgICB8fCAhW21fY29uZmln
dXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJldGFpbENoYW5uZWwpXSkKKyAg
ICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3MoKSkKICAgICAgICAg
cmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgorCiAgICAgUmV0YWluUHRy
PE5TU3RyaW5nPiBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nOwogICAgIGlmIChOU0RpY3Rpb25h
cnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gW21fY29uZmlndXJhdGlvbiBhcHBs
aWNhdGlvbk1ldGFkYXRhXSkgewogICAgICAgICBpZiAoTlNEYXRhICphcHBsaWNhdGlvbk1ldGFk
YXRhID0gW05TSlNPTlNlcmlhbGl6YXRpb24gZGF0YVdpdGhKU09OT2JqZWN0OmFwcGxpY2F0aW9u
TWV0YWRhdGFEaWN0aW9uYXJ5IG9wdGlvbnM6TlNKU09OV3JpdGluZ1NvcnRlZEtleXMgZXJyb3I6
bmlsXSkKQEAgLTI4MCw3ICsyNTUsNiBAQCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
biBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjphcHBsZVBheUluc3RhbAogICAgIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IG1ha2VWZWN0b3I8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+KFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRJdGVtc10pOwogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhID0gYXBwbGljYXRpb25NZXRh
ZGF0YVN0cmluZy5nZXQoKTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmV0YWlsQ2hh
bm5lbCA9IGFwcGxlUGF5UmV0YWlsQ2hhbm5lbChbbV9jb25maWd1cmF0aW9uIHJldGFpbENoYW5u
ZWxdKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVu
dEFQSVZlcnNpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWQ1MTBmYTJkMjY1NjY5
ZmMxMzNmNzQ5MzdiODE0OWUyMGQzNjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW1wb3J0IDxw
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordW5z
aWduZWQgUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKQoreworICAgIHN0YXRpYyB1bnNpZ25l
ZCBjdXJyZW50ID0gW10geworI2lmIEhBVkUoUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVTKQorICAg
ICAgICByZXR1cm4gMTA7CisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorICAgICAg
ICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKSB7
CisgICAgICAgICAgICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KQorICAgICAgICAgICAgICAgIHJldHVybiA5OworICAgICAgICAgICAgcmV0dXJuIDg7CisgICAg
ICAgIH0KKyNlbmRpZgorICAgICAgICByZXR1cm4gNzsKKyAgICB9KCk7CisgICAgcmV0dXJuIGN1
cnJlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzkxYzE0YTU2ZTkwY2YyMDJmOTNjMDkyOTI4OTUzODIxOTU5MmYwNC4u
MzcwMmQ5ZGZmNDYyZjYxM2QwMTM4ZmZkYzBjNmJlZGFlNzNjYzk0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0LDYgKzE1
NCw3IEBACiAJCUExMTc1QjU3MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1
QjU1MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLzsgfTsKIAkJ
QTExNzVCNTgxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1NjFGNkI0
NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLzsgfTsKIAkJQTExNzVC
NUExRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8q
IE5TU2Nyb2xsVmlld1NQSS5oICovOyB9OworCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyog
UGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxs
bWVudHNTUEkuaCAqLzsgfTsKIAkJQTFGNjNDOUYyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFGNjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovOyB9OwogCQlB
MUY2M0NBMDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNjNDOUUyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLzsgfTsKIAkJQTMwRDQxMjExRjBERDBFQTAwQjcx
OTU0IC8qIEtpbGxSaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAqLzsgfTsKQEAg
LTM0MSw2ICszNDIsNyBAQAogCQlBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmF1bHRTZWFyY2hQcm92aWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE3NUI1NjFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRTZWFy
Y2hQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU5MUY2
QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTY3Jv
bGxWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQwMjQ4RUYw
MzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFG
NjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYXNzS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjND
OUUyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBhc3NLaXRTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEtpbGxSaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NzQsNiArNDc2LDcgQEAKIAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxG
aWxlVHlwZU1hcHBpbmdzU1BJLmggKi8sCiAJCQkJQzE1Q0JCMzIyM0YzNEExMjAwMzAwQ0M3IC8q
IE5TVXNlckRlZmF1bHRzU1BJLmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8q
IE5TWFBDQ29ubmVjdGlvblNQSS5oICovLAorCQkJCUExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAv
KiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8sCiAJCQkJMEMyREExMzkxRjNCRUI0OTAwREJD
MzE3IC8qIFBhc3NLaXRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyog
cHRocmVhZFNQSS5oICovLAogCQkJCTBDMkRBMTNCMUYzQkVCNDkwMERCQzMxNyAvKiBRdWFydHpD
b3JlU1BJLmggKi8sCkBAIC04NTAsNiArODUzLDcgQEAKIAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBG
NEVCQjYgLyogTlNXaW5kb3dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFCOEY5MjBBRjZF
M0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
NUFGOTFGMUY0M0E0QzcwMDJFQUMwMiAvKiBPcGVuR0xFU1NQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTE2OUIwNDEyNDhFRjA1MjAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29m
dExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTU1MUYzQkVCNDkwMERCQzMxNyAvKiBQ
YXNzS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5RTFGNDUxMzBGMDBGNEVCQjYg
LyogUElQU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IGVhZjFkOWJlMjg4ZjQxNTQ3ZmE3OTE2MzcwY2Qw
OTliYmQzOTU2ZjQuLjc3ZWFkYjM0ZmExMGM0MjQ5YWY1ZjdkYTY2ZDMxY2NjMmI3OTA1MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaApAQCAt
NDksOSArNDksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdN
ZXRob2QpCiAKICNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCi0jZW5k
aWYKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtKQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1t
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KaW5kZXgg
YzFmZmY5MGQ1YWQ2YmFmMzhiODVlOWJhZDU3Y2QyY2I0YzczMDE0Yi4uYWI4NzNiOWM1ZmMxZTcy
ZjdhZmY4MzU3ODQ2ZTRmM2RmMTYwYjU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQorCiBTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBBTF9FWFBP
UlQpCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQpAQCAt
MzgsMTQgKzM5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbnQKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBGZWF0dXJlLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFJlcXVlc3QsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
LCBQQUxfRVhQT1JUKQotI2VuZGlmCi0KICNlbHNlIC8vIFBMQVRGT1JNKE1BQykKIAogU09GVF9M
SU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEFMX0VY
UE9SVCkKQEAgLTU2LDE2ICs0OSwxMyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwRmVhdHVyZSwgUEFMXwogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRT
ZXR1cFJlcXVlc3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShN
QUMpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbSwgUEFMX0VYUE9SVCkKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKICNlbmRpZgogCi0jZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQotCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmNGY2
YjE0N2MwZTdhNjM0NGQwNTQ0ZTg4MmVkZTYyMGRlZDVjZjcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
QEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOS0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQQUxfUEFTU0tJVF9T
UElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KKyNlcnJvciAiUGxlYXNlICNpbmNs
dWRlIDxwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaD4gaW5zdGVhZCBvZiB0aGlzIGZpbGUgZGly
ZWN0bHkuIgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTX0lOX1NESykK
KworI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4KKworI2VsaWYg
SEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
UEtJbnN0YWxsbWVudEl0ZW1UeXBlKSB7CisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJp
YyA9IDAsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGhvbmUsCisgICAgUEtJbnN0YWxsbWVu
dEl0ZW1UeXBlUGFkLAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVdhdGNoLAorICAgIFBLSW5z
dGFsbG1lbnRJdGVtVHlwZU1hYywKK307CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBL
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsKSB7CisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWxVbmtub3duID0gMCwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbEFwcCwKKyAgICBQ
S0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbFdlYiwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hh
bm5lbEluU3RvcmUsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50
UmVxdWVzdFR5cGUpIHsKKyAgICBQS1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50ID0gNSwK
K307CisKK0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIDogTlNP
YmplY3QgPE5TU2VjdXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3Rh
bGxtZW50SXRlbSA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFj
ZSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKCkKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVyZVR5cGUgZmVhdHVyZTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5kaXNpbmdJbWFnZURhdGE7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKm9wZW5Ub0J1eVRocmVz
aG9sZEFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJl
ciAqYmluZGluZ1RvdGFsQW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3Ry
aW5nICpjdXJyZW5jeUNvZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBnZXR0ZXI9
aXNJblN0b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNoYXNlOworQHByb3BlcnR5IChub25h
dG9taWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOwor
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtICo+ICppbnN0YWxsbWVudEl0ZW1zOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5T
RGljdGlvbmFyeTxOU1N0cmluZyAqLCBpZD4gKmFwcGxpY2F0aW9uTWV0YWRhdGE7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxD
aGFubmVsOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSAoKQor
QHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGluc3Rh
bGxtZW50SXRlbVR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVt
YmVyICphbW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJl
bmN5Q29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbUlk
ZW50aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVtYmVyICph
cHI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1UZXJtczsK
K0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZSBBUElUeXBlOworQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZykgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpp
bnN0YWxsbWVudENvbmZpZ3VyYXRpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQ
S1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1ZXN0VHlwZTsKK0BlbmQKKworI2VuZGlmIC8vIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9QYXNzS2l0U1BJLmgKaW5kZXggMDE4MDE3ZWQzMDI3MWNjM2U5YjUzMDdiZjJlNjcxNmFkMGUy
MzUxMC4uMzkyODVjMzZiMGEwYWRmY2MyNzYwZGIyNThkYWMzODljMWNjZTdiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtMjMsNiArMjMs
OCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNkZWZpbmUg
UEFMX1BBU1NLSVRfU1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisKICNpZiAh
UExBVEZPUk0oTUFDKSB8fCBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAvLyBGSVhNRTogUGFz
c0tpdCBkb2VzIG5vdCBkZWNsYXJlIGl0cyBOU1N0cmluZyBjb25zdGFudCBzeW1ib2xzIHdpdGgg
QyBsaW5rYWdlLCBzbyB3ZSBlbmQgdXAgd2l0aApAQCAtNDQsMTggKzQ2LDEzIEBAIFdURl9FWFRF
Uk5fQ19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UGFzcy5oPgogI2ltcG9ydCA8UGFz
c0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8UGFzc0tpdC9QS1BheW1lbnRNZXRob2QuaD4KLSNpbXBvcnQgPFBhc3NLaXQvUEtQYXlt
ZW50UmVxdWVzdF9Qcml2YXRlLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwQ29u
ZmlndXJhdGlvbl9XZWJLaXQuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBDb250
cm9sbGVyLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwUmVxdWVzdC5oPgotI2lt
cG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0X1dlYktpdC5oPgotCi0jaWYgSEFWRShQ
QVNTS0lUX0lOU1RBTExNRU5UUykKICNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24uaD4KICNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRlLmg+
Ci0jZW5kaWYKKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJp
dmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdF9XZWJLaXQuaD4K
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudEF1
dGhvcml6YXRpb25Db250cm9sbGVyX1ByaXZhdGUuaD4KQEAgLTMzOCwxNCArMzM1LDYgQEAgdHlw
ZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgUEtQYXltZW50U2V0dXBGZWF0dXJlU3VwcG9ydGVk
T3B0aW9ucykgewogCiAjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIAotdHlwZWRlZiBO
U19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudEl0ZW1UeXBlKSB7Ci0gICAgUEtJbnN0YWxs
bWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGhvbmUs
Ci0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGFkLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZVdhdGNoLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZU1hYwotfTsKLQogdHlwZWRlZiBOU19F
TlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7CiAgICAgUEtQYXltZW50UmVx
dWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCiB9OwpAQCAtMzU4LDE4ICszNDcsNiBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOwogQGVuZAogCi1AaW50ZXJmYWNl
IFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU1NlY3VyZUNv
ZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVy
ZVR5cGUgZmVhdHVyZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNo
YW5kaXNpbmdJbWFnZURhdGE7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2lt
YWxOdW1iZXIgKm9wZW5Ub0J1eVRocmVzaG9sZEFtb3VudDsKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqYmluZGluZ1RvdGFsQW1vdW50OwotQHByb3BlcnR5
IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJyZW5jeUNvZGU7Ci1AcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNJblN0b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1
cmNoYXNlOwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1U
eXBlIGluc3RhbGxtZW50SXRlbVR5cGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOwotQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7Ci1AZW5kCi0KICNlbmRpZgog
CiBAaW50ZXJmYWNlIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbiA6IE5TT2JqZWN0IDxOU1NlY3Vy
ZUNvZGluZywgTlNDb3B5aW5nPgpAQCAtMzk2LDE0ICszNzMsNiBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25T
ZWNvbmRhcnlJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJp
bmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFM
TE1FTlRTKQotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci1AcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1ZXN0VHlwZTsKLSNlbmRp
ZgotQGVuZAotCi1AaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CiBAZW5kCiAK
ICNpZiBIQVZFKFBBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCkBAIC00ODQsMyAr
NDUzLDcgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIHR5cGVkZWYgdm9pZCheUEtDYW5NYWtl
UGF5bWVudHNDb21wbGV0aW9uKShCT09MIGlzVmFsaWQsIE5TRXJyb3IgKik7CiAKIE5TX0FTU1VN
RV9OT05OVUxMX0VORAorCisjaW1wb3J0ICJQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgiCisKKyN1
bmRlZiBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDJhYzdkYTc2OTNmYjgxNWI4NjI3MzgxYTA3YWIyYWYw
Yjc3ZjExYTIuLjJmOGI0MjYyYjcwNzYzMjE1NDQxYjA4MTJhM2IzMGE3OGY2NDcyN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dApAQCAtNjEzLDYgKzYxMyw3IEBAIFdITFNMU3RhbmRhcmRMaWJy
YXJ5RnVuY3Rpb25NYXAuY3BwCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdFZh
bGlkYXRvci5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCiAKKyAg
ICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KICAgICBN
b2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVw
YXkvY29jb2EvUGF5bWVudENvbnRhY3RDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudE1lcmNoYW50U2Vzc2lvbkNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDUzMzdjOTU2MDJmNDFmZjlh
ZDQ1ZjBiZGU3NTY5NTA2YjQ1ODJlOS4uZTI5NjFkMDllODMxYWY2ZWU2OTQzM2IwNzY5MGVjMjc3
NmYzZDI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzA0Miw2ICszMDQyLDcgQEAKIAkJQTE2NzdFMEUyMTNFMDJBMDAwQTA4
QzM0IC8qIEFkZHJlc3NFcnJvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExNjc3RTBCMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmgg
Ki87IH07CiAJCUExNjc3RTEzMjEzRTAzQzYwMEEwOEMzNCAvKiBKU0FkZHJlc3NFcnJvcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTExMjEz
RTAzQzUwMEEwOEMzNCAvKiBKU0FkZHJlc3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTcyMTNF
MDNGMTAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpT
UGF5ZXJFcnJvckZpZWxkcy5oICovOyB9OworCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyog
UGF5bWVudEFQSVZlcnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExNjlCMDQyMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5o
ICovOyB9OwogCQlBMTc2M0YzRjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc2
M0YzRDFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE3NjNGNDExRTIwNTg2
RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZO
ZXR3b3JrLmZyYW1ld29yayAqLzsgfTsKIAkJQTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8qIEhU
TUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE3QzgxMjEwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5o
ICovOyB9OwpAQCAtMTE2MDYsNiArMTE2MDcsOCBAQAogCQlBMTY3N0UxNTIxM0UwM0YwMDBBMDhD
MzQgLyogSlNQYXllckVycm9yRmllbGRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MTY3N0UxNjIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9yRmllbGRzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNjc3RTI0MjE0NDUzMjgwMEEwOEMzNCAvKiBK
U1BheW1lbnRNZXRob2RDaGFuZ2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1BheW1lbnRNZXRob2RDaGFuZ2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExNjlCMDQyMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQYXltZW50QVBJVmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBMTY5QjA0NTI0OEYwNDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25D
b2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjNDMUUyMDUyMzQwMDFENThERSAv
KiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExNzYzRjNEMUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBv
cnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjQwMUUyMDU4NkUwMDFE
NThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDRk5ldHdvcmsu
ZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJh
bWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKQEAgLTE3NDk5LDYgKzE3NTAyLDcgQEAK
IAkJCQkxQThBNjQ0RjFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50
RXZlbnQuaCAqLywKIAkJCQkxQThBNjQ1MDFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxp
ZGF0ZU1lcmNoYW50RXZlbnQuaWRsICovLAogCQkJCTFBOEE2NDM3MUQxOUZDNTMwMEQwRTAwRiAv
KiBQYXltZW50LmggKi8sCisJCQkJQTE2OUIwNDIyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRB
UElWZXJzaW9uLmggKi8sCiAJCQkJMUFFOTZBODYxRDFBMENFQjAwQjg2NzY4IC8qIFBheW1lbnRB
dXRob3JpemF0aW9uU3RhdHVzLmggKi8sCiAJCQkJMUE4QTY0MzgxRDE5RkM1MzAwRDBFMDBGIC8q
IFBheW1lbnRDb250YWN0LmggKi8sCiAJCQkJMUE1OEU4NkIxRDE5RTQyRDAwQzBFQTczIC8qIFBh
eW1lbnRDb29yZGluYXRvci5jcHAgKi8sCkBAIC0xNzUyNCw2ICsxNzUyOCw3IEBACiAJCTFBNThF
ODY5MUQxOUQ4QzAwMEMwRUE3MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJQTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRB
UElWZXJzaW9uQ29jb2EubW0gKi8sCiAJCQkJMUE4QTY0NjkxRDE5RkY4NzAwRDBFMDBGIC8qIFBh
eW1lbnRDb2NvYS5tbSAqLywKIAkJCQkxQThBNjQ2QTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVu
dENvbnRhY3RDb2NvYS5tbSAqLywKIAkJCQkxQURBNEExQjFEMjJGMkMwMDA1QTlBMTUgLyogUGF5
bWVudE1lcmNoYW50U2Vzc2lvbkNvY29hLm1tICovLApAQCAtMzI0NDAsNiArMzI0NDUsNyBAQAog
CQkJCUExNjc3RTA4MjEzRTAyNEMwMEEwOEMzNCAvKiBQYXllckVycm9yRmllbGRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQThBNjQzQTFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTFGNzZCNDMxRjQ0Q0Y3RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNz
LmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVu
dEFQSVZlcnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTk2QTg4MUQxQTBDRUIwMEI4Njc2
OCAvKiBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFG
NzZCNUIxRjQ0RDNCMjAwMTRDMzE4IC8qIFBheW1lbnRDb21wbGV0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUE4QTY0M0IxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA2ODg3NGU1ZmMyOTAwNDVhOGMxM2ZmYzU5ZWU1ZDlmN2Q3YTBhNWM5
Li5hMzVlN2ZiODI4MjRiYWRkZjZlNzMxODkzOGY2OTllZjlmNjk4NDA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhBVkUoUEFTU0tJVF8qKSBtYWNyb3MgYW5kIGVu
YWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA2
LTA4ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgR2Fy
ZGVuaW5nLCByZW1vdmUgdGVzdHMgcGFzc2luZyBhZnRlciByMjYyNzE2CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjI2YjgxODU2NTY1ZDE4
OWNlMGZlZDA5MmVmYzQ3MTk5MzNiZTIwYS4uOWJkNzFiYjdmZGUwNTY3OTQ0N2QwNTk4NDhjMjUx
NDI4N2VlMTliMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDMsNyArNDMsOCBAQCBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQt
Y29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY292
ZXIuaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWF1dG8uaHRt
bCBbIFNraXAgXQogCi1odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUJpbGxpbmdBZGRy
ZXNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBdCitodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsgU2xvdyBdCiAK
IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGUwMzM3Yjc5OTBkMzRjN2NjMTYw
MDZkMDEwZDRlMmQzZjMyOWNhMy4uZjRhOThjZjI2MTQ1ZDE3MDRlNjRjNDc1YTRmNjQxMzIyOWFm
YTkwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMzQsNyArMzQsNyBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVw
ZGF0ZS1pbi1zdWJmcmFtZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1tb25vY2hyb21l
LWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2Vk
LW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5LyBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0KIAogIyBBcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxhYmxlIGluIENhdGFs
aW5hLgogWyBNb2phdmUgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbi5odHRwcy5odG1sIFsgU2tpcCBdCkBAIC0xMDQxLDQgKzEwNDEsNCBA
QCB3ZWJraXQub3JnL2IvMjEyNzIxIHN2Zy9jdXN0b20vdGV4dFBhdGgtY2hhbmdlLWlkLnN2ZyBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEyODI0IFsgRGVidWcgXSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhl
LWF1ZGlvbm9kZS1pbnRlcmZhY2UvYXVkaW9ub2RlLWRpc2Nvbm5lY3QtYXVkaW9wYXJhbS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxp
bmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2Iv
MjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401449</attachid>
            <date>2020-06-09 10:26:57 -0700</date>
            <delta_ts>2020-06-09 10:40:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609102656.patch</filename>
            <type>text/plain</type>
            <size>47696</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjNlZDkzN2IwODlmMTFmYjkzYjkyOTIzZGZhNmExNTA3MGViZjZh
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhBVkUoUEFTU0tJVF8q
KSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMC0wNi0wOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9w
dCByZWFkLW9ubHkgbW9kZSBmb3IgcHJlZmVyZW5jZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU3MjcxNjE0MDg0NTQwNTEwYjczNTBiZWM3MzZiYzY3NWJlNWRhOTIu
LmI2ZjY5YjMyODliMGQyZWRmNjMyZTk5MTk1OTY3MmQ0YjFhMTg2ZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0FwcGxlIFBheV0gU2ltcGxpZnkgSEFWRShQQVNTS0lUXyopIG1hY3JvcyBh
bmQgZW5hYmxlIHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGVkIHRlc3RzIGluIGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5LyBvbiBpT1MuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmg6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5l
bC5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtVHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OjpzdXBwb3J0c1ZlcnNpb24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VO
U0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQbGF0Zm9ybUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW06IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW0uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KToK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wNi0wOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgRXh0ZW5kZWQgQ29sb3I6IFJlbmFtZSBDb2xvcjo6bGlnaHRlbigp
IGFuZCBDb2xvcjo6ZGFya2VuKCkgdG8gQ29sb3I6OmxpZ2h0ZW5lZCgpIGFuZCBDb2xvcjo6ZGFy
a2VuZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYWQyNDdiZTI3Njg2MTk0MGM3M2E2MjI0ZDY0
YWFlNmJlODIzNjcxZC4uYmNkOGUwOTc3MGNhNjBlNTg3MDY2YzQxNDBkNmIxOGZmZDUwOGQ0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhB
VkUoUEFTU0tJVF8qKSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3Jtcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLmg6CisgICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbToKKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudFNQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDoKKwogMjAyMC0wNi0wOCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTogR3VhcmQgX3ByZWNv
bm5lY3QgZGVjbGFyYXRpb24gd2l0aCBFTkFCTEUoU0VSVkVSX1BSRUNPTk5FQ1QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggNTNkMTljYmIwYzk2NjcxODhhYWFiMmM4ZTc1
ZDcwZGU2ZWI5Y2JjMi4uYjk1N2QzZjM2MDJkMzMxMmYwYTUyMTA3MGJjMDc5YzMwYTg3MTdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNTUsMTQgKzU1LDYgQEAKICNk
ZWZpbmUgRU5BQkxFX0FOSU1BVEVEX0tFWUJPQVJEX1NDUk9MTElORyAxCiAjZW5kaWYKIAotI2lm
ICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpICYmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUyAx
Ci0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTKSAm
JiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUyAxCiAjZW5kaWYKQEAgLTcxLDE4ICs2Myw2IEBACiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfTkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOCkgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLSNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4IDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTApICYmIEhBVkUoUEFT
U0tJVF9ORVdfQlVUVE9OX1RZUEVTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjEwIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkp
ICYmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykpCiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfUkVNT1RFX1VJIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYTky
ZTkwM2EzMjNhZjMwNWU1ZWYxNjlkMzJlYjk4NDEzMDBlOTM4Li4zZDY3Zjk0MmQyOWM4YWJiZWY3
Y2YzZGNlZmYzMWRiNGRjY2UyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODksMTIgKzg5
LDYgQEAKICNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTKQotI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9C
SUxMSU5HX0FERFJFU1MgMQotI2VuZGlmCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKFVTRV9VSUtJ
VF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSkKICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCiAjZW5kaWYK
QEAgLTYxNiwxNCArNjEwLDEyIEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZB
Q0VfSURFTlRJRklFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01BWF9BTExPV0VEID49IDEzMDQwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NL
SVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisj
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDApIFwKLSAgICB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCisjaWYgUExBVEZPUk0oSU9TKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVT
UyAxCiAjZW5kaWYKIAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAppbmRleCBmM2Rj
MTc4OTdiNWY5ZjI5OWIzYWVmYjg1YzVhMmYyN2U0ZWM4ZWExLi5jODc4YzgwYWFlMTUyNjg0NTk3
ODZhNzg5YWRhMGI3YWQ0Mzg4ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLmlkbApAQCAtMzQsOSArMzQsOSBAQAogICAgIERPTVN0cmluZyBiaW5kaW5nVG90YWxBbW91
bnQ7CiAgICAgRE9NU3RyaW5nIGN1cnJlbmN5Q29kZTsKICAgICBib29sZWFuIGlzSW5TdG9yZVB1
cmNoYXNlOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlNdIERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIHJlZmVycmVySWRlbnRpZmll
cjsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBzZXF1ZW5j
ZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNU10gSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOwotICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEFwcGxlUGF5SW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CisgICAgRE9NU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKKyAgICBET01TdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwor
ICAgIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKKyAgICBKU09OIGFw
cGxpY2F0aW9uTWV0YWRhdGE7CisgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwg
cmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3duIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaAppbmRleCA3YzMxMzFiY2QzMGQxMWQzZmFkMDFkMzU1OGEz
NTM2NmVmODQ4NmQ5Li5jNjUzOWIwNGNhZDgxNGNjNmMxN2Y3ZTBlMzdjZWU2MjUzZWQ0NGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKQEAgLTQy
LDE1ICs0MiwxMSBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gewog
ICAgIFN0cmluZyBiaW5kaW5nVG90YWxBbW91bnQ7CiAgICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsK
ICAgICBib29sIGlzSW5TdG9yZVB1cmNoYXNlIHsgZmFsc2UgfTsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQogICAgIFN0cmluZyBtZXJjaGFudElkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIHJlZmVycmVySWRlbnRpZmllcjsKLSNlbmRpZgotI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgVmVjdG9yPEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtPiBpdGVtczsKICAgICBTdHJpbmcgYXBwbGljYXRpb25NZXRhZGF0YTsKICAgICBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsIHsgQXBwbGVQYXlJbnN0
YWxsbWVudFJldGFpbENoYW5uZWw6OlVua25vd24gfTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCmluZGV4IGU2Y2FhMmEwY2UwYTE0MDlmN2Y5
NGEzNTVkMWJkMDRlODFiODUxOWQuLmU5Zjg4YzdlMTc5OTVlZDI5Nzc4MDljMDZiNzY4MWMyNjdh
MzBjZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1UeXBlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00Myw0ICs0
Myw0IEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMp
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCmluZGV4IDE1NWE2ZDY5OTQyMTc4YWE3YjZjZmZkYzc2ODY1NzhmZmQxY2RlODYuLmRj
NjE1ZTYwYTQyYmYwYTdjMWIxNTQ4MWM1ZTZkNzlmZmVkNjE0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFM
TE1FTlRTLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogXSBkaWN0aW9uYXJ5IEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgdHlwZSA9
ICJnZW5lcmljIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCmluZGV4IDJkY2ZiZTY4YzJhMjFk
ZjU2ODUzYmNhZGVhOTczZmFmZTA0YmRlMTYuLmMzMzgxZmQxZGMzNTJlN2IzMzUzZWRiYzMyNDcx
NjBmNTk2NzZiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRF
TVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzksNCArMzksNCBAQCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZSA6IHVpbnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsCmluZGV4
IDczNjMyNTc3MWY1YjZmNjVjMzk2YWM1MzU5MGQ2ODNjMjc3ZDA3YTUuLmI0MGFjMzAyZGYxYTYx
ODVjZTNiOTg3YzQ5NDkwYzRlNjM0YjU3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VFMsCiBdIGVudW0gQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIHsKICAgICAiZ2VuZXJpYyIs
CiAgICAgInBob25lIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaAppbmRleCAz
OGNiOWRiNDMyMDFhZTlmNzc4NTc5ZDE0OWEzMGRmYzE1OWJiMjBmLi42MTdlMTg0NjhkN2U1OTk5
OGI0MDVlYjliOTZiODk0NzY4ZGY5MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hh
bm5lbC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExN
RU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw0ICszOCw0IEBAIGVudW0gY2xh
c3MgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgOiB1aW50OF90IHsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVO
VF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKaW5kZXggZDA4YjEwMzEwNjRhNTM4Njg3
N2NlNTNlNTJiNDg3MGU3ZTQ1MDMyZS4uZTI1MDAyNzBmNjZiZDJkYjZiNDMzMzA1NGM5NTYyYWFm
YjAyMmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiBdIGVu
dW0gQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgewogICAgICJ1bmtub3duIiwKICAg
ICAiYXBwIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEFQSVZlcnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dEFQSVZlcnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGI4MjRkYzgxN2UwMjEwYjkxY2NkZDllZmMwMTdl
NzdjOTczM2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBheW1lbnRBUElWZXJzaW9uIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgY3Vy
cmVudCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAppbmRleCBhYzc0YTRiZjNiNWU1OWMz
MmY1MWU1MzgxY2ZkMGZkMWRmYWU2ZTA3Li42ZDJiNGNhZWQwMGFjOWNkNGE1ZTA5N2ZhODFmNTM5
NDc3ZjEzOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCkBAIC0yOCwyMyArMjgsMTQgQEAK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNpbmNsdWRlICJQYXltZW50QVBJVmVyc2lvbi5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKIHsKLSAgICBBU1NFUlQodmVyc2lv
biA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WOCkKLSAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA3OwotI2VsaWYgIUVOQUJMRShBUFBMRV9Q
QVlfU0VTU0lPTl9WOSkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24g
PSA4OwotI2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMTApCi0gICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gOTsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMTA7Ci0jZW5kaWYKLQotICAgIHJldHVybiB2ZXJz
aW9uIDw9IGN1cnJlbnRWZXJzaW9uOworICAgIEFTU0VSVCh2ZXJzaW9uKTsKKyAgICByZXR1cm4g
dmVyc2lvbiA8PSBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0KaW5kZXggNTgw
NTFiZmNjMGE4NDhmYWExZmQ4NGY1ZTM0YWU3NWY0NDM0ZTU1MC4uN2UyMzE5ZTY5NmMyOTkxNGIw
NWViMWI1OGQ0OWEwNzljZWI1YzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tbQpAQCAtODAsOCArODAsNiBAQCBzdGF0aWMgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBw
bGF0Zm9ybUZlYXR1cmVUeXBlKEFwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZSBmZQogICAgIH0KIH0K
IAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3RhdGljIEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZSBhcHBsZVBheUl0ZW1UeXBlKFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZSBpdGVtVHlwZSkKIHsKICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7CkBAIC0xNDQsNiArMTQyLDcg
QEAgc3RhdGljIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHBsYXRmb3JtUmV0YWlsQ2hhbm5l
bChBcHBsZVBheUluc3RhbGxtZW50UmV0YWkKIAogc3RhdGljIFJldGFpblB0cjxpZD4gbWFrZU5T
QXJyYXlFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtJiBpdGVtKQogeworICAg
IEFTU0VSVChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkpOwogICAgIGF1
dG8gaW5zdGFsbG1lbnRJdGVtID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEluc3RhbGxt
ZW50SXRlbUluc3RhbmNlKCkgaW5pdF0pOwogICAgIFtpbnN0YWxsbWVudEl0ZW0gc2V0SW5zdGFs
bG1lbnRJdGVtVHlwZTpwbGF0Zm9ybUl0ZW1UeXBlKGl0ZW0udHlwZSldOwogICAgIFtpbnN0YWxs
bWVudEl0ZW0gc2V0QW1vdW50OnRvRGVjaW1hbE51bWJlcihpdGVtLmFtb3VudCldOwpAQCAtMTcw
LDEwICsxNjksMTEgQEAgc3RhdGljIE9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBt
YWtlVmVjdG9yRWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGwKICAgICB9OwogfQogCi0jZW5k
aWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotCiBzdGF0aWMgUmV0YWluUHRy
PFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1
cmF0aW9uKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiBjb3JlQ29uZmln
dXJhdGlvbiwgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhKQogeworICAgIGlmICgh
UEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQorICAgICAg
ICByZXR1cm4gbmlsOworCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbUEFMOjph
bGxvY1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkluc3RhbmNlKCkgaW5pdF0pOwog
CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0RmVhdHVyZTpwbGF0Zm9ybUZlYXR1cmVUeXBlKGNvcmVD
b25maWd1cmF0aW9uLmZlYXR1cmVUeXBlKV07CkBAIC0xODUsMjkgKzE4NSwxNSBAQCBzdGF0aWMg
UmV0YWluUHRyPFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZv
cm1Db25maWd1cmF0aW9uKAogCiAgICAgYXV0byBtZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gYWRv
cHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvcmVDb25m
aWd1cmF0aW9uLm1lcmNoYW5kaXNpbmdJbWFnZURhdGEgb3B0aW9uczowXSk7CiAgICAgW2NvbmZp
Z3VyYXRpb24gc2V0TWVyY2hhbmRpc2luZ0ltYWdlRGF0YTptZXJjaGFuZGlzaW5nSW1hZ2VEYXRh
LmdldCgpXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOildIHx8ICFbY29u
ZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJlZmVycmVySWRlbnRp
ZmllcjopXSkKLSAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBbY29u
ZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjpjb3JlQ29uZmlndXJh
dGlvbi5tZXJjaGFudElkZW50aWZpZXJdOwogICAgIFtjb25maWd1cmF0aW9uIHNldFJlZmVycmVy
SWRlbnRpZmllcjpjb3JlQ29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlm
Ci0gICAgCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Ioc2V0SW5zdGFsbG1lbnRJdGVtczopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRBcHBsaWNhdGlvbk1ldGFkYXRhOildCi0gICAg
ICAgIHx8ICFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJl
dGFpbENoYW5uZWw6KV0pCisKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtQ2xhc3MoKSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwogICAg
IFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50SXRlbXM6Y3JlYXRlTlNBcnJheShjb3JlQ29u
ZmlndXJhdGlvbi5pdGVtcykuZ2V0KCldOwogICAgIFtjb25maWd1cmF0aW9uIHNldEFwcGxpY2F0
aW9uTWV0YWRhdGE6YXBwbGljYXRpb25NZXRhZGF0YV07CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0
UmV0YWlsQ2hhbm5lbDpwbGF0Zm9ybVJldGFpbENoYW5uZWwoY29yZUNvbmZpZ3VyYXRpb24ucmV0
YWlsQ2hhbm5lbCldOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oYXBwbGljYXRpb25NZXRhZGF0
YSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwogfQpAQCAtMjE1LDE0ICsy
MDEsMTIgQEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24+IGNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIEV4Y2VwdGlvbk9yPFBheW1lbnRJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24+IFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmNy
ZWF0ZShjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKIHsKICAgICBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0g
bmlsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgaWYgKCFj
b25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEuaXNOdWxsKCkpIHsKICAgICAgICAgTlNE
YXRhICphcHBsaWNhdGlvbk1ldGFkYXRhID0gW2NvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRh
ZGF0YSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CiAgICAgICAgIGFw
cGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNEaWN0aW9u
YXJ5PihbTlNKU09OU2VyaWFsaXphdGlvbiBKU09OT2JqZWN0V2l0aERhdGE6YXBwbGljYXRpb25N
ZXRhZGF0YSBvcHRpb25zOjAgZXJyb3I6bmlsXSk7CiAgICAgICAgIGlmICghYXBwbGljYXRpb25N
ZXRhZGF0YURpY3Rpb25hcnkpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCAiYXBwbGljYXRpb25NZXRhZGF0YSBtdXN0IGJlIGEgSlNPTiBvYmplY3QiIH07CiAgICAg
fQotI2VuZGlmCiAKICAgICByZXR1cm4gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihj
b25maWd1cmF0aW9uLCBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSk7CiB9CkBAIC0yNDUs
NiArMjI5LDggQEAgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpQYXltZW50SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uOjpwbGF0Zm9ybUNvbmYKIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uKCkgY29uc3QKIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFQQUw6Omdl
dFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkNsYXNzKCkpCisgICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uZmVhdHVyZVR5cGUgPSBhcHBsZVBheVNldHVwRmVhdHVyZVR5cGUoW21fY29uZmlndXJhdGlv
biBmZWF0dXJlXSk7CiAKQEAgLTI1NCwyMyArMjQwLDEyIEBAIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm9wZW5Ub0J1eVRocmVzaG9sZEFtb3Vu
dCA9IGZyb21EZWNpbWFsTnVtYmVyKFttX2NvbmZpZ3VyYXRpb24gb3BlblRvQnV5VGhyZXNob2xk
QW1vdW50XSk7CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0lt
YWdlRGF0YSA9IFtbbV9jb25maWd1cmF0aW9uIG1lcmNoYW5kaXNpbmdJbWFnZURhdGFdIGJhc2U2
NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JREVOVElGSUVSUykKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1
cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zdGFsbG1lbnRNZXJjaGFudElk
ZW50aWZpZXIpXSB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHJlZmVycmVySWRlbnRpZmllcildKQotICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOwotI2VuZGlmCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1lcmNoYW50
SWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZp
ZXJdOwogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXIgPSBb
bV9jb25maWd1cmF0aW9uIHJlZmVycmVySWRlbnRpZmllcl07Ci0jZW5kaWYKIAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlm
ICghW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxt
ZW50SXRlbXMpXQotICAgICAgICB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uTWV0YWRhdGEpXQotICAgICAgICB8fCAhW21fY29uZmln
dXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJldGFpbENoYW5uZWwpXSkKKyAg
ICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3MoKSkKICAgICAgICAg
cmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgorCiAgICAgUmV0YWluUHRy
PE5TU3RyaW5nPiBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nOwogICAgIGlmIChOU0RpY3Rpb25h
cnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gW21fY29uZmlndXJhdGlvbiBhcHBs
aWNhdGlvbk1ldGFkYXRhXSkgewogICAgICAgICBpZiAoTlNEYXRhICphcHBsaWNhdGlvbk1ldGFk
YXRhID0gW05TSlNPTlNlcmlhbGl6YXRpb24gZGF0YVdpdGhKU09OT2JqZWN0OmFwcGxpY2F0aW9u
TWV0YWRhdGFEaWN0aW9uYXJ5IG9wdGlvbnM6TlNKU09OV3JpdGluZ1NvcnRlZEtleXMgZXJyb3I6
bmlsXSkKQEAgLTI4MCw3ICsyNTUsNiBAQCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
biBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjphcHBsZVBheUluc3RhbAogICAgIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IG1ha2VWZWN0b3I8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+KFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRJdGVtc10pOwogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhID0gYXBwbGljYXRpb25NZXRh
ZGF0YVN0cmluZy5nZXQoKTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmV0YWlsQ2hh
bm5lbCA9IGFwcGxlUGF5UmV0YWlsQ2hhbm5lbChbbV9jb25maWd1cmF0aW9uIHJldGFpbENoYW5u
ZWxdKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVu
dEFQSVZlcnNpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWQ1MTBmYTJkMjY1NjY5
ZmMxMzNmNzQ5MzdiODE0OWUyMGQzNjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW1wb3J0IDxw
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordW5z
aWduZWQgUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKQoreworICAgIHN0YXRpYyB1bnNpZ25l
ZCBjdXJyZW50ID0gW10geworI2lmIEhBVkUoUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVTKQorICAg
ICAgICByZXR1cm4gMTA7CisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorICAgICAg
ICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKSB7
CisgICAgICAgICAgICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KQorICAgICAgICAgICAgICAgIHJldHVybiA5OworICAgICAgICAgICAgcmV0dXJuIDg7CisgICAg
ICAgIH0KKyNlbmRpZgorICAgICAgICByZXR1cm4gNzsKKyAgICB9KCk7CisgICAgcmV0dXJuIGN1
cnJlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzkxYzE0YTU2ZTkwY2YyMDJmOTNjMDkyOTI4OTUzODIxOTU5MmYwNC4u
MzcwMmQ5ZGZmNDYyZjYxM2QwMTM4ZmZkYzBjNmJlZGFlNzNjYzk0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0LDYgKzE1
NCw3IEBACiAJCUExMTc1QjU3MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1
QjU1MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLzsgfTsKIAkJ
QTExNzVCNTgxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1NjFGNkI0
NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLzsgfTsKIAkJQTExNzVC
NUExRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8q
IE5TU2Nyb2xsVmlld1NQSS5oICovOyB9OworCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyog
UGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxs
bWVudHNTUEkuaCAqLzsgfTsKIAkJQTFGNjNDOUYyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFGNjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovOyB9OwogCQlB
MUY2M0NBMDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNjNDOUUyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLzsgfTsKIAkJQTMwRDQxMjExRjBERDBFQTAwQjcx
OTU0IC8qIEtpbGxSaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAqLzsgfTsKQEAg
LTM0MSw2ICszNDIsNyBAQAogCQlBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmF1bHRTZWFyY2hQcm92aWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE3NUI1NjFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRTZWFy
Y2hQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU5MUY2
QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTY3Jv
bGxWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQwMjQ4RUYw
MzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFG
NjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYXNzS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjND
OUUyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBhc3NLaXRTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEtpbGxSaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NzQsNiArNDc2LDcgQEAKIAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxG
aWxlVHlwZU1hcHBpbmdzU1BJLmggKi8sCiAJCQkJQzE1Q0JCMzIyM0YzNEExMjAwMzAwQ0M3IC8q
IE5TVXNlckRlZmF1bHRzU1BJLmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8q
IE5TWFBDQ29ubmVjdGlvblNQSS5oICovLAorCQkJCUExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAv
KiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8sCiAJCQkJMEMyREExMzkxRjNCRUI0OTAwREJD
MzE3IC8qIFBhc3NLaXRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyog
cHRocmVhZFNQSS5oICovLAogCQkJCTBDMkRBMTNCMUYzQkVCNDkwMERCQzMxNyAvKiBRdWFydHpD
b3JlU1BJLmggKi8sCkBAIC04NTAsNiArODUzLDcgQEAKIAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBG
NEVCQjYgLyogTlNXaW5kb3dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFCOEY5MjBBRjZF
M0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
NUFGOTFGMUY0M0E0QzcwMDJFQUMwMiAvKiBPcGVuR0xFU1NQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTE2OUIwNDEyNDhFRjA1MjAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29m
dExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTU1MUYzQkVCNDkwMERCQzMxNyAvKiBQ
YXNzS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5RTFGNDUxMzBGMDBGNEVCQjYg
LyogUElQU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IGVhZjFkOWJlMjg4ZjQxNTQ3ZmE3OTE2MzcwY2Qw
OTliYmQzOTU2ZjQuLjc3ZWFkYjM0ZmExMGM0MjQ5YWY1ZjdkYTY2ZDMxY2NjMmI3OTA1MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaApAQCAt
NDksOSArNDksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdN
ZXRob2QpCiAKICNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCi0jZW5k
aWYKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtKQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1t
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KaW5kZXgg
YzFmZmY5MGQ1YWQ2YmFmMzhiODVlOWJhZDU3Y2QyY2I0YzczMDE0Yi4uYWI4NzNiOWM1ZmMxZTcy
ZjdhZmY4MzU3ODQ2ZTRmM2RmMTYwYjU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQorCiBTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBBTF9FWFBP
UlQpCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQpAQCAt
MzgsMTQgKzM5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbnQKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBGZWF0dXJlLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFJlcXVlc3QsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
LCBQQUxfRVhQT1JUKQotI2VuZGlmCi0KICNlbHNlIC8vIFBMQVRGT1JNKE1BQykKIAogU09GVF9M
SU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEFMX0VY
UE9SVCkKQEAgLTU2LDE2ICs0OSwxMyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwRmVhdHVyZSwgUEFMXwogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRT
ZXR1cFJlcXVlc3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShN
QUMpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbSwgUEFMX0VYUE9SVCkKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKICNlbmRpZgogCi0jZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQotCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwMTU3
ZjY1MDhiZmVmZDQ0OWMwMDc4MjU0Y2JhZTkxMDEzYzIyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
QEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUEFMX1BBU1NLSVRf
U1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisjZXJyb3IgIlBsZWFzZSAjaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg+IGluc3RlYWQgb2YgdGhpcyBmaWxlIGRp
cmVjdGx5LiIKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UU19JTl9TREsp
CisKKyNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0
IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tp
dENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0
Q29yZS9QS1BheW1lbnRfUHJpdmF0ZS5oPgorCisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRTKQorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUp
IHsKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKKyAgICBQS0luc3RhbGxt
ZW50SXRlbVR5cGVQaG9uZSwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCisgICAgUEtJ
bnN0YWxsbWVudEl0ZW1UeXBlV2F0Y2gsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjLAor
fTsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwpIHsKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbFVua25vd24gPSAwLAorICAgIFBL
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsQXBwLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFu
bmVsV2ViLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsSW5TdG9yZSwKK307CisKK3R5
cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgeworICAgIFBL
UGF5bWVudFJlcXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAorfTsKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+
CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtIDogTlNPYmplY3Qg
PE5TU2VjdXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudCAoKSA8TlNTZWN1
cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxt
ZW50QXV0aG9yaXphdGlvblRva2VuOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbiAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQ
YXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0dXJlOworQHByb3BlcnR5IChub25hdG9taWMsIGNv
cHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0ltYWdlRGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqb3BlblRvQnV5VGhyZXNob2xkQW1vdW50OworQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpiaW5kaW5nVG90YWxB
bW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29k
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRlcj1pc0luU3RvcmVQdXJjaGFz
ZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNBcnJheTxQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKj4gKmluc3RhbGxt
ZW50SXRlbXM7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3Ry
aW5nICosIGlkPiAqYXBwbGljYXRpb25NZXRhZGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWw7CitAZW5kCisK
K0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50SXRlbVR5cGUgaW5zdGFsbG1lbnRJdGVtVHlwZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFtb3VudDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOworQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtSWRlbnRpZmllcjsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFwcjsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbVRlcm1zOworQGVuZAorCitAaW50ZXJm
YWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKK0BlbmQKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRSZXF1ZXN0ICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRS
ZXF1ZXN0QVBJVHlwZSBBUElUeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247
CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1
ZXN0VHlwZTsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhv
ZFVwZGF0ZSAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxs
bWVudEdyb3VwSWRlbnRpZmllcjsKK0BlbmQKKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Q
YXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
LmgKaW5kZXggMDE4MDE3ZWQzMDI3MWNjM2U5YjUzMDdiZjJlNjcxNmFkMGUyMzUxMC4uMzQ1YTVh
NWU0NjNhOTg0MzY5YmE0MjIwNzUzNmI0OTA1YTY1Mzg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNDQsMjQgKzQ0LDIxIEBAIFdURl9F
WFRFUk5fQ19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UGFzcy5oPgogI2ltcG9ydCA8
UGFzc0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgog
I2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRNZXRob2QuaD4KLSNpbXBvcnQgPFBhc3NLaXQvUEtQ
YXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVl
c3RTdGF0dXMuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9u
X1dlYktpdC5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cENvbnRyb2xsZXIuaD4K
ICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBSZXF1ZXN0Lmg+Ci0jaW1wb3J0IDxQYXNz
S2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NL
aXRDb3JlL1BLUGF5bWVudFJlcXVlc3RfV2ViS2l0Lmg+CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTKQotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50X1ByaXZhdGUuaD4KLSNp
bXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5oPgot
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50TWV0aG9kX1ByaXZhdGUuaD4KLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0
aG9yaXphdGlvbkNvbnRyb2xsZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1l
bnRTZXR1cFZpZXdDb250cm9sbGVyLmg+CiAjZW5kaWYKIAorI2lmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFNfSU5fU0RLKSB8fCAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKKyNpbXBvcnQg
PFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjZW5kaWYKKwogI2Vsc2UKIAog
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CkBAIC0zMzYsNDIgKzMzMyw2IEBAIHR5
cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIsIFBLUGF5bWVudFNldHVwRmVhdHVyZVN1cHBvcnRl
ZE9wdGlvbnMpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TQXJyYXkgPFBLUGF5
bWVudFNldHVwRmVhdHVyZSAqPiAqcGF5bWVudFNldHVwRmVhdHVyZXM7CiBAZW5kCiAKLSNpZiBI
QVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotCi10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQ
S0luc3RhbGxtZW50SXRlbVR5cGUpIHsKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmlj
ID0gMCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQaG9uZSwKLSAgICBQS0luc3RhbGxtZW50
SXRlbVR5cGVQYWQsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlV2F0Y2gsCi0gICAgUEtJbnN0
YWxsbWVudEl0ZW1UeXBlTWFjCi19OwotCi10eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQ
YXltZW50UmVxdWVzdFR5cGUpIHsKLSAgICBQS1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50
ID0gNSwKLX07Ci0KLUBpbnRlcmZhY2UgUEtQYXltZW50ICgpIDxOU1NlY3VyZUNvZGluZz4KLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0
aW9uVG9rZW47Ci1AZW5kCi0KLUBpbnRlcmZhY2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3Vy
ZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2Vu
OwotQGVuZAotCi1AaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6
IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24p
IFBLUGF5bWVudFNldHVwRmVhdHVyZVR5cGUgZmVhdHVyZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5kaXNpbmdJbWFnZURhdGE7Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKm9wZW5Ub0J1eVRocmVzaG9sZEFtb3VudDsK
LUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqYmluZGluZ1Rv
dGFsQW1vdW50OwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJyZW5j
eUNvZGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNJblN0b3JlUHVy
Y2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNoYXNlOwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
bikgUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGluc3RhbGxtZW50SXRlbVR5cGU7Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVy
OwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZp
ZXI7Ci1AZW5kCi0KLSNlbmRpZgotCiBAaW50ZXJmYWNlIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lv
biA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZywgTlNDb3B5aW5nPgogLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoRGljdGlvbmFyeTooTlNEaWN0aW9uYXJ5ICopZGljdGlvbmFyeTsKIEBlbmQKQEAg
LTM5NiwyMSArMzU3LDExIEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRS
ZXF1ZXN0VHlwZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNv
dXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
dHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlOwotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5v
bmF0b21pYywgc3Ryb25nKSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbjsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5
bWVudFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlOwotI2VuZGlmCi1AZW5kCi0KLUBpbnRlcmZhY2Ug
UEtQYXltZW50UmVxdWVzdCAoKQogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXlt
ZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsKLUBlbmQKLQogI2lmIEhBVkUoUEFTU0tJVF9CT1VO
RF9JTlRFUkZBQ0VfSURFTlRJRklFUikKLUBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQog
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlkZW50
aWZpZXI7Ci1AZW5kCiAjZW5kaWYKK0BlbmQKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKQEAg
LTQ1Miw5ICs0MDMsNiBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQGVuZAogCiBAaW50ZXJm
YWNlIFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlIDogUEtQYXltZW50UmVxdWVz
dFVwZGF0ZQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOwotI2VuZGlm
CiBAZW5kCiAKIEBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0
ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRhdGUKQEAgLTQ4NCwzICs0MzIsNyBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogdHlwZWRlZiB2b2lkKF5QS0Nhbk1ha2VQYXltZW50c0NvbXBsZXRpb24p
KEJPT0wgaXNWYWxpZCwgTlNFcnJvciAqKTsKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECisKKyNk
ZWZpbmUgUEFMX1BBU1NLSVRfU1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisj
aW1wb3J0ICJQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgiCisjdW5kZWYgUEFMX1BBU1NLSVRfU1BJ
X0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApp
bmRleCAyYWM3ZGE3NjkzZmI4MTViODYyNzM4MWEwN2FiMmFmMGI3N2YxMWEyLi4yZjhiNDI2MmI3
MDc2MzIxNTQ0MWIwODEyYTNiMzBhNzhmNjQ3MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQK
QEAgLTYxMyw2ICs2MTMsNyBAQCBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IubW0KICAgICBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmNwcAogCisgICAgTW9kdWxlcy9hcHBsZXBheS9j
b2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2Nv
YS9QYXltZW50Q29jb2EubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250
YWN0Q29jb2EubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXJjaGFudFNl
c3Npb25Db2NvYS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGQ1MzM3Yzk1NjAyZjQxZmY5YWQ0NWYwYmRlNzU2OTUwNmI0NTgy
ZTkuLmUyOTYxZDA5ZTgzMWFmNmVlNjk0MzNiMDc2OTBlYzI3NzZmM2QyNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwNDIs
NiArMzA0Miw3IEBACiAJCUExNjc3RTBFMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3Jz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY3N0Uw
QjIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxMzIx
M0UwM0M2MDBBMDhDMzQgLyogSlNBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY3N0UxMTIxM0UwM0M1MDBBMDhDMzQgLyogSlNB
ZGRyZXNzRXJyb3JzLmggKi87IH07CiAJCUExNjc3RTE3MjEzRTAzRjEwMEEwOEMzNCAvKiBKU1Bh
eWVyRXJyb3JGaWVsZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEExNjc3RTE1MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMuaCAq
LzsgfTsKKwkJQTE2OUIwNDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MjI0
OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCAqLzsgfTsKIAkJQTE3NjNGM0Yx
RTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGM0QxRTIwNTIzNDAwMUQ1OERF
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUExNzYzRjQxMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdv
cmsuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTE3NjNGNDAxRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdvcmsgKi87
IH07CiAJCUExN0M4MTIzMEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYy
QTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKQEAgLTExNjA2LDYg
KzExNjA3LDggQEAKIAkJQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZp
ZWxkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheWVyRXJyb3JGaWVs
ZHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE2NzdFMTYyMTNFMDNGMDAwQTA4
QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1BheWVyRXJyb3JGaWVsZHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMTY3N0UyNDIxNDQ1MzI4MDBBMDhDMzQgLyogSlNQYXltZW50TWV0aG9kQ2hhbmdl
RXZlbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYXltZW50TWV0aG9kQ2hhbmdl
RXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0MjI0
OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF5
bWVudEFQSVZlcnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2OUIwNDUy
NDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTc2M0YzQzFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2M0YzRDFF
MjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ0ZOZXR3b3JrLmZyYW1ld29yazsgcGF0aCA9IFN5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yazsgc291cmNlVHJlZSA9
IFNES1JPT1Q7IH07CkBAIC0xNzQ5OSw2ICsxNzUwMiw3IEBACiAJCQkJMUE4QTY0NEYxRDE5RkNG
QjAwRDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmggKi8sCiAJCQkJMUE4
QTY0NTAxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50Lmlk
bCAqLywKIAkJCQkxQThBNjQzNzFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oICovLAorCQkJ
CUExNjlCMDQyMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovLAogCQkJ
CTFBRTk2QTg2MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5o
ICovLAogCQkJCTFBOEE2NDM4MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oICov
LAogCQkJCTFBNThFODZCMUQxOUU0MkQwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRpbmF0b3IuY3Bw
ICovLApAQCAtMTc1MjQsNiArMTc1MjgsNyBAQAogCQkxQTU4RTg2OTFEMTlEOEMwMDBDMEVBNzMg
LyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUExNjlCMDQ1MjQ4RjA0MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tICov
LAogCQkJCTFBOEE2NDY5MUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29jb2EubW0gKi8sCiAJ
CQkJMUE4QTY0NkExRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Q29jb2EubW0gKi8s
CiAJCQkJMUFEQTRBMUIxRDIyRjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25D
b2NvYS5tbSAqLywKQEAgLTMyNDQwLDYgKzMyNDQ1LDcgQEAKIAkJCQlBMTY3N0UwODIxM0UwMjRD
MDBBMDhDMzQgLyogUGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0
M0ExRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2
QjQzMUY0NENGN0YwMDE0QzMxOCAvKiBQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTE2OUIwNDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUU5NkE4ODFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1dGhvcml6
YXRpb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjVCMUY0NEQzQjIwMDE0QzMx
OCAvKiBQYXltZW50Q29tcGxldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDNCMUQxOUZD
NTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjg4
NzRlNWZjMjkwMDQ1YThjMTNmZmM1OWVlNWQ5ZjdkN2EwYTVjOS4uYTM1ZTdmYjgyODI0YmFkZGY2
ZTczMTg5MzhmNjk5ZWY5ZjY5ODQwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA2LTA4
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBT
aW1wbGlmeSBIQVZFKFBBU1NLSVRfKikgbWFjcm9zIGFuZCBlbmFibGUgdGVzdHMgb24gbW9yZSBw
bGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMjk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMC0wNi0wOCAgRGllZ28gUGlubyBHYXJj
aWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEdhcmRlbmluZywgcmVtb3ZlIHRlc3Rz
IHBhc3NpbmcgYWZ0ZXIgcjI2MjcxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDYyNmI4MTg1NjU2NWQxODljZTBmZWQwOTJlZmM0NzE5OTMz
YmUyMGEuLjg4ZTlhZDc3NzdlZDhkNjRhZmViNGU4M2JkNGFlMDVhZTUyYjZjMjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQzLDcgKzQz
LDggQEAgZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvbnRhaW4uaHRtbCBbIFNraXAg
XQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvdmVyLmh0bWwgWyBTa2lwIF0KIGZh
c3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1hdXRvLmh0bWwgWyBTa2lwIF0KIAotaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlCaWxsaW5nQWRkcmVzcy5odG1sIFsgUGFzcyBdCito
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzIxMjk3NSBodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsgU2xvdyBdCiAK
IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGUwMzM3Yjc5OTBkMzRjN2NjMTYw
MDZkMDEwZDRlMmQzZjMyOWNhMy4uZjRhOThjZjI2MTQ1ZDE3MDRlNjRjNDc1YTRmNjQxMzIyOWFm
YTkwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMzQsNyArMzQsNyBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVw
ZGF0ZS1pbi1zdWJmcmFtZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1tb25vY2hyb21l
LWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2Vk
LW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5LyBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0KIAogIyBBcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxhYmxlIGluIENhdGFs
aW5hLgogWyBNb2phdmUgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbi5odHRwcy5odG1sIFsgU2tpcCBdCkBAIC0xMDQxLDQgKzEwNDEsNCBA
QCB3ZWJraXQub3JnL2IvMjEyNzIxIHN2Zy9jdXN0b20vdGV4dFBhdGgtY2hhbmdlLWlkLnN2ZyBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEyODI0IFsgRGVidWcgXSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhl
LWF1ZGlvbm9kZS1pbnRlcmZhY2UvYXVkaW9ub2RlLWRpc2Nvbm5lY3QtYXVkaW9wYXJhbS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9z
Y3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxp
bmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2Iv
MjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3Zl
cmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401450</attachid>
            <date>2020-06-09 10:40:15 -0700</date>
            <delta_ts>2020-06-09 11:55:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609104014.patch</filename>
            <type>text/plain</type>
            <size>47795</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjNlZDkzN2IwODlmMTFmYjkzYjkyOTIzZGZhNmExNTA3MGViZjZh
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhBVkUoUEFTU0tJVF8q
KSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwogMjAyMC0wNi0wOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9w
dCByZWFkLW9ubHkgbW9kZSBmb3IgcHJlZmVyZW5jZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU3MjcxNjE0MDg0NTQwNTEwYjczNTBiZWM3MzZiYzY3NWJlNWRhOTIu
LmI2ZjY5YjMyODliMGQyZWRmNjMyZTk5MTk1OTY3MmQ0YjFhMTg2ZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0FwcGxlIFBheV0gU2ltcGxpZnkgSEFWRShQQVNTS0lUXyopIG1hY3JvcyBh
bmQgZW5hYmxlIHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGVkIHRlc3RzIGluIGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5LyBvbiBpT1MuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmg6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5l
bC5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtVHlwZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50OjpzdXBwb3J0c1ZlcnNpb24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VO
U0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQbGF0Zm9ybUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGNvbnN0KToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW06IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW0uaC4KKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KToK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wNi0wOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgRXh0ZW5kZWQgQ29sb3I6IFJlbmFtZSBDb2xvcjo6bGlnaHRlbigp
IGFuZCBDb2xvcjo6ZGFya2VuKCkgdG8gQ29sb3I6OmxpZ2h0ZW5lZCgpIGFuZCBDb2xvcjo6ZGFy
a2VuZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYWQyNDdiZTI3Njg2MTk0MGM3M2E2MjI0ZDY0
YWFlNmJlODIzNjcxZC4uYmNkOGUwOTc3MGNhNjBlNTg3MDY2YzQxNDBkNmIxOGZmZDUwOGQ0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFNpbXBsaWZ5IEhB
VkUoUEFTU0tJVF8qKSBtYWNyb3MgYW5kIGVuYWJsZSB0ZXN0cyBvbiBtb3JlIHBsYXRmb3Jtcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLmg6CisgICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbToKKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudFNQSS5oOiBBZGRlZC4KKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDoKKwogMjAyMC0wNi0wOCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTogR3VhcmQgX3ByZWNv
bm5lY3QgZGVjbGFyYXRpb24gd2l0aCBFTkFCTEUoU0VSVkVSX1BSRUNPTk5FQ1QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggNTNkMTljYmIwYzk2NjcxODhhYWFiMmM4ZTc1
ZDcwZGU2ZWI5Y2JjMi4uYjk1N2QzZjM2MDJkMzMxMmYwYTUyMTA3MGJjMDc5YzMwYTg3MTdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNTUsMTQgKzU1LDYgQEAKICNk
ZWZpbmUgRU5BQkxFX0FOSU1BVEVEX0tFWUJPQVJEX1NDUk9MTElORyAxCiAjZW5kaWYKIAotI2lm
ICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpICYmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUyAx
Ci0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTKSAm
JiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUyAxCiAjZW5kaWYKQEAgLTcxLDE4ICs2Myw2IEBACiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfTkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOCkgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLSNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4IDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTApICYmIEhBVkUoUEFT
U0tJVF9ORVdfQlVUVE9OX1RZUEVTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjEwIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkp
ICYmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykpCiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfUkVNT1RFX1VJIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYTky
ZTkwM2EzMjNhZjMwNWU1ZWYxNjlkMzJlYjk4NDEzMDBlOTM4Li4zZDY3Zjk0MmQyOWM4YWJiZWY3
Y2YzZGNlZmYzMWRiNGRjY2UyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODksMTIgKzg5
LDYgQEAKICNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTKQotI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9C
SUxMSU5HX0FERFJFU1MgMQotI2VuZGlmCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKFVTRV9VSUtJ
VF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSkKICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCiAjZW5kaWYK
QEAgLTYxNiwxNCArNjEwLDEyIEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZB
Q0VfSURFTlRJRklFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01BWF9BTExPV0VEID49IDEzMDQwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NL
SVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisj
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDApIFwKLSAgICB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCisjaWYgUExBVEZPUk0oSU9TKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVT
UyAxCiAjZW5kaWYKIAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAppbmRleCBmM2Rj
MTc4OTdiNWY5ZjI5OWIzYWVmYjg1YzVhMmYyN2U0ZWM4ZWExLi5jODc4YzgwYWFlMTUyNjg0NTk3
ODZhNzg5YWRhMGI3YWQ0Mzg4ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLmlkbApAQCAtMzQsOSArMzQsOSBAQAogICAgIERPTVN0cmluZyBiaW5kaW5nVG90YWxBbW91
bnQ7CiAgICAgRE9NU3RyaW5nIGN1cnJlbmN5Q29kZTsKICAgICBib29sZWFuIGlzSW5TdG9yZVB1
cmNoYXNlOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlNdIERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIHJlZmVycmVySWRlbnRpZmll
cjsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBzZXF1ZW5j
ZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNU10gSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOwotICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEFwcGxlUGF5SW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CisgICAgRE9NU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKKyAgICBET01TdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwor
ICAgIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKKyAgICBKU09OIGFw
cGxpY2F0aW9uTWV0YWRhdGE7CisgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwg
cmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3duIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaAppbmRleCA3YzMxMzFiY2QzMGQxMWQzZmFkMDFkMzU1OGEz
NTM2NmVmODQ4NmQ5Li5jNjUzOWIwNGNhZDgxNGNjNmMxN2Y3ZTBlMzdjZWU2MjUzZWQ0NGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKQEAgLTQy
LDE1ICs0MiwxMSBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gewog
ICAgIFN0cmluZyBiaW5kaW5nVG90YWxBbW91bnQ7CiAgICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsK
ICAgICBib29sIGlzSW5TdG9yZVB1cmNoYXNlIHsgZmFsc2UgfTsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQogICAgIFN0cmluZyBtZXJjaGFudElkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIHJlZmVycmVySWRlbnRpZmllcjsKLSNlbmRpZgotI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgVmVjdG9yPEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtPiBpdGVtczsKICAgICBTdHJpbmcgYXBwbGljYXRpb25NZXRhZGF0YTsKICAgICBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsIHsgQXBwbGVQYXlJbnN0
YWxsbWVudFJldGFpbENoYW5uZWw6OlVua25vd24gfTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCmluZGV4IGU2Y2FhMmEwY2UwYTE0MDlmN2Y5
NGEzNTVkMWJkMDRlODFiODUxOWQuLmU5Zjg4YzdlMTc5OTVlZDI5Nzc4MDljMDZiNzY4MWMyNjdh
MzBjZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1UeXBlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00Myw0ICs0
Myw0IEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMp
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCmluZGV4IDE1NWE2ZDY5OTQyMTc4YWE3YjZjZmZkYzc2ODY1NzhmZmQxY2RlODYuLmRj
NjE1ZTYwYTQyYmYwYTdjMWIxNTQ4MWM1ZTZkNzlmZmVkNjE0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFM
TE1FTlRTLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogXSBkaWN0aW9uYXJ5IEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgdHlwZSA9
ICJnZW5lcmljIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCmluZGV4IDJkY2ZiZTY4YzJhMjFk
ZjU2ODUzYmNhZGVhOTczZmFmZTA0YmRlMTYuLmMzMzgxZmQxZGMzNTJlN2IzMzUzZWRiYzMyNDcx
NjBmNTk2NzZiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRF
TVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzksNCArMzksNCBAQCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZSA6IHVpbnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsCmluZGV4
IDczNjMyNTc3MWY1YjZmNjVjMzk2YWM1MzU5MGQ2ODNjMjc3ZDA3YTUuLmI0MGFjMzAyZGYxYTYx
ODVjZTNiOTg3YzQ5NDkwYzRlNjM0YjU3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VFMsCiBdIGVudW0gQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIHsKICAgICAiZ2VuZXJpYyIs
CiAgICAgInBob25lIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaAppbmRleCAz
OGNiOWRiNDMyMDFhZTlmNzc4NTc5ZDE0OWEzMGRmYzE1OWJiMjBmLi42MTdlMTg0NjhkN2U1OTk5
OGI0MDVlYjliOTZiODk0NzY4ZGY5MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hh
bm5lbC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExN
RU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw0ICszOCw0IEBAIGVudW0gY2xh
c3MgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgOiB1aW50OF90IHsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVO
VF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKaW5kZXggZDA4YjEwMzEwNjRhNTM4Njg3
N2NlNTNlNTJiNDg3MGU3ZTQ1MDMyZS4uZTI1MDAyNzBmNjZiZDJkYjZiNDMzMzA1NGM5NTYyYWFm
YjAyMmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiBdIGVu
dW0gQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgewogICAgICJ1bmtub3duIiwKICAg
ICAiYXBwIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEFQSVZlcnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dEFQSVZlcnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGI4MjRkYzgxN2UwMjEwYjkxY2NkZDllZmMwMTdl
NzdjOTczM2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBheW1lbnRBUElWZXJzaW9uIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgY3Vy
cmVudCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAppbmRleCBhYzc0YTRiZjNiNWU1OWMz
MmY1MWU1MzgxY2ZkMGZkMWRmYWU2ZTA3Li42ZDJiNGNhZWQwMGFjOWNkNGE1ZTA5N2ZhODFmNTM5
NDc3ZjEzOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCkBAIC0yOCwyMyArMjgsMTQgQEAK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNpbmNsdWRlICJQYXltZW50QVBJVmVyc2lvbi5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKIHsKLSAgICBBU1NFUlQodmVyc2lv
biA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WOCkKLSAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA3OwotI2VsaWYgIUVOQUJMRShBUFBMRV9Q
QVlfU0VTU0lPTl9WOSkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24g
PSA4OwotI2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMTApCi0gICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gOTsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMTA7Ci0jZW5kaWYKLQotICAgIHJldHVybiB2ZXJz
aW9uIDw9IGN1cnJlbnRWZXJzaW9uOworICAgIEFTU0VSVCh2ZXJzaW9uKTsKKyAgICByZXR1cm4g
dmVyc2lvbiA8PSBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0KaW5kZXggNTgw
NTFiZmNjMGE4NDhmYWExZmQ4NGY1ZTM0YWU3NWY0NDM0ZTU1MC4uN2UyMzE5ZTY5NmMyOTkxNGIw
NWViMWI1OGQ0OWEwNzljZWI1YzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tbQpAQCAtODAsOCArODAsNiBAQCBzdGF0aWMgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBw
bGF0Zm9ybUZlYXR1cmVUeXBlKEFwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZSBmZQogICAgIH0KIH0K
IAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3RhdGljIEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZSBhcHBsZVBheUl0ZW1UeXBlKFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZSBpdGVtVHlwZSkKIHsKICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7CkBAIC0xNDQsNiArMTQyLDcg
QEAgc3RhdGljIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHBsYXRmb3JtUmV0YWlsQ2hhbm5l
bChBcHBsZVBheUluc3RhbGxtZW50UmV0YWkKIAogc3RhdGljIFJldGFpblB0cjxpZD4gbWFrZU5T
QXJyYXlFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtJiBpdGVtKQogeworICAg
IEFTU0VSVChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkpOwogICAgIGF1
dG8gaW5zdGFsbG1lbnRJdGVtID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEluc3RhbGxt
ZW50SXRlbUluc3RhbmNlKCkgaW5pdF0pOwogICAgIFtpbnN0YWxsbWVudEl0ZW0gc2V0SW5zdGFs
bG1lbnRJdGVtVHlwZTpwbGF0Zm9ybUl0ZW1UeXBlKGl0ZW0udHlwZSldOwogICAgIFtpbnN0YWxs
bWVudEl0ZW0gc2V0QW1vdW50OnRvRGVjaW1hbE51bWJlcihpdGVtLmFtb3VudCldOwpAQCAtMTcw
LDEwICsxNjksMTEgQEAgc3RhdGljIE9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBt
YWtlVmVjdG9yRWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGwKICAgICB9OwogfQogCi0jZW5k
aWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotCiBzdGF0aWMgUmV0YWluUHRy
PFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1
cmF0aW9uKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiBjb3JlQ29uZmln
dXJhdGlvbiwgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhKQogeworICAgIGlmICgh
UEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQorICAgICAg
ICByZXR1cm4gbmlsOworCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbUEFMOjph
bGxvY1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkluc3RhbmNlKCkgaW5pdF0pOwog
CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0RmVhdHVyZTpwbGF0Zm9ybUZlYXR1cmVUeXBlKGNvcmVD
b25maWd1cmF0aW9uLmZlYXR1cmVUeXBlKV07CkBAIC0xODUsMjkgKzE4NSwxNSBAQCBzdGF0aWMg
UmV0YWluUHRyPFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZv
cm1Db25maWd1cmF0aW9uKAogCiAgICAgYXV0byBtZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gYWRv
cHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvcmVDb25m
aWd1cmF0aW9uLm1lcmNoYW5kaXNpbmdJbWFnZURhdGEgb3B0aW9uczowXSk7CiAgICAgW2NvbmZp
Z3VyYXRpb24gc2V0TWVyY2hhbmRpc2luZ0ltYWdlRGF0YTptZXJjaGFuZGlzaW5nSW1hZ2VEYXRh
LmdldCgpXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOildIHx8ICFbY29u
ZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJlZmVycmVySWRlbnRp
ZmllcjopXSkKLSAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBbY29u
ZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjpjb3JlQ29uZmlndXJh
dGlvbi5tZXJjaGFudElkZW50aWZpZXJdOwogICAgIFtjb25maWd1cmF0aW9uIHNldFJlZmVycmVy
SWRlbnRpZmllcjpjb3JlQ29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlm
Ci0gICAgCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Ioc2V0SW5zdGFsbG1lbnRJdGVtczopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRBcHBsaWNhdGlvbk1ldGFkYXRhOildCi0gICAg
ICAgIHx8ICFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJl
dGFpbENoYW5uZWw6KV0pCisKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtQ2xhc3MoKSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwogICAg
IFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50SXRlbXM6Y3JlYXRlTlNBcnJheShjb3JlQ29u
ZmlndXJhdGlvbi5pdGVtcykuZ2V0KCldOwogICAgIFtjb25maWd1cmF0aW9uIHNldEFwcGxpY2F0
aW9uTWV0YWRhdGE6YXBwbGljYXRpb25NZXRhZGF0YV07CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0
UmV0YWlsQ2hhbm5lbDpwbGF0Zm9ybVJldGFpbENoYW5uZWwoY29yZUNvbmZpZ3VyYXRpb24ucmV0
YWlsQ2hhbm5lbCldOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oYXBwbGljYXRpb25NZXRhZGF0
YSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwogfQpAQCAtMjE1LDE0ICsy
MDEsMTIgQEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24+IGNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIEV4Y2VwdGlvbk9yPFBheW1lbnRJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24+IFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmNy
ZWF0ZShjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKIHsKICAgICBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0g
bmlsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgaWYgKCFj
b25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEuaXNOdWxsKCkpIHsKICAgICAgICAgTlNE
YXRhICphcHBsaWNhdGlvbk1ldGFkYXRhID0gW2NvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRh
ZGF0YSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CiAgICAgICAgIGFw
cGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNEaWN0aW9u
YXJ5PihbTlNKU09OU2VyaWFsaXphdGlvbiBKU09OT2JqZWN0V2l0aERhdGE6YXBwbGljYXRpb25N
ZXRhZGF0YSBvcHRpb25zOjAgZXJyb3I6bmlsXSk7CiAgICAgICAgIGlmICghYXBwbGljYXRpb25N
ZXRhZGF0YURpY3Rpb25hcnkpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCAiYXBwbGljYXRpb25NZXRhZGF0YSBtdXN0IGJlIGEgSlNPTiBvYmplY3QiIH07CiAgICAg
fQotI2VuZGlmCiAKICAgICByZXR1cm4gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihj
b25maWd1cmF0aW9uLCBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSk7CiB9CkBAIC0yNDUs
NiArMjI5LDggQEAgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpQYXltZW50SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uOjpwbGF0Zm9ybUNvbmYKIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uKCkgY29uc3QKIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFQQUw6Omdl
dFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkNsYXNzKCkpCisgICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uZmVhdHVyZVR5cGUgPSBhcHBsZVBheVNldHVwRmVhdHVyZVR5cGUoW21fY29uZmlndXJhdGlv
biBmZWF0dXJlXSk7CiAKQEAgLTI1NCwyMyArMjQwLDEyIEBAIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm9wZW5Ub0J1eVRocmVzaG9sZEFtb3Vu
dCA9IGZyb21EZWNpbWFsTnVtYmVyKFttX2NvbmZpZ3VyYXRpb24gb3BlblRvQnV5VGhyZXNob2xk
QW1vdW50XSk7CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0lt
YWdlRGF0YSA9IFtbbV9jb25maWd1cmF0aW9uIG1lcmNoYW5kaXNpbmdJbWFnZURhdGFdIGJhc2U2
NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JREVOVElGSUVSUykKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1
cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zdGFsbG1lbnRNZXJjaGFudElk
ZW50aWZpZXIpXSB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHJlZmVycmVySWRlbnRpZmllcildKQotICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOwotI2VuZGlmCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1lcmNoYW50
SWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZp
ZXJdOwogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXIgPSBb
bV9jb25maWd1cmF0aW9uIHJlZmVycmVySWRlbnRpZmllcl07Ci0jZW5kaWYKIAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlm
ICghW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxt
ZW50SXRlbXMpXQotICAgICAgICB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uTWV0YWRhdGEpXQotICAgICAgICB8fCAhW21fY29uZmln
dXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJldGFpbENoYW5uZWwpXSkKKyAg
ICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3MoKSkKICAgICAgICAg
cmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgorCiAgICAgUmV0YWluUHRy
PE5TU3RyaW5nPiBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nOwogICAgIGlmIChOU0RpY3Rpb25h
cnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gW21fY29uZmlndXJhdGlvbiBhcHBs
aWNhdGlvbk1ldGFkYXRhXSkgewogICAgICAgICBpZiAoTlNEYXRhICphcHBsaWNhdGlvbk1ldGFk
YXRhID0gW05TSlNPTlNlcmlhbGl6YXRpb24gZGF0YVdpdGhKU09OT2JqZWN0OmFwcGxpY2F0aW9u
TWV0YWRhdGFEaWN0aW9uYXJ5IG9wdGlvbnM6TlNKU09OV3JpdGluZ1NvcnRlZEtleXMgZXJyb3I6
bmlsXSkKQEAgLTI4MCw3ICsyNTUsNiBAQCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
biBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjphcHBsZVBheUluc3RhbAogICAgIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IG1ha2VWZWN0b3I8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+KFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRJdGVtc10pOwogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhID0gYXBwbGljYXRpb25NZXRh
ZGF0YVN0cmluZy5nZXQoKTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmV0YWlsQ2hh
bm5lbCA9IGFwcGxlUGF5UmV0YWlsQ2hhbm5lbChbbV9jb25maWd1cmF0aW9uIHJldGFpbENoYW5u
ZWxdKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVu
dEFQSVZlcnNpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWQ1MTBmYTJkMjY1NjY5
ZmMxMzNmNzQ5MzdiODE0OWUyMGQzNjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW1wb3J0IDxw
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordW5z
aWduZWQgUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKQoreworICAgIHN0YXRpYyB1bnNpZ25l
ZCBjdXJyZW50ID0gW10geworI2lmIEhBVkUoUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVTKQorICAg
ICAgICByZXR1cm4gMTA7CisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorICAgICAg
ICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKSB7
CisgICAgICAgICAgICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KQorICAgICAgICAgICAgICAgIHJldHVybiA5OworICAgICAgICAgICAgcmV0dXJuIDg7CisgICAg
ICAgIH0KKyNlbmRpZgorICAgICAgICByZXR1cm4gNzsKKyAgICB9KCk7CisgICAgcmV0dXJuIGN1
cnJlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzkxYzE0YTU2ZTkwY2YyMDJmOTNjMDkyOTI4OTUzODIxOTU5MmYwNC4u
MzcwMmQ5ZGZmNDYyZjYxM2QwMTM4ZmZkYzBjNmJlZGFlNzNjYzk0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0LDYgKzE1
NCw3IEBACiAJCUExMTc1QjU3MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1
QjU1MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLzsgfTsKIAkJ
QTExNzVCNTgxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1NjFGNkI0
NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLzsgfTsKIAkJQTExNzVC
NUExRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8q
IE5TU2Nyb2xsVmlld1NQSS5oICovOyB9OworCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyog
UGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxs
bWVudHNTUEkuaCAqLzsgfTsKIAkJQTFGNjNDOUYyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFGNjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovOyB9OwogCQlB
MUY2M0NBMDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNjNDOUUyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLzsgfTsKIAkJQTMwRDQxMjExRjBERDBFQTAwQjcx
OTU0IC8qIEtpbGxSaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAqLzsgfTsKQEAg
LTM0MSw2ICszNDIsNyBAQAogCQlBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmF1bHRTZWFyY2hQcm92aWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE3NUI1NjFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRTZWFy
Y2hQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU5MUY2
QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTY3Jv
bGxWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQwMjQ4RUYw
MzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFG
NjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYXNzS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjND
OUUyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBhc3NLaXRTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEtpbGxSaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NzQsNiArNDc2LDcgQEAKIAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxG
aWxlVHlwZU1hcHBpbmdzU1BJLmggKi8sCiAJCQkJQzE1Q0JCMzIyM0YzNEExMjAwMzAwQ0M3IC8q
IE5TVXNlckRlZmF1bHRzU1BJLmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8q
IE5TWFBDQ29ubmVjdGlvblNQSS5oICovLAorCQkJCUExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAv
KiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8sCiAJCQkJMEMyREExMzkxRjNCRUI0OTAwREJD
MzE3IC8qIFBhc3NLaXRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyog
cHRocmVhZFNQSS5oICovLAogCQkJCTBDMkRBMTNCMUYzQkVCNDkwMERCQzMxNyAvKiBRdWFydHpD
b3JlU1BJLmggKi8sCkBAIC04NTAsNiArODUzLDcgQEAKIAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBG
NEVCQjYgLyogTlNXaW5kb3dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFCOEY5MjBBRjZF
M0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
NUFGOTFGMUY0M0E0QzcwMDJFQUMwMiAvKiBPcGVuR0xFU1NQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTE2OUIwNDEyNDhFRjA1MjAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29m
dExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTU1MUYzQkVCNDkwMERCQzMxNyAvKiBQ
YXNzS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5RTFGNDUxMzBGMDBGNEVCQjYg
LyogUElQU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IGVhZjFkOWJlMjg4ZjQxNTQ3ZmE3OTE2MzcwY2Qw
OTliYmQzOTU2ZjQuLjc3ZWFkYjM0ZmExMGM0MjQ5YWY1ZjdkYTY2ZDMxY2NjMmI3OTA1MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaApAQCAt
NDksOSArNDksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdN
ZXRob2QpCiAKICNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCi0jZW5k
aWYKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtKQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1t
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KaW5kZXgg
YzFmZmY5MGQ1YWQ2YmFmMzhiODVlOWJhZDU3Y2QyY2I0YzczMDE0Yi4uYWI4NzNiOWM1ZmMxZTcy
ZjdhZmY4MzU3ODQ2ZTRmM2RmMTYwYjU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQorCiBTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBBTF9FWFBP
UlQpCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQpAQCAt
MzgsMTQgKzM5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbnQKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBGZWF0dXJlLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFJlcXVlc3QsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
LCBQQUxfRVhQT1JUKQotI2VuZGlmCi0KICNlbHNlIC8vIFBMQVRGT1JNKE1BQykKIAogU09GVF9M
SU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEFMX0VY
UE9SVCkKQEAgLTU2LDE2ICs0OSwxMyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwRmVhdHVyZSwgUEFMXwogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRT
ZXR1cFJlcXVlc3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShN
QUMpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbSwgUEFMX0VYUE9SVCkKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKICNlbmRpZgogCi0jZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQotCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwMTU3
ZjY1MDhiZmVmZDQ0OWMwMDc4MjU0Y2JhZTkxMDEzYzIyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
QEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUEFMX1BBU1NLSVRf
U1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisjZXJyb3IgIlBsZWFzZSAjaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg+IGluc3RlYWQgb2YgdGhpcyBmaWxlIGRp
cmVjdGx5LiIKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UU19JTl9TREsp
CisKKyNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0
IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tp
dENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0
Q29yZS9QS1BheW1lbnRfUHJpdmF0ZS5oPgorCisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRTKQorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUp
IHsKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKKyAgICBQS0luc3RhbGxt
ZW50SXRlbVR5cGVQaG9uZSwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCisgICAgUEtJ
bnN0YWxsbWVudEl0ZW1UeXBlV2F0Y2gsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjLAor
fTsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwpIHsKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbFVua25vd24gPSAwLAorICAgIFBL
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsQXBwLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFu
bmVsV2ViLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsSW5TdG9yZSwKK307CisKK3R5
cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgeworICAgIFBL
UGF5bWVudFJlcXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAorfTsKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+
CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtIDogTlNPYmplY3Qg
PE5TU2VjdXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudCAoKSA8TlNTZWN1
cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxt
ZW50QXV0aG9yaXphdGlvblRva2VuOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbiAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQ
YXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0dXJlOworQHByb3BlcnR5IChub25hdG9taWMsIGNv
cHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0ltYWdlRGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqb3BlblRvQnV5VGhyZXNob2xkQW1vdW50OworQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpiaW5kaW5nVG90YWxB
bW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29k
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRlcj1pc0luU3RvcmVQdXJjaGFz
ZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNBcnJheTxQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKj4gKmluc3RhbGxt
ZW50SXRlbXM7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3Ry
aW5nICosIGlkPiAqYXBwbGljYXRpb25NZXRhZGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWw7CitAZW5kCisK
K0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50SXRlbVR5cGUgaW5zdGFsbG1lbnRJdGVtVHlwZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFtb3VudDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOworQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtSWRlbnRpZmllcjsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFwcjsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbVRlcm1zOworQGVuZAorCitAaW50ZXJm
YWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKK0BlbmQKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRSZXF1ZXN0ICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRS
ZXF1ZXN0QVBJVHlwZSBBUElUeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247
CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1
ZXN0VHlwZTsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhv
ZFVwZGF0ZSAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxs
bWVudEdyb3VwSWRlbnRpZmllcjsKK0BlbmQKKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Q
YXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
LmgKaW5kZXggMDE4MDE3ZWQzMDI3MWNjM2U5YjUzMDdiZjJlNjcxNmFkMGUyMzUxMC4uOWVlNzJl
NzhjYTNiMjc2MzYwYTM5ZGFiOWM2NTdmNjgzMTNiZGMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNDQsMjQgKzQ0LDIxIEBAIFdURl9F
WFRFUk5fQ19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UGFzcy5oPgogI2ltcG9ydCA8
UGFzc0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgog
I2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRNZXRob2QuaD4KLSNpbXBvcnQgPFBhc3NLaXQvUEtQ
YXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVl
c3RTdGF0dXMuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9u
X1dlYktpdC5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cENvbnRyb2xsZXIuaD4K
ICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBSZXF1ZXN0Lmg+Ci0jaW1wb3J0IDxQYXNz
S2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NL
aXRDb3JlL1BLUGF5bWVudFJlcXVlc3RfV2ViS2l0Lmg+CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTKQotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50X1ByaXZhdGUuaD4KLSNp
bXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5oPgot
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50TWV0aG9kX1ByaXZhdGUuaD4KLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0
aG9yaXphdGlvbkNvbnRyb2xsZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1l
bnRTZXR1cFZpZXdDb250cm9sbGVyLmg+CiAjZW5kaWYKIAorI2lmICFIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTKQorI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4K
KyNlbmRpZgorCiAjZWxzZQogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KQEAg
LTMzNiw0MiArMzMzLDYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgUEtQYXltZW50
U2V0dXBGZWF0dXJlU3VwcG9ydGVkT3B0aW9ucykgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0
cm9uZykgTlNBcnJheSA8UEtQYXltZW50U2V0dXBGZWF0dXJlICo+ICpwYXltZW50U2V0dXBGZWF0
dXJlczsKIEBlbmQKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0KLXR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSkgewotICAgIFBLSW5zdGFs
bG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAwLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25l
LAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBhZCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5
cGVXYXRjaCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVNYWMKLX07Ci0KLXR5cGVkZWYgTlNf
RU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgewotICAgIFBLUGF5bWVudFJl
cXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAotfTsKLQotQGludGVyZmFjZSBQS1BheW1lbnQgKCkg
PE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpp
bnN0YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbjsKLUBlbmQKLQotQGludGVyZmFjZSBQS1BheW1l
bnRNZXRob2QgKCkgPE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkp
IE5TU3RyaW5nICpiaW5kVG9rZW47Ci1AZW5kCi0KLUBpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5
IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0dXJlOwot
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0ltYWdlRGF0
YTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqb3BlblRv
QnV5VGhyZXNob2xkQW1vdW50OwotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNp
bWFsTnVtYmVyICpiaW5kaW5nVG90YWxBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29w
eSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29kZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24s
IGdldHRlcj1pc0luU3RvcmVQdXJjaGFzZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7Ci1AcHJvcGVy
dHkgKG5vbmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50SXRlbVR5cGUgaW5zdGFsbG1lbnRJ
dGVtVHlwZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1l
bnRNZXJjaGFudElkZW50aWZpZXI7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJp
bmcgKnJlZmVycmVySWRlbnRpZmllcjsKLUBlbmQKLQotI2VuZGlmCi0KIEBpbnRlcmZhY2UgUEtQ
YXltZW50TWVyY2hhbnRTZXNzaW9uIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nLCBOU0NvcHlp
bmc+CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEaWN0aW9uYXJ5OihOU0RpY3Rpb25hcnkgKilk
aWN0aW9uYXJ5OwogQGVuZApAQCAtMzk2LDIwICszNTcsMTUgQEAgdHlwZWRlZiBOU19FTlVNKE5T
VUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c3Ryb25nKSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5n
ICpDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFBLUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiAqaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotQHByb3BlcnR5IChub25h
dG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVxdWVzdFR5cGUgcmVxdWVzdFR5cGU7CisjaWYgSEFW
RShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQorQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlkZW50aWZpZXI7CiAjZW5kaWYKIEBl
bmQKIAorI2lmICFIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogQGludGVyZmFjZSBQS1BheW1l
bnRSZXF1ZXN0ICgpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1
ZXN0QVBJVHlwZSBBUElUeXBlOwogQGVuZAotCi0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVS
RkFDRV9JREVOVElGSUVSKQotQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgpCi1AcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjsK
LUBlbmQKICNlbmRpZgogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKQEAgLTQ1Miw5ICs0MDgsNiBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3RQYXltZW50TWV0aG9kVXBkYXRlIDogUEtQYXltZW50UmVxdWVzdFVwZGF0ZQotI2lmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOwotI2VuZGlmCiBAZW5kCiAKIEBpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZSA6IFBLUGF5bWVudFJl
cXVlc3RVcGRhdGUKQEAgLTQ4NCwzICs0MzcsNyBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgog
dHlwZWRlZiB2b2lkKF5QS0Nhbk1ha2VQYXltZW50c0NvbXBsZXRpb24pKEJPT0wgaXNWYWxpZCwg
TlNFcnJvciAqKTsKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECisKKyNkZWZpbmUgUEFMX1BBU1NL
SVRfU1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisjaW1wb3J0ICJQYXNzS2l0
SW5zdGFsbG1lbnRzU1BJLmgiCisjdW5kZWYgUEFMX1BBU1NLSVRfU1BJX0dVQVJEX0FHQUlOU1Rf
SU5ESVJFQ1RfSU5DTFVTSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAyYWM3ZGE3Njkz
ZmI4MTViODYyNzM4MWEwN2FiMmFmMGI3N2YxMWEyLi4yZjhiNDI2MmI3MDc2MzIxNTQ0MWIwODEy
YTNiMzBhNzhmNjQ3MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2Eu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTYxMyw2ICs2MTMs
NyBAQCBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRTZXNzaW9uLmNwcAogCisgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJ
VmVyc2lvbkNvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29jb2Eu
bW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0KICAg
ICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGQ1MzM3Yzk1NjAyZjQxZmY5YWQ0NWYwYmRlNzU2OTUwNmI0NTgyZTkuLmUyOTYxZDA5ZTgz
MWFmNmVlNjk0MzNiMDc2OTBlYzI3NzZmM2QyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwNDIsNiArMzA0Miw3IEBACiAJ
CUExNjc3RTBFMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY3N0UwQjIxM0UwMkEwMDBBMDhD
MzQgLyogQWRkcmVzc0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxMzIxM0UwM0M2MDBBMDhDMzQg
LyogSlNBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTY3N0UxMTIxM0UwM0M1MDBBMDhDMzQgLyogSlNBZGRyZXNzRXJyb3JzLmgg
Ki87IH07CiAJCUExNjc3RTE3MjEzRTAzRjEwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTE1
MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMuaCAqLzsgfTsKKwkJQTE2OUIw
NDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MjI0OEYwMzdCMDBFRThCN0Ig
LyogUGF5bWVudEFQSVZlcnNpb24uaCAqLzsgfTsKIAkJQTE3NjNGM0YxRTIwNTIzNDAwMUQ1OERF
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGM0QxRTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVE
dW1wU3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUExNzYzRjQxMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGNDAx
RTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdvcmsgKi87IH07CiAJCUExN0M4MTIz
MEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYyQTVDRjcwMDVEQUFFQiAv
KiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKQEAgLTExNjA2LDYgKzExNjA3LDggQEAKIAkJ
QTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheWVyRXJyb3JGaWVsZHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE2NzdFMTYyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJF
cnJvckZpZWxkcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Bh
eWVyRXJyb3JGaWVsZHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTY3N0Uy
NDIxNDQ1MzI4MDBBMDhDMzQgLyogSlNQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0MjI0OEYwMzdCMDBFRThCN0Ig
LyogUGF5bWVudEFQSVZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF5bWVudEFQSVZlcnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdC
IC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXlt
ZW50QVBJVmVyc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2
M0YzQzFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2M0YzRDFFMjA1MjM0MDAxRDU4REUg
LyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gQ0ZOZXR3b3JrLmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CkBA
IC0xNzQ5OSw2ICsxNzUwMiw3IEBACiAJCQkJMUE4QTY0NEYxRDE5RkNGQjAwRDBFMDBGIC8qIEFw
cGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NTAxRDE5RkNGQjAw
RDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbCAqLywKIAkJCQkxQThB
NjQzNzFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oICovLAorCQkJCUExNjlCMDQyMjQ4RjAz
N0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovLAogCQkJCTFBRTk2QTg2MUQxQTBD
RUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oICovLAogCQkJCTFBOEE2
NDM4MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oICovLAogCQkJCTFBNThFODZC
MUQxOUU0MkQwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLApAQCAtMTc1MjQs
NiArMTc1MjgsNyBAQAogCQkxQTU4RTg2OTFEMTlEOEMwMDBDMEVBNzMgLyogY29jb2EgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUExNjlCMDQ1MjQ4RjA0
MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tICovLAogCQkJCTFBOEE2NDY5
MUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29jb2EubW0gKi8sCiAJCQkJMUE4QTY0NkExRDE5
RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Q29jb2EubW0gKi8sCiAJCQkJMUFEQTRBMUIx
RDIyRjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSAqLywKQEAg
LTMyNDQwLDYgKzMyNDQ1LDcgQEAKIAkJCQlBMTY3N0UwODIxM0UwMjRDMDBBMDhDMzQgLyogUGF5
ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0M0ExRDE5RkM1MzAwRDBF
MDBGIC8qIFBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjQzMUY0NENGN0YwMDE0
QzMxOCAvKiBQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTE2OUIwNDMyNDhG
MDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUU5NkE4ODFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjc2QjVCMUY0NEQzQjIwMDE0QzMxOCAvKiBQYXltZW50Q29t
cGxldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDNCMUQxOUZDNTMwMEQwRTAwRiAvKiBQ
YXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjg4NzRlNWZjMjkwMDQ1YThj
MTNmZmM1OWVlNWQ5ZjdkN2EwYTVjOS4uYTM1ZTdmYjgyODI0YmFkZGY2ZTczMTg5MzhmNjk5ZWY5
ZjY5ODQwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA2LTA4ICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTaW1wbGlmeSBIQVZFKFBB
U1NLSVRfKikgbWFjcm9zIGFuZCBlbmFibGUgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4
cGVjdGF0aW9uczoKKwogMjAyMC0wNi0wOCAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEdhcmRlbmluZywgcmVtb3ZlIHRlc3RzIHBhc3NpbmcgYWZ0ZXIg
cjI2MjcxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDYyNmI4MTg1NjU2NWQxODljZTBmZWQwOTJlZmM0NzE5OTMzYmUyMGEuLjg4ZTlhZDc3
NzdlZDhkNjRhZmViNGU4M2JkNGFlMDVhZTUyYjZjMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQzLDcgKzQzLDggQEAgZmFzdC92aWV3
cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvbnRhaW4uaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9y
dC9pb3Mvdmlld3BvcnQtZml0LWNvdmVyLmh0bWwgWyBTa2lwIF0KIGZhc3Qvdmlld3BvcnQvaW9z
L3ZpZXdwb3J0LWZpdC1hdXRvLmh0bWwgWyBTa2lwIF0KIAotaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlCaWxsaW5nQWRkcmVzcy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL3NzbC9h
cHBsZXBheSBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzIxMjk3NSBodHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsgU2xvdyBdCiAKIGh0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0IFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMGUwMzM3Yjc5OTBkMzRjN2NjMTYwMDZkMDEwZDRlMmQzZjMy
OWNhMy4uZjRhOThjZjI2MTQ1ZDE3MDRlNjRjNDc1YTRmNjQxMzIyOWFmYTkwYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQsNyArMzQs
NyBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVwZGF0ZS1pbi1zdWJmcmFt
ZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1tb25vY2hyb21lLWxpdmUtdXBkYXRlLmh0
bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVw
ZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5LyBbIFBhc3MgXQor
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0KIAogIyBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxhYmxlIGluIENhdGFsaW5hLgogWyBNb2phdmUg
XSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5odHRwcy5odG1sIFsgU2tpcCBdCkBAIC0xMDQxLDQgKzEwNDEsNCBAQCB3ZWJraXQub3JnL2Iv
MjEyNzIxIHN2Zy9jdXN0b20vdGV4dFBhdGgtY2hhbmdlLWlkLnN2ZyBbIFBhc3MgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEyODI0IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvbm9kZS1pbnRl
cmZhY2UvYXVkaW9ub2RlLWRpc2Nvbm5lY3QtYXVkaW9wYXJhbS5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Nj
cm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQot
d2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcg
XSBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXIt
cmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401457</attachid>
            <date>2020-06-09 11:55:51 -0700</date>
            <delta_ts>2020-06-09 16:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609115550.patch</filename>
            <type>text/plain</type>
            <size>50491</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLmZjNzIyNWQ4ODY3YzEyNGU3MTYxMjk0ZjViMjIwMjc2MGEyYWU4
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDogUmVtb3ZlZCBFTkFCTEVfQVBQTEVf
UEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTLAorICAgICAgICBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TLCBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjgsCisgICAgICAgIEVO
QUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSwgYW5kIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
MTAuCisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOiBSZW1vdmVkIEhBVkVfUEFTU0tJVF9J
TlNUQUxMTUVOVF9JREVOVElGSUVSUyBhbmQgY29ycmVjdGVkIGlPUyB2ZXJzaW9uCisgICAgICAg
IGNoZWNrcyBmb3IgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUy4KKwogMjAyMC0wNi0wOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZG9w
dCByZWFkLW9ubHkgbW9kZSBmb3IgcHJlZmVyZW5jZXMgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGU3MjcxNjE0MDg0NTQwNTEwYjczNTBiZWM3MzZiYzY3NWJlNWRhOTIu
LmQwZDNjOTZlMDU2YTA1NzMwYThkYzc5NjU4MWFlMTkxNjI2NmU1NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1OSBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0ZXN0cyBvbiBtb3JlIHBsYXRm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEy
OTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFz
c0tpdCBhZGRlZCBTUElzIGZvciBBcHBsZSBQYXkgaW5zdGFsbG1lbnRzIG92ZXIgYSBzZXJpZXMg
b2YgbWFjT1MgQ2F0YWxpbmEgYW5kIGlPUyAxMworICAgICAgICBzb2Z0d2FyZSB1cGRhdGVzLCBi
dXQgdGhlIFNES3MgZm9yIHRoZXNlIG1pbm9yIHVwZGF0ZXMgZG8gbm90IGFsbG93IGZvciB1cyB0
byBlYXNpbHkgZGV0ZWN0CisgICAgICAgIHdoaWNoIGV4YWN0IG9uZSBpcyBiZWluZyB1c2VkIGF0
IGNvbXBpbGUtdGltZSAoZS5nLiwgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIGFuZAor
ICAgICAgICBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIGFyZSAxMDE1MDAgYW5kIDEz
MDAwMCwgcmVzcGVjdGl2ZWx5LCBpbiBhbGwgdGhlIFNES3MpLgorCisgICAgICAgIFdlYktpdCBp
cyBidWlsdCB3aXRoIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBDYXRhbGluYSBhbmQgaU9TIDEzIFNE
S3MsIGFuZCBldmVuIGlmIHdlIGNhbid0CisgICAgICAgIGd1YXJhbnRlZSB0aGF0IGFuIFNESyB3
aWxsIGRlY2xhcmUgdGhlIFBhc3NLaXQgU1BJIHN5bWJvbHMsIHdlIHNob3VsZCBzdXBwb3J0IEFw
cGxlIFBheQorICAgICAgICBpbnN0YWxsbWVudHMgaWYgdGhlIGZ1bmN0aW9uYWxpdHkgZXhpc3Rz
IGF0IHJ1bnRpbWUuCisKKyAgICAgICAgQWNoaWV2ZSB0aGlzIGJ5IGRlY2xhcmluZyBQYXNzS2l0
IGluc3RhbGxtZW50cyBTUEkgd2hlbmV2ZXIgd2UgY2FuJ3QgZ3VhcmFudGVlIGl0IGV4aXN0cyBp
bgorICAgICAgICB0aGUgU0RLIGFuZCBjaGVja2luZyBmb3IgUEtQYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIGFuZCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gYXQKKyAgICAgICAgcnVu
dGltZSB0byBkZXRlcm1pbmUgQVBJIHZlcnNpb24uCisKKyAgICAgICAgRW5hYmxlZCB0ZXN0cyBp
biBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS8gb24gaU9TLgorCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmg6
CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGw6
CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlw
ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0
YWlsQ2hhbm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudFJldGFpbENoYW5uZWwuaWRsOiBSZW1vdmVkIHVzZXMgb2YKKyAgICAgICAgQVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lERU5USUZJRVJTIGFuZCBBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMg
KG9yIHJlcGxhY2VkIHdpdGgKKyAgICAgICAgQVBQTEVfUEFZX0lOU1RBTExNRU5UUykuCisKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmg6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6UGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQpOiBNb3ZlZCB0aGUgY29tcHV0
YXRpb24gb2YgY3VycmVudCBBUEkgdmVyc2lvbiBmcm9tCisgICAgICAgIFBheW1lbnRDb29yZGlu
YXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uIHRvIGhlcmUuIEFkZGVkIHJ1bnRpbWUgY2hlY2tz
IHRvIGRldGVybWluZSB0aGUKKyAgICAgICAgbGV2ZWwgb2YgUGFzc0tpdCBpbnN0YWxsbWVudHMg
c3VwcG9ydCBzaW5jZSB3ZSBkb24ndCBoYXZlIGVub3VnaCBpbmZvcm1hdGlvbiB0byB0ZWxsIGF0
CisgICAgICAgIGNvbXBpbGUgdGltZS4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29y
ZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAg
IFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50LgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6
bWFrZU5TQXJyYXlFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVBsYXRmb3JtQ29u
ZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gY29uc3QpOiBSZW1v
dmVkCisgICAgICAgIHVzZXMgb2YgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TIGFuZCBI
QVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMuIFVzZWQKKyAgICAgICAgcnVudGlt
ZSBjaGVja3MgdG8gZGV0ZXJtaW5lIHN1cHBvcnQgZm9yIFBLUGF5bWVudEluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbiBhbmQKKyAgICAgICAgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLgorCisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IEFkZGVkIHNvdXJjZSBmaWxlcyBmb3IgUGF5bWVudEFQSVZlcnNpb24uCisK
IDIwMjAtMDYtMDggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEV4
dGVuZGVkIENvbG9yOiBSZW5hbWUgQ29sb3I6OmxpZ2h0ZW4oKSBhbmQgQ29sb3I6OmRhcmtlbigp
IHRvIENvbG9yOjpsaWdodGVuZWQoKSBhbmQgQ29sb3I6OmRhcmtlbmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCmluZGV4IGFkMjQ3YmUyNzY4NjE5NDBjNzNhNjIyNGQ2NGFhZTZiZTgyMzY3MWQuLjRhYjBk
ODE5MmY1NWQ1OTZkMmMyOGNkYzg5NGMxNWM5YmYzNjA1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDIwLTA2LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNv
bT4KKworICAgICAgICBbQXBwbGUgUGF5XSBFbmFibGUgbGF5b3V0IHRlc3RzIG9uIG1vcmUgcGxh
dGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBQYXNzS2l0SW5zdGFsbG1lbnRz
U1BJLmguCisKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg6CisgICAgICAg
ICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbTogVXNlZCBTT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVCBvbiBib3RoCisgICAgICAgIE1hYyBhbmQgaU9T
IHRvIHNvZnQtbGluayBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gYW5kIFBLUGF5
bWVudEluc3RhbGxtZW50SXRlbS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdElu
c3RhbGxtZW50U1BJLmg6IEFkZGVkLiBXaGVuIGJ1aWxkaW5nIGFnYWluc3QgYW4gU0RLIHRoYXQg
aXMga25vd24KKyAgICAgICAgdG8gZGVjbGFyZSB0aGUgUGFzc0tpdCBpbnN0YWxsbWVudHMgU1BJ
cywgdGhpcyBmaWxlIGluY2x1ZGVzIHRoZSBTUEkgaGVhZGVycy4gT3RoZXJ3aXNlLCBpdAorICAg
ICAgICBkZWNsYXJlcyB0aGUgU1BJcy4KKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRT
UEkuaDogTW92ZWQgUGFzc0tpdCBpbnN0YWxsbWVudHMgU1BJIGRlY2xhcmF0aW9ucyB0bworICAg
ICAgICBQYXNzS2l0SW5zdGFsbG1lbnRTUEkuaC4KKwogMjAyMC0wNi0wOCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTogR3VhcmQgX3ByZWNv
bm5lY3QgZGVjbGFyYXRpb24gd2l0aCBFTkFCTEUoU0VSVkVSX1BSRUNPTk5FQ1QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggNTNkMTljYmIwYzk2NjcxODhhYWFiMmM4ZTc1
ZDcwZGU2ZWI5Y2JjMi4uYjk1N2QzZjM2MDJkMzMxMmYwYTUyMTA3MGJjMDc5YzMwYTg3MTdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNTUsMTQgKzU1LDYgQEAKICNk
ZWZpbmUgRU5BQkxFX0FOSU1BVEVEX0tFWUJPQVJEX1NDUk9MTElORyAxCiAjZW5kaWYKIAotI2lm
ICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpICYmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUyAx
Ci0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTKSAm
JiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUyAxCiAjZW5kaWYKQEAgLTcxLDE4ICs2Myw2IEBACiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfTkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOCkgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLSNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4IDEKLSNlbmRpZgotCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5KSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTApICYmIEhBVkUoUEFT
U0tJVF9ORVdfQlVUVE9OX1RZUEVTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjEwIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkp
ICYmIChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykpCiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfUkVNT1RFX1VJIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYTky
ZTkwM2EzMjNhZjMwNWU1ZWYxNjlkMzJlYjk4NDEzMDBlOTM4Li4zZDY3Zjk0MmQyOWM4YWJiZWY3
Y2YzZGNlZmYzMWRiNGRjY2UyYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtODksMTIgKzg5
LDYgQEAKICNkZWZpbmUgSEFWRV9BVlNUUkVBTVNFU1NJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTKQotI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9C
SUxMSU5HX0FERFJFU1MgMQotI2VuZGlmCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKFVTRV9VSUtJ
VF9LRVlCT0FSRF9BRERJVElPTlMpICYmIChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKSkKICNkZWZpbmUgVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUyAxCiAjZW5kaWYK
QEAgLTYxNiwxNCArNjEwLDEyIEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZB
Q0VfSURFTlRJRklFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01BWF9BTExPV0VEID49IDEzMDQwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NL
SVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQorI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisj
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzAxMDApIFwKLSAgICB8fCAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCisjaWYgUExBVEZPUk0oSU9TKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVT
UyAxCiAjZW5kaWYKIAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAppbmRleCBmM2Rj
MTc4OTdiNWY5ZjI5OWIzYWVmYjg1YzVhMmYyN2U0ZWM4ZWExLi5jODc4YzgwYWFlMTUyNjg0NTk3
ODZhNzg5YWRhMGI3YWQ0Mzg4ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLmlkbApAQCAtMzQsOSArMzQsOSBAQAogICAgIERPTVN0cmluZyBiaW5kaW5nVG90YWxBbW91
bnQ7CiAgICAgRE9NU3RyaW5nIGN1cnJlbmN5Q29kZTsKICAgICBib29sZWFuIGlzSW5TdG9yZVB1
cmNoYXNlOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlNdIERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIHJlZmVycmVySWRlbnRpZmll
cjsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBzZXF1ZW5j
ZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNU10gSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOwotICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEFwcGxlUGF5SW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CisgICAgRE9NU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKKyAgICBET01TdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwor
ICAgIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKKyAgICBKU09OIGFw
cGxpY2F0aW9uTWV0YWRhdGE7CisgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwg
cmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3duIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaAppbmRleCA3YzMxMzFiY2QzMGQxMWQzZmFkMDFkMzU1OGEz
NTM2NmVmODQ4NmQ5Li5jNjUzOWIwNGNhZDgxNGNjNmMxN2Y3ZTBlMzdjZWU2MjUzZWQ0NGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKQEAgLTQy
LDE1ICs0MiwxMSBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gewog
ICAgIFN0cmluZyBiaW5kaW5nVG90YWxBbW91bnQ7CiAgICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsK
ICAgICBib29sIGlzSW5TdG9yZVB1cmNoYXNlIHsgZmFsc2UgfTsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQogICAgIFN0cmluZyBtZXJjaGFudElkZW50aWZp
ZXI7CiAgICAgU3RyaW5nIHJlZmVycmVySWRlbnRpZmllcjsKLSNlbmRpZgotI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgVmVjdG9yPEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtPiBpdGVtczsKICAgICBTdHJpbmcgYXBwbGljYXRpb25NZXRhZGF0YTsKICAgICBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsIHsgQXBwbGVQYXlJbnN0
YWxsbWVudFJldGFpbENoYW5uZWw6OlVua25vd24gfTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCmluZGV4IGU2Y2FhMmEwY2UwYTE0MDlmN2Y5
NGEzNTVkMWJkMDRlODFiODUxOWQuLmU5Zjg4YzdlMTc5OTVlZDI5Nzc4MDljMDZiNzY4MWMyNjdh
MzBjZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1UeXBlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00Myw0ICs0
Myw0IEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMp
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCmluZGV4IDE1NWE2ZDY5OTQyMTc4YWE3YjZjZmZkYzc2ODY1NzhmZmQxY2RlODYuLmRj
NjE1ZTYwYTQyYmYwYTdjMWIxNTQ4MWM1ZTZkNzlmZmVkNjE0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0uaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFM
TE1FTlRTLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogXSBkaWN0aW9uYXJ5IEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgdHlwZSA9
ICJnZW5lcmljIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCmluZGV4IDJkY2ZiZTY4YzJhMjFk
ZjU2ODUzYmNhZGVhOTczZmFmZTA0YmRlMTYuLmMzMzgxZmQxZGMzNTJlN2IzMzUzZWRiYzMyNDcx
NjBmNTk2NzZiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRF
TVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzksNCArMzksNCBAQCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZSA6IHVpbnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsCmluZGV4
IDczNjMyNTc3MWY1YjZmNjVjMzk2YWM1MzU5MGQ2ODNjMjc3ZDA3YTUuLmI0MGFjMzAyZGYxYTYx
ODVjZTNiOTg3YzQ5NDkwYzRlNjM0YjU3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VFMsCiBdIGVudW0gQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIHsKICAgICAiZ2VuZXJpYyIs
CiAgICAgInBob25lIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaAppbmRleCAz
OGNiOWRiNDMyMDFhZTlmNzc4NTc5ZDE0OWEzMGRmYzE1OWJiMjBmLi42MTdlMTg0NjhkN2U1OTk5
OGI0MDVlYjliOTZiODk0NzY4ZGY5MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hh
bm5lbC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExN
RU5UUykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOCw0ICszOCw0IEBAIGVudW0gY2xh
c3MgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgOiB1aW50OF90IHsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVO
VF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKaW5kZXggZDA4YjEwMzEwNjRhNTM4Njg3
N2NlNTNlNTJiNDg3MGU3ZTQ1MDMyZS4uZTI1MDAyNzBmNjZiZDJkYjZiNDMzMzA1NGM5NTYyYWFm
YjAyMmQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKQEAgLTI0
LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiBdIGVu
dW0gQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgewogICAgICJ1bmtub3duIiwKICAg
ICAiYXBwIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEFQSVZlcnNpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dEFQSVZlcnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGI4MjRkYzgxN2UwMjEwYjkxY2NkZDllZmMwMTdl
NzdjOTczM2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IFBheW1lbnRBUElWZXJzaW9uIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgY3Vy
cmVudCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAppbmRleCBhYzc0YTRiZjNiNWU1OWMz
MmY1MWU1MzgxY2ZkMGZkMWRmYWU2ZTA3Li42ZDJiNGNhZWQwMGFjOWNkNGE1ZTA5N2ZhODFmNTM5
NDc3ZjEzOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCkBAIC0yOCwyMyArMjgsMTQgQEAK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKKyNpbmNsdWRlICJQYXltZW50QVBJVmVyc2lvbi5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKIHsKLSAgICBBU1NFUlQodmVyc2lv
biA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WOCkKLSAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA3OwotI2VsaWYgIUVOQUJMRShBUFBMRV9Q
QVlfU0VTU0lPTl9WOSkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24g
PSA4OwotI2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMTApCi0gICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gOTsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMTA7Ci0jZW5kaWYKLQotICAgIHJldHVybiB2ZXJz
aW9uIDw9IGN1cnJlbnRWZXJzaW9uOworICAgIEFTU0VSVCh2ZXJzaW9uKTsKKyAgICByZXR1cm4g
dmVyc2lvbiA8PSBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0KaW5kZXggNTgw
NTFiZmNjMGE4NDhmYWExZmQ4NGY1ZTM0YWU3NWY0NDM0ZTU1MC4uN2UyMzE5ZTY5NmMyOTkxNGIw
NWViMWI1OGQ0OWEwNzljZWI1YzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tbQpAQCAtODAsOCArODAsNiBAQCBzdGF0aWMgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBw
bGF0Zm9ybUZlYXR1cmVUeXBlKEFwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZSBmZQogICAgIH0KIH0K
IAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3RhdGljIEFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZSBhcHBsZVBheUl0ZW1UeXBlKFBLSW5zdGFsbG1lbnRJdGVtVHlw
ZSBpdGVtVHlwZSkKIHsKICAgICBzd2l0Y2ggKGl0ZW1UeXBlKSB7CkBAIC0xNDQsNiArMTQyLDcg
QEAgc3RhdGljIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHBsYXRmb3JtUmV0YWlsQ2hhbm5l
bChBcHBsZVBheUluc3RhbGxtZW50UmV0YWkKIAogc3RhdGljIFJldGFpblB0cjxpZD4gbWFrZU5T
QXJyYXlFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtJiBpdGVtKQogeworICAg
IEFTU0VSVChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkpOwogICAgIGF1
dG8gaW5zdGFsbG1lbnRJdGVtID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEluc3RhbGxt
ZW50SXRlbUluc3RhbmNlKCkgaW5pdF0pOwogICAgIFtpbnN0YWxsbWVudEl0ZW0gc2V0SW5zdGFs
bG1lbnRJdGVtVHlwZTpwbGF0Zm9ybUl0ZW1UeXBlKGl0ZW0udHlwZSldOwogICAgIFtpbnN0YWxs
bWVudEl0ZW0gc2V0QW1vdW50OnRvRGVjaW1hbE51bWJlcihpdGVtLmFtb3VudCldOwpAQCAtMTcw
LDEwICsxNjksMTEgQEAgc3RhdGljIE9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBt
YWtlVmVjdG9yRWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGwKICAgICB9OwogfQogCi0jZW5k
aWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotCiBzdGF0aWMgUmV0YWluUHRy
PFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1
cmF0aW9uKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiBjb3JlQ29uZmln
dXJhdGlvbiwgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhKQogeworICAgIGlmICgh
UEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQorICAgICAg
ICByZXR1cm4gbmlsOworCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbUEFMOjph
bGxvY1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkluc3RhbmNlKCkgaW5pdF0pOwog
CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0RmVhdHVyZTpwbGF0Zm9ybUZlYXR1cmVUeXBlKGNvcmVD
b25maWd1cmF0aW9uLmZlYXR1cmVUeXBlKV07CkBAIC0xODUsMjkgKzE4NSwxNSBAQCBzdGF0aWMg
UmV0YWluUHRyPFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZv
cm1Db25maWd1cmF0aW9uKAogCiAgICAgYXV0byBtZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gYWRv
cHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvcmVDb25m
aWd1cmF0aW9uLm1lcmNoYW5kaXNpbmdJbWFnZURhdGEgb3B0aW9uczowXSk7CiAgICAgW2NvbmZp
Z3VyYXRpb24gc2V0TWVyY2hhbmRpc2luZ0ltYWdlRGF0YTptZXJjaGFuZGlzaW5nSW1hZ2VEYXRh
LmdldCgpXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOildIHx8ICFbY29u
ZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJlZmVycmVySWRlbnRp
ZmllcjopXSkKLSAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBbY29u
ZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjpjb3JlQ29uZmlndXJh
dGlvbi5tZXJjaGFudElkZW50aWZpZXJdOwogICAgIFtjb25maWd1cmF0aW9uIHNldFJlZmVycmVy
SWRlbnRpZmllcjpjb3JlQ29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlm
Ci0gICAgCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3Ioc2V0SW5zdGFsbG1lbnRJdGVtczopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRBcHBsaWNhdGlvbk1ldGFkYXRhOildCi0gICAg
ICAgIHx8ICFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJl
dGFpbENoYW5uZWw6KV0pCisKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtQ2xhc3MoKSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwogICAg
IFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50SXRlbXM6Y3JlYXRlTlNBcnJheShjb3JlQ29u
ZmlndXJhdGlvbi5pdGVtcykuZ2V0KCldOwogICAgIFtjb25maWd1cmF0aW9uIHNldEFwcGxpY2F0
aW9uTWV0YWRhdGE6YXBwbGljYXRpb25NZXRhZGF0YV07CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0
UmV0YWlsQ2hhbm5lbDpwbGF0Zm9ybVJldGFpbENoYW5uZWwoY29yZUNvbmZpZ3VyYXRpb24ucmV0
YWlsQ2hhbm5lbCldOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oYXBwbGljYXRpb25NZXRhZGF0
YSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwogfQpAQCAtMjE1LDE0ICsy
MDEsMTIgQEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24+IGNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIEV4Y2VwdGlvbk9yPFBheW1lbnRJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24+IFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmNy
ZWF0ZShjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKIHsKICAgICBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0g
bmlsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCiAgICAgaWYgKCFj
b25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEuaXNOdWxsKCkpIHsKICAgICAgICAgTlNE
YXRhICphcHBsaWNhdGlvbk1ldGFkYXRhID0gW2NvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRh
ZGF0YSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CiAgICAgICAgIGFw
cGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNEaWN0aW9u
YXJ5PihbTlNKU09OU2VyaWFsaXphdGlvbiBKU09OT2JqZWN0V2l0aERhdGE6YXBwbGljYXRpb25N
ZXRhZGF0YSBvcHRpb25zOjAgZXJyb3I6bmlsXSk7CiAgICAgICAgIGlmICghYXBwbGljYXRpb25N
ZXRhZGF0YURpY3Rpb25hcnkpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVy
cm9yLCAiYXBwbGljYXRpb25NZXRhZGF0YSBtdXN0IGJlIGEgSlNPTiBvYmplY3QiIH07CiAgICAg
fQotI2VuZGlmCiAKICAgICByZXR1cm4gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihj
b25maWd1cmF0aW9uLCBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSk7CiB9CkBAIC0yNDUs
NiArMjI5LDggQEAgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpQYXltZW50SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uOjpwbGF0Zm9ybUNvbmYKIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uKCkgY29uc3QKIHsKICAgICBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisgICAgaWYgKCFQQUw6Omdl
dFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkNsYXNzKCkpCisgICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uZmVhdHVyZVR5cGUgPSBhcHBsZVBheVNldHVwRmVhdHVyZVR5cGUoW21fY29uZmlndXJhdGlv
biBmZWF0dXJlXSk7CiAKQEAgLTI1NCwyMyArMjQwLDEyIEBAIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm9wZW5Ub0J1eVRocmVzaG9sZEFtb3Vu
dCA9IGZyb21EZWNpbWFsTnVtYmVyKFttX2NvbmZpZ3VyYXRpb24gb3BlblRvQnV5VGhyZXNob2xk
QW1vdW50XSk7CiAKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0lt
YWdlRGF0YSA9IFtbbV9jb25maWd1cmF0aW9uIG1lcmNoYW5kaXNpbmdJbWFnZURhdGFdIGJhc2U2
NEVuY29kZWRTdHJpbmdXaXRoT3B0aW9uczowXTsKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVF9JREVOVElGSUVSUykKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1
cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zdGFsbG1lbnRNZXJjaGFudElk
ZW50aWZpZXIpXSB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHJlZmVycmVySWRlbnRpZmllcildKQotICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOwotI2VuZGlmCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1lcmNoYW50
SWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZp
ZXJdOwogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5yZWZlcnJlcklkZW50aWZpZXIgPSBb
bV9jb25maWd1cmF0aW9uIHJlZmVycmVySWRlbnRpZmllcl07Ci0jZW5kaWYKIAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlm
ICghW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxt
ZW50SXRlbXMpXQotICAgICAgICB8fCAhW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKGFwcGxpY2F0aW9uTWV0YWRhdGEpXQotICAgICAgICB8fCAhW21fY29uZmln
dXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHJldGFpbENoYW5uZWwpXSkKKyAg
ICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3MoKSkKICAgICAgICAg
cmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgorCiAgICAgUmV0YWluUHRy
PE5TU3RyaW5nPiBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nOwogICAgIGlmIChOU0RpY3Rpb25h
cnkgKmFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5ID0gW21fY29uZmlndXJhdGlvbiBhcHBs
aWNhdGlvbk1ldGFkYXRhXSkgewogICAgICAgICBpZiAoTlNEYXRhICphcHBsaWNhdGlvbk1ldGFk
YXRhID0gW05TSlNPTlNlcmlhbGl6YXRpb24gZGF0YVdpdGhKU09OT2JqZWN0OmFwcGxpY2F0aW9u
TWV0YWRhdGFEaWN0aW9uYXJ5IG9wdGlvbnM6TlNKU09OV3JpdGluZ1NvcnRlZEtleXMgZXJyb3I6
bmlsXSkKQEAgLTI4MCw3ICsyNTUsNiBAQCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
biBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjphcHBsZVBheUluc3RhbAogICAgIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IG1ha2VWZWN0b3I8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+KFttX2NvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRJdGVtc10pOwogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhID0gYXBwbGljYXRpb25NZXRh
ZGF0YVN0cmluZy5nZXQoKTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmV0YWlsQ2hh
bm5lbCA9IGFwcGxlUGF5UmV0YWlsQ2hhbm5lbChbbV9jb25maWd1cmF0aW9uIHJldGFpbENoYW5u
ZWxdKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVu
dEFQSVZlcnNpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWQ1MTBmYTJkMjY1NjY5
ZmMxMzNmNzQ5MzdiODE0OWUyMGQzNjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW1wb3J0IDxw
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordW5z
aWduZWQgUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKQoreworICAgIHN0YXRpYyB1bnNpZ25l
ZCBjdXJyZW50ID0gW10geworI2lmIEhBVkUoUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVTKQorICAg
ICAgICByZXR1cm4gMTA7CisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorICAgICAg
ICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKSB7
CisgICAgICAgICAgICBpZiAoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KQorICAgICAgICAgICAgICAgIHJldHVybiA5OworICAgICAgICAgICAgcmV0dXJuIDg7CisgICAg
ICAgIH0KKyNlbmRpZgorICAgICAgICByZXR1cm4gNzsKKyAgICB9KCk7CisgICAgcmV0dXJuIGN1
cnJlbnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzkxYzE0YTU2ZTkwY2YyMDJmOTNjMDkyOTI4OTUzODIxOTU5MmYwNC4u
MzcwMmQ5ZGZmNDYyZjYxM2QwMTM4ZmZkYzBjNmJlZGFlNzNjYzk0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU0LDYgKzE1
NCw3IEBACiAJCUExMTc1QjU3MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlk
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1
QjU1MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLzsgfTsKIAkJ
QTExNzVCNTgxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1NjFGNkI0
NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLzsgfTsKIAkJQTExNzVC
NUExRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8q
IE5TU2Nyb2xsVmlld1NQSS5oICovOyB9OworCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyog
UGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxs
bWVudHNTUEkuaCAqLzsgfTsKIAkJQTFGNjNDOUYyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFGNjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovOyB9OwogCQlB
MUY2M0NBMDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGNjNDOUUyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLzsgfTsKIAkJQTMwRDQxMjExRjBERDBFQTAwQjcx
OTU0IC8qIEtpbGxSaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAqLzsgfTsKQEAg
LTM0MSw2ICszNDIsNyBAQAogCQlBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlZmF1bHRTZWFyY2hQcm92aWRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE3NUI1NjFGNkI0NzA1MDBDNEI5RjAgLyog
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlZmF1bHRTZWFy
Y2hQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU5MUY2
QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTY3Jv
bGxWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQwMjQ4RUYw
MzkwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFG
NjNDOUQyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQYXNzS2l0U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGNjND
OUUyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBhc3NLaXRTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEtpbGxSaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC00NzQsNiArNDc2LDcgQEAKIAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxG
aWxlVHlwZU1hcHBpbmdzU1BJLmggKi8sCiAJCQkJQzE1Q0JCMzIyM0YzNEExMjAwMzAwQ0M3IC8q
IE5TVXNlckRlZmF1bHRzU1BJLmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8q
IE5TWFBDQ29ubmVjdGlvblNQSS5oICovLAorCQkJCUExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAv
KiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi8sCiAJCQkJMEMyREExMzkxRjNCRUI0OTAwREJD
MzE3IC8qIFBhc3NLaXRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyog
cHRocmVhZFNQSS5oICovLAogCQkJCTBDMkRBMTNCMUYzQkVCNDkwMERCQzMxNyAvKiBRdWFydHpD
b3JlU1BJLmggKi8sCkBAIC04NTAsNiArODUzLDcgQEAKIAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBG
NEVCQjYgLyogTlNXaW5kb3dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFCOEY5MjBBRjZF
M0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBD
NUFGOTFGMUY0M0E0QzcwMDJFQUMwMiAvKiBPcGVuR0xFU1NQSS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTE2OUIwNDEyNDhFRjA1MjAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29m
dExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDMkRBMTU1MUYzQkVCNDkwMERCQzMxNyAvKiBQ
YXNzS2l0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5RTFGNDUxMzBGMDBGNEVCQjYg
LyogUElQU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IGVhZjFkOWJlMjg4ZjQxNTQ3ZmE3OTE2MzcwY2Qw
OTliYmQzOTU2ZjQuLjc3ZWFkYjM0ZmExMGM0MjQ5YWY1ZjdkYTY2ZDMxY2NjMmI3OTA1MDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaApAQCAt
NDksOSArNDksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdN
ZXRob2QpCiAKICNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNT
X0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCi0jZW5k
aWYKLQotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtKQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1t
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KaW5kZXgg
YzFmZmY5MGQ1YWQ2YmFmMzhiODVlOWJhZDU3Y2QyY2I0YzczMDE0Yi4uYWI4NzNiOWM1ZmMxZTcy
ZjdhZmY4MzU3ODQ2ZTRmM2RmMTYwYjU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQorCiBTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBBTF9FWFBP
UlQpCiAKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQpAQCAt
MzgsMTQgKzM5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbnQKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0
dXBGZWF0dXJlLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFJlcXVlc3QsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
LCBQQUxfRVhQT1JUKQotI2VuZGlmCi0KICNlbHNlIC8vIFBMQVRGT1JNKE1BQykKIAogU09GVF9M
SU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEFMX0VY
UE9SVCkKQEAgLTU2LDE2ICs0OSwxMyBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwRmVhdHVyZSwgUEFMXwogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRT
ZXR1cFJlcXVlc3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIsIFBBTF9F
WFBPUlQpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotU09GVF9MSU5LX0NMQVNT
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCi0jZW5kaWYKKyNlbmRpZiAvLyBQTEFURk9STShN
QUMpCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbSwgUEFMX0VYUE9SVCkKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKICNlbmRpZgogCi0jZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQotCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9S
VCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwMTU3
ZjY1MDhiZmVmZDQ0OWMwMDc4MjU0Y2JhZTkxMDEzYzIyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
QEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUEFMX1BBU1NLSVRf
U1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisjZXJyb3IgIlBsZWFzZSAjaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg+IGluc3RlYWQgb2YgdGhpcyBmaWxlIGRp
cmVjdGx5LiIKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UU19JTl9TREsp
CisKKyNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0
IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tp
dENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0
Q29yZS9QS1BheW1lbnRfUHJpdmF0ZS5oPgorCisjZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRTKQorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUp
IHsKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKKyAgICBQS0luc3RhbGxt
ZW50SXRlbVR5cGVQaG9uZSwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCisgICAgUEtJ
bnN0YWxsbWVudEl0ZW1UeXBlV2F0Y2gsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjLAor
fTsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwpIHsKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbFVua25vd24gPSAwLAorICAgIFBL
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsQXBwLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFu
bmVsV2ViLAorICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsSW5TdG9yZSwKK307CisKK3R5
cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgeworICAgIFBL
UGF5bWVudFJlcXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAorfTsKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+
CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtIDogTlNPYmplY3Qg
PE5TU2VjdXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudCAoKSA8TlNTZWN1
cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmluc3RhbGxt
ZW50QXV0aG9yaXphdGlvblRva2VuOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbiAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQ
YXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0dXJlOworQHByb3BlcnR5IChub25hdG9taWMsIGNv
cHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0ltYWdlRGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqb3BlblRvQnV5VGhyZXNob2xkQW1vdW50OworQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpiaW5kaW5nVG90YWxB
bW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29k
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRlcj1pc0luU3RvcmVQdXJjaGFz
ZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNBcnJheTxQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKj4gKmluc3RhbGxt
ZW50SXRlbXM7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3Ry
aW5nICosIGlkPiAqYXBwbGljYXRpb25NZXRhZGF0YTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWw7CitAZW5kCisK
K0BpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50SXRlbVR5cGUgaW5zdGFsbG1lbnRJdGVtVHlwZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFtb3VudDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOworQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtSWRlbnRpZmllcjsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RlY2ltYWxOdW1iZXIgKmFwcjsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbVRlcm1zOworQGVuZAorCitAaW50ZXJm
YWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKK0BlbmQKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRSZXF1ZXN0ICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRS
ZXF1ZXN0QVBJVHlwZSBBUElUeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247
CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1
ZXN0VHlwZTsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhv
ZFVwZGF0ZSAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxs
bWVudEdyb3VwSWRlbnRpZmllcjsKK0BlbmQKKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Q
YXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
LmgKaW5kZXggMDE4MDE3ZWQzMDI3MWNjM2U5YjUzMDdiZjJlNjcxNmFkMGUyMzUxMC4uOWVlNzJl
NzhjYTNiMjc2MzYwYTM5ZGFiOWM2NTdmNjgzMTNiZGMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNDQsMjQgKzQ0LDIxIEBAIFdURl9F
WFRFUk5fQ19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UGFzcy5oPgogI2ltcG9ydCA8
UGFzc0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgog
I2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRNZXRob2QuaD4KLSNpbXBvcnQgPFBhc3NLaXQvUEtQ
YXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVl
c3RTdGF0dXMuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBDb25maWd1cmF0aW9u
X1dlYktpdC5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cENvbnRyb2xsZXIuaD4K
ICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBSZXF1ZXN0Lmg+Ci0jaW1wb3J0IDxQYXNz
S2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NL
aXRDb3JlL1BLUGF5bWVudFJlcXVlc3RfV2ViS2l0Lmg+CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTKQotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50X1ByaXZhdGUuaD4KLSNp
bXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5oPgot
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50TWV0aG9kX1ByaXZhdGUuaD4KLSNlbmRpZgot
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0
aG9yaXphdGlvbkNvbnRyb2xsZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1l
bnRTZXR1cFZpZXdDb250cm9sbGVyLmg+CiAjZW5kaWYKIAorI2lmICFIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTKQorI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4K
KyNlbmRpZgorCiAjZWxzZQogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KQEAg
LTMzNiw0MiArMzMzLDYgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwgUEtQYXltZW50
U2V0dXBGZWF0dXJlU3VwcG9ydGVkT3B0aW9ucykgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0
cm9uZykgTlNBcnJheSA8UEtQYXltZW50U2V0dXBGZWF0dXJlICo+ICpwYXltZW50U2V0dXBGZWF0
dXJlczsKIEBlbmQKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0KLXR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSkgewotICAgIFBLSW5zdGFs
bG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAwLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25l
LAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBhZCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5
cGVXYXRjaCwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVNYWMKLX07Ci0KLXR5cGVkZWYgTlNf
RU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgewotICAgIFBLUGF5bWVudFJl
cXVlc3RUeXBlSW5zdGFsbG1lbnQgPSA1LAotfTsKLQotQGludGVyZmFjZSBQS1BheW1lbnQgKCkg
PE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpp
bnN0YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbjsKLUBlbmQKLQotQGludGVyZmFjZSBQS1BheW1l
bnRNZXRob2QgKCkgPE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkp
IE5TU3RyaW5nICpiaW5kVG9rZW47Ci1AZW5kCi0KLUBpbnRlcmZhY2UgUEtQYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPgotQHByb3BlcnR5
IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSBmZWF0dXJlOwot
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGF0YSAqbWVyY2hhbmRpc2luZ0ltYWdlRGF0
YTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqb3BlblRv
QnV5VGhyZXNob2xkQW1vdW50OwotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNp
bWFsTnVtYmVyICpiaW5kaW5nVG90YWxBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29w
eSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29kZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24s
IGdldHRlcj1pc0luU3RvcmVQdXJjaGFzZSkgQk9PTCBpblN0b3JlUHVyY2hhc2U7Ci1AcHJvcGVy
dHkgKG5vbmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50SXRlbVR5cGUgaW5zdGFsbG1lbnRJ
dGVtVHlwZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1l
bnRNZXJjaGFudElkZW50aWZpZXI7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJp
bmcgKnJlZmVycmVySWRlbnRpZmllcjsKLUBlbmQKLQotI2VuZGlmCi0KIEBpbnRlcmZhY2UgUEtQ
YXltZW50TWVyY2hhbnRTZXNzaW9uIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nLCBOU0NvcHlp
bmc+CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEaWN0aW9uYXJ5OihOU0RpY3Rpb25hcnkgKilk
aWN0aW9uYXJ5OwogQGVuZApAQCAtMzk2LDIwICszNTcsMTUgQEAgdHlwZWRlZiBOU19FTlVNKE5T
VUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c3Ryb25nKSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vj
b25kYXJ5SWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5n
ICpDVERhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFBLUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiAqaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotQHByb3BlcnR5IChub25h
dG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVxdWVzdFR5cGUgcmVxdWVzdFR5cGU7CisjaWYgSEFW
RShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQorQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlkZW50aWZpZXI7CiAjZW5kaWYKIEBl
bmQKIAorI2lmICFIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogQGludGVyZmFjZSBQS1BheW1l
bnRSZXF1ZXN0ICgpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1
ZXN0QVBJVHlwZSBBUElUeXBlOwogQGVuZAotCi0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVS
RkFDRV9JREVOVElGSUVSKQotQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgpCi1AcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjsK
LUBlbmQKICNlbmRpZgogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKQEAgLTQ1Miw5ICs0MDgsNiBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3RQYXltZW50TWV0aG9kVXBkYXRlIDogUEtQYXltZW50UmVxdWVzdFVwZGF0ZQotI2lmIEhB
VkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOwotI2VuZGlmCiBAZW5kCiAKIEBpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZSA6IFBLUGF5bWVudFJl
cXVlc3RVcGRhdGUKQEAgLTQ4NCwzICs0MzcsNyBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgog
dHlwZWRlZiB2b2lkKF5QS0Nhbk1ha2VQYXltZW50c0NvbXBsZXRpb24pKEJPT0wgaXNWYWxpZCwg
TlNFcnJvciAqKTsKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECisKKyNkZWZpbmUgUEFMX1BBU1NL
SVRfU1BJX0dVQVJEX0FHQUlOU1RfSU5ESVJFQ1RfSU5DTFVTSU9OCisjaW1wb3J0ICJQYXNzS2l0
SW5zdGFsbG1lbnRzU1BJLmgiCisjdW5kZWYgUEFMX1BBU1NLSVRfU1BJX0dVQVJEX0FHQUlOU1Rf
SU5ESVJFQ1RfSU5DTFVTSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAyYWM3ZGE3Njkz
ZmI4MTViODYyNzM4MWEwN2FiMmFmMGI3N2YxMWEyLi4yZjhiNDI2MmI3MDc2MzIxNTQ0MWIwODEy
YTNiMzBhNzhmNjQ3MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2Eu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTYxMyw2ICs2MTMs
NyBAQCBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNwcAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRTZXNzaW9uLmNwcAogCisgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJ
VmVyc2lvbkNvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29jb2Eu
bW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0KICAg
ICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGQ1MzM3Yzk1NjAyZjQxZmY5YWQ0NWYwYmRlNzU2OTUwNmI0NTgyZTkuLmUyOTYxZDA5ZTgz
MWFmNmVlNjk0MzNiMDc2OTBlYzI3NzZmM2QyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwNDIsNiArMzA0Miw3IEBACiAJ
CUExNjc3RTBFMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY3N0UwQjIxM0UwMkEwMDBBMDhD
MzQgLyogQWRkcmVzc0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxMzIxM0UwM0M2MDBBMDhDMzQg
LyogSlNBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTY3N0UxMTIxM0UwM0M1MDBBMDhDMzQgLyogSlNBZGRyZXNzRXJyb3JzLmgg
Ki87IH07CiAJCUExNjc3RTE3MjEzRTAzRjEwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTE1
MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMuaCAqLzsgfTsKKwkJQTE2OUIw
NDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MjI0OEYwMzdCMDBFRThCN0Ig
LyogUGF5bWVudEFQSVZlcnNpb24uaCAqLzsgfTsKIAkJQTE3NjNGM0YxRTIwNTIzNDAwMUQ1OERF
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGM0QxRTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVE
dW1wU3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUExNzYzRjQxMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3NjNGNDAx
RTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdvcmsgKi87IH07CiAJCUExN0M4MTIz
MEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYyQTVDRjcwMDVEQUFFQiAv
KiBIVE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKQEAgLTExNjA2LDYgKzExNjA3LDggQEAKIAkJ
QTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BheWVyRXJyb3JGaWVsZHMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE2NzdFMTYyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJF
cnJvckZpZWxkcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Bh
eWVyRXJyb3JGaWVsZHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTY3N0Uy
NDIxNDQ1MzI4MDBBMDhDMzQgLyogSlNQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnRDdXN0b20uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0MjI0OEYwMzdCMDBFRThCN0Ig
LyogUGF5bWVudEFQSVZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF5bWVudEFQSVZlcnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdC
IC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXlt
ZW50QVBJVmVyc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2
M0YzQzFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc2M0YzRDFFMjA1MjM0MDAxRDU4REUg
LyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gQ0ZOZXR3b3JrLmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CkBA
IC0xNzQ5OSw2ICsxNzUwMiw3IEBACiAJCQkJMUE4QTY0NEYxRDE5RkNGQjAwRDBFMDBGIC8qIEFw
cGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NTAxRDE5RkNGQjAw
RDBFMDBGIC8qIEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbCAqLywKIAkJCQkxQThB
NjQzNzFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oICovLAorCQkJCUExNjlCMDQyMjQ4RjAz
N0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovLAogCQkJCTFBRTk2QTg2MUQxQTBD
RUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oICovLAogCQkJCTFBOEE2
NDM4MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oICovLAogCQkJCTFBNThFODZC
MUQxOUU0MkQwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLApAQCAtMTc1MjQs
NiArMTc1MjgsNyBAQAogCQkxQTU4RTg2OTFEMTlEOEMwMDBDMEVBNzMgLyogY29jb2EgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUExNjlCMDQ1MjQ4RjA0
MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tICovLAogCQkJCTFBOEE2NDY5
MUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29jb2EubW0gKi8sCiAJCQkJMUE4QTY0NkExRDE5
RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Q29jb2EubW0gKi8sCiAJCQkJMUFEQTRBMUIx
RDIyRjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSAqLywKQEAg
LTMyNDQwLDYgKzMyNDQ1LDcgQEAKIAkJCQlBMTY3N0UwODIxM0UwMjRDMDBBMDhDMzQgLyogUGF5
ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0M0ExRDE5RkM1MzAwRDBF
MDBGIC8qIFBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjQzMUY0NENGN0YwMDE0
QzMxOCAvKiBQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTE2OUIwNDMyNDhG
MDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUU5NkE4ODFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaCBp
biBIZWFkZXJzICovLAogCQkJCUExRjc2QjVCMUY0NEQzQjIwMDE0QzMxOCAvKiBQYXltZW50Q29t
cGxldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDNCMUQxOUZDNTMwMEQwRTAwRiAvKiBQ
YXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjg4NzRlNWZjMjkwMDQ1YThj
MTNmZmM1OWVlNWQ5ZjdkN2EwYTVjOS4uMzE3MWZlNTVlNTFmNTZjMGNkYTMzOWU3MGViYTk1ZTIz
Y2ZiOTZiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTA4ICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBFbmFibGUgbGF5b3V0IHRl
c3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTI5NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczogVW4tc2tp
cHBlZCBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS4KKyAgICAgICAgTWFya2VkIFBheW1lbnRSZXF1
ZXN0Lmh0dHBzLmh0bWwgYXMgc2xvdy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnM6IFJlbW92ZWQgYSB0cmFpbGluZyAnLycuCisKIDIwMjAtMDYtMDggIERpZWdv
IFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBHYXJkZW5pbmcsIHJl
bW92ZSB0ZXN0cyBwYXNzaW5nIGFmdGVyIHIyNjI3MTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MjZiODE4NTY1NjVkMTg5Y2UwZmVkMDky
ZWZjNDcxOTkzM2JlMjBhLi44OGU5YWQ3Nzc3ZWQ4ZDY0YWZlYjRlODNiZDRhZTA1YWU1MmI2YzI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBA
IC00Myw3ICs0Myw4IEBAIGZhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1jb250YWluLmh0
bWwgWyBTa2lwIF0KIGZhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1jb3Zlci5odG1sIFsg
U2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtYXV0by5odG1sIFsgU2tpcCBd
CiAKLWh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5QmlsbGluZ0FkZHJlc3MuaHRtbCBb
IFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8y
MTI5NzUgaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbCBb
IFNsb3cgXQogCiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdCBbIFBhc3MgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlMDMzN2I3OTkw
ZDM0YzdjYzE2MDA2ZDAxMGQ0ZTJkM2YzMjljYTMuLmViMTExNDQ2OGM5MmE1MDEzNWQzNmFlYzAw
Mjk3ZjExMjcwOTMzMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTM0LDEzICszNCwxMSBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNv
bG9ycy1saXZlLXVwZGF0ZS1pbi1zdWJmcmFtZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9t
cS1tb25vY2hyb21lLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJl
ZmVycy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5LyBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNz
IF0KIAotIyBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxh
YmxlIGluIENhdGFsaW5hLgorIyBBUFBMRV9QQVlfSU5TVEFMTE1FTlRTIHdhcyBmaXJzdCBhdmFp
bGFibGUgaW4gQ2F0YWxpbmEuCiBbIE1vamF2ZSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLQotIyBB
cHBsZVBheUluc3RhbGxtZW50SXRlbSBpcyBub3QgYXZhaWxhYmxlIGluIE1vamF2ZSBvciBDYXRh
bGluYS4KLVsgTW9qYXZlIENhdGFsaW5hIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBTa2lwIF0KK1sgTW9qYXZlIF0gaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBT
a2lwIF0KIAogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0
cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdw
b3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0KQEAgLTEwNDEsNCArMTAzOSw0
IEBAIHdlYmtpdC5vcmcvYi8yMTI3MjEgc3ZnL2N1c3RvbS90ZXh0UGF0aC1jaGFuZ2UtaWQuc3Zn
IFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTI4MjQgWyBEZWJ1ZyBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90
aGUtYXVkaW9ub2RlLWludGVyZmFjZS9hdWRpb25vZGUtZGlzY29ubmVjdC1hdWRpb3BhcmFtLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0
L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBb
IFBhc3MgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9s
bGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcv
Yi8yMTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1v
dmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBhc3MgVGltZW91dCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401487</attachid>
            <date>2020-06-09 16:03:01 -0700</date>
            <delta_ts>2020-06-09 16:13:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609160300.patch</filename>
            <type>text/plain</type>
            <size>60447</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjZjYzdkYTdiNzNkODFlZDFkNWE0NTg3MTE5OTI0NjhlNjc0MTlj
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oOiBSZW1vdmVkIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJ
RklFUlMsCisgICAgICAgIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsIEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WOCwKKyAgICAgICAgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y5LCBhbmQgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YxMC4KKyAgICAgICAgKiB3dGYvUGxh
dGZvcm1IYXZlLmg6IFJlbW92ZWQgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJT
IGFuZCBjb3JyZWN0ZWQgaU9TIHZlcnNpb24KKyAgICAgICAgY2hlY2tzIGZvciBIQVZFX1BBU1NL
SVRfSU5TVEFMTE1FTlRTLgorCiAyMDIwLTA2LTA4ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IHJlYWQtb25seSBtb2RlIGZvciBw
cmVmZXJlbmNlcyBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTcyNzE2
MTQwODQ1NDA1MTBiNzM1MGJlYzczNmJjNjc1YmU1ZGE5Mi4uMWI5ZGUzZDVmNTJiNDljZTU5MWFj
YmI0MThhNmNmMzFhNzU2ZDliYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA2
LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5
XSBFbmFibGUgbGF5b3V0IHRlc3RzIG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI5NTUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzY0MTc0MTU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIHJ1bnRpbWUgY2hlY2tzIHRvIGRldGVybWluZSB0aGUgQXBwbGUgUGF5
IEFQSSB2ZXJzaW9uIHdoZW4gaW5zdGFsbG1lbnRzIGFyZSBlbmFibGVkLgorCisgICAgICAgIEVu
YWJsZWQgdGVzdHMgaW4gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgb24gaU9TLgorCisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGw6
CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJh
dGlvbldlYkNvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50SXRlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50SXRlbVR5cGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFs
bG1lbnRJdGVtVHlwZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsOiBSZW1vdmVkIHVzZXMgb2YKKyAgICAg
ICAgQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIGFuZCBBUFBMRV9QQVlfSU5TVEFM
TE1FTlRfSVRFTVMgKG9yIHJlcGxhY2VkIHdpdGgKKyAgICAgICAgQVBQTEVfUEFZX0lOU1RBTExN
RU5UUykuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmg6
CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29h
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQpOiBNb3Zl
ZCB0aGUgY29tcHV0YXRpb24gb2YgY3VycmVudCBBUEkgdmVyc2lvbiBmcm9tCisgICAgICAgIFBh
eW1lbnRDb29yZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uIHRvIGhlcmUuIEFkZGVkIHJ1
bnRpbWUgY2hlY2tzIHRvIGRldGVybWluZSB0aGUKKyAgICAgICAgbGV2ZWwgb2YgUGFzc0tpdCBp
bnN0YWxsbWVudHMgc3VwcG9ydCBzaW5jZSB3ZSBkb24ndCBoYXZlIGVub3VnaCBpbmZvcm1hdGlv
biB0byB0ZWxsIGF0CisgICAgICAgIGNvbXBpbGUgdGltZS4KKworICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKTogQ2hhbmdlZCB0byBj
YWxsCisgICAgICAgIFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50LgorCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6bWFrZU5TQXJyYXlFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZVBsYXRmb3JtQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudElu
c3RhbGxtZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24g
Y29uc3QpOiBSZW1vdmVkCisgICAgICAgIHVzZXMgb2YgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5U
X0lURU1TIGFuZCBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMuIFVzZWQKKyAg
ICAgICAgcnVudGltZSBjaGVja3MgdG8gZGV0ZXJtaW5lIHN1cHBvcnQgZm9yIFBLUGF5bWVudElu
c3RhbGxtZW50Q29uZmlndXJhdGlvbiBhbmQKKyAgICAgICAgUEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIHNvdXJjZSBmaWxlcyBmb3IgUGF5bWVudEFQ
SVZlcnNpb24uCisKIDIwMjAtMDYtMDggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgog
CiAgICAgICAgIEV4dGVuZGVkIENvbG9yOiBSZW5hbWUgQ29sb3I6OmxpZ2h0ZW4oKSBhbmQgQ29s
b3I6OmRhcmtlbigpIHRvIENvbG9yOjpsaWdodGVuZWQoKSBhbmQgQ29sb3I6OmRhcmtlbmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGFkMjQ3YmUyNzY4NjE5NDBjNzNhNjIyNGQ2NGFhZTZiZTgy
MzY3MWQuLmJhMTk2OTVlOTg3NTQ5MjRjYzJlMmE0YTZhZGRlNTZjZjVhYWQxOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA2LTA4ICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBFbmFibGUgbGF5b3V0IHRlc3Rz
IG9uIG1vcmUgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTI5NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTc0MTU2PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3NLaXQgYWRk
ZWQgU1BJcyBmb3IgQXBwbGUgUGF5IGluc3RhbGxtZW50cyBvdmVyIGEgc2VyaWVzIG9mIGlPUyAx
MyBhbmQgbWFjT1MgQ2F0YWxpbmEKKyAgICAgICAgbWlub3IgdXBkYXRlcy4gV2ViS2l0IHRydW5r
IGlzIHN0aWxsIGJ1aWx0IGFjcm9zcyBhIHJhbmdlIG9mIGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxp
bmEgbWlub3IKKyAgICAgICAgdXBkYXRlIFNES3MgdGhhdCBjb250YWluIG5vbmUsIHNvbWUsIG9y
IGFsbCBvZiB0aGUgaW5zdGFsbG1lbnQgU1BJcy4gSXQncyBub3QgcG9zc2libGUgdG8KKyAgICAg
ICAgcmVsaWFibHkgZGV0ZWN0IHRoZSBTREsgbWlub3IgdmVyc2lvbiBhdCBjb21waWxlLXRpbWUs
IHNvIGluc3RlYWQgd2Ugbm93IHVzZSBvdXIgb3duIFNQSQorICAgICAgICBkZWNsYXJhdGlvbnMg
dW5sZXNzIHdlIGtub3cgYWxsIG1pbm9yIHZlcnNpb25zIG9mIHRoZSBtYWpvciBTREsgdmVyc2lv
biBjb250YWluIGFsbCBvZiB0aGUKKyAgICAgICAgaW5zdGFsbG1lbnRzIGRlZmluaXRpb25zLgor
CisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIFBhc3NLaXRJ
bnN0YWxsbWVudHNTUEkuaC4KKworICAgICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsu
aDoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tOiBVc2VkIFNPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUIG9uIGJvdGgKKyAgICAgICAg
TWFjIGFuZCBpT1MgdG8gc29mdC1saW5rIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
biBhbmQgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLgorCisgICAgICAgICogcGFsL3NwaS9jb2Nv
YS9QYXNzS2l0SW5zdGFsbG1lbnRTUEkuaDogQWRkZWQuIFdoZW4gYnVpbGRpbmcgYWdhaW5zdCBh
biBTREsgdGhhdCBpcyBrbm93bgorICAgICAgICB0byBkZWNsYXJlIHRoZSBQYXNzS2l0IGluc3Rh
bGxtZW50cyBTUElzLCB0aGlzIGZpbGUgaW5jbHVkZXMgdGhlIFNQSSBoZWFkZXJzLiBPdGhlcndp
c2UsIGl0CisgICAgICAgIGRlY2xhcmVzIHRoZSBTUElzLgorICAgICAgICAqIHBhbC9zcGkvY29j
b2EvUGFzc0tpdFNQSS5oOiBNb3ZlZCBQYXNzS2l0IGluc3RhbGxtZW50cyBTUEkgZGVjbGFyYXRp
b25zIHRvCisgICAgICAgIFBhc3NLaXRJbnN0YWxsbWVudFNQSS5oLgorCiAyMDIwLTA2LTA4ICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJDb3JlOiBH
dWFyZCBfcHJlY29ubmVjdCBkZWNsYXJhdGlvbiB3aXRoIEVOQUJMRShTRVJWRVJfUFJFQ09OTkVD
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRleCA1M2QxOWNiYjBjOTY2NzE4
OGFhYWIyYzhlNzVkNzBkZTZlYjljYmMyLi5iOTU3ZDNmMzYwMmQzMzEyZjBhNTIxMDcwYmMwNzlj
MzBhODcxN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29h
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC01NSwxNCAr
NTUsNiBAQAogI2RlZmluZSBFTkFCTEVfQU5JTUFURURfS0VZQk9BUkRfU0NST0xMSU5HIDEKICNl
bmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElG
SUVSUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2RlZmluZSBF
TkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIDEKLSNlbmRpZgotCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykgJiYgSEFWRShQQVNT
S0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNU
QUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiAjZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgpAQCAtNzEsMTggKzYzLDYgQEAKICNkZWZp
bmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEKICNlbmRpZgogCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4KSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFM
TE1FTlRTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjggMQotI2VuZGlmCi0K
LSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICYmIEhBVkUoUEFTU0tJ
VF9JTlNUQUxMTUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y5
IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YxMCkg
JiYgSEFWRShQQVNTS0lUX05FV19CVVRUT05fVFlQRVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMTAgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZ
X1JFTU9URV9VSSkgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShBUFBMRVRW
KSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSkKICNkZWZp
bmUgRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CmluZGV4IDBhOTJlOTAzYTMyM2FmMzA1ZTVlZjE2OWQzMmViOTg0MTMwMGU5MzguLjNkNjdmOTQy
ZDI5YzhhYmJlZjdjZjNkY2VmZjMxZGI0ZGNjZTJhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBA
IC04OSwxMiArODksNiBAQAogI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAxCiAjZW5kaWYK
IAotI2lmICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9CSUxMSU5HX0FERFJF
U1MpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1F
TlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCi0jZW5kaWYKLSNlbmRpZgotCiAjaWYgIWRlZmlu
ZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykgJiYgKFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpKQogI2RlZmluZSBVU0VfVUlLSVRfS0VZQk9BUkRfQURESVRJT05T
IDEKICNlbmRpZgpAQCAtNjE2LDE0ICs2MTAsMTIgQEAKICNkZWZpbmUgSEFWRV9QQVNTS0lUX0JP
VU5EX0lOVEVSRkFDRV9JREVOVElGSUVSIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKElPUykg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwNDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5l
IEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCisjaWYgUExBVEZPUk0oSU9T
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCiAjZW5kaWYKIAot
I2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEzMDEwMCkgXAot
ICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKKyNpZiBQTEFU
Rk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklM
TElOR19BRERSRVNTIDEKICNlbmRpZgogCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRs
CmluZGV4IGYzZGMxNzg5N2I1ZjlmMjk5YjNhZWZiODVjNWEyZjI3ZTRlYzhlYTEuLmM4NzhjODBh
YWUxNTI2ODQ1OTc4NmE3ODlhZGEwYjdhZDQzODg4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24uaWRsCkBAIC0zNCw5ICszNCw5IEBACiAgICAgRE9NU3RyaW5nIGJpbmRp
bmdUb3RhbEFtb3VudDsKICAgICBET01TdHJpbmcgY3VycmVuY3lDb2RlOwogICAgIGJvb2xlYW4g
aXNJblN0b3JlUHVyY2hhc2U7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VF9JREVOVElGSUVSU10gRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcjsKLSAgICBbQ29uZGl0
aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTXSBET01TdHJpbmcgcmVmZXJy
ZXJJZGVudGlmaWVyOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRF
TVNdIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKLSAgICBbQ29uZGl0
aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBKU09OIGFwcGxpY2F0aW9uTWV0YWRh
dGE7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNU10gQXBwbGVQ
YXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3duIjsKKyAg
ICBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOworICAgIERPTVN0cmluZyByZWZlcnJlcklk
ZW50aWZpZXI7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwor
ICAgIEpTT04gYXBwbGljYXRpb25NZXRhZGF0YTsKKyAgICBBcHBsZVBheUluc3RhbGxtZW50UmV0
YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb25XZWJDb3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCmluZGV4IDdjMzEzMWJjZDMwZDExZDNm
YWQwMWQzNTU4YTM1MzY2ZWY4NDg2ZDkuLmM2NTM5YjA0Y2FkODE0Y2M2YzE3ZjdlMGUzN2NlZTYy
NTNlZDQ0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNv
cmUuaApAQCAtNDIsMTUgKzQyLDExIEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmln
dXJhdGlvbiB7CiAgICAgU3RyaW5nIGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBTdHJpbmcgY3Vy
cmVuY3lDb2RlOwogICAgIGJvb2wgaXNJblN0b3JlUHVyY2hhc2UgeyBmYWxzZSB9OwotI2lmIEVO
QUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCiAgICAgU3RyaW5nIG1lcmNo
YW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwotI2VuZGlmCi0j
aWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKICAgICBWZWN0b3I8QXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwogICAgIFN0cmluZyBhcHBsaWNhdGlvbk1ldGFkYXRh
OwogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgeyBB
cHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbDo6VW5rbm93biB9OwotI2VuZGlmCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKaW5kZXggZTZjYWEyYTBj
ZTBhMTQwOWY3Zjk0YTM1NWQxYmQwNGU4MWI4NTE5ZC4uZTlmODhjN2UxNzk5NWVkMjk3NzgwOWMw
NmI3NjgxYzI2N2EzMGNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaApAQCAtMjUsNyArMjUsNyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMp
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKICNpbmNsdWRlICJBcHBsZVBh
eUluc3RhbGxtZW50SXRlbVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTQzLDQgKzQzLDQgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtIHsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxM
TUVOVF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbS5pZGwKaW5kZXggMTU1YTZkNjk5NDIxNzhhYTdiNmNmZmRjNzY4NjU3OGZm
ZDFjZGU4Ni4uZGM2MTVlNjBhNDJiZjBhN2MxYjE1NDgxYzVlNmQ3OWZmZWQ2MTRmYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
SXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbS5pZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAgQ29uZGl0
aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVFMsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGRpY3Rpb25h
cnkgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVt
VHlwZSB0eXBlID0gImdlbmVyaWMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKaW5kZXggMmRj
ZmJlNjhjMmEyMWRmNTY4NTNiY2FkZWE5NzNmYWZlMDRiZGUxNi4uYzMzODFmZDFkYzM1MmU3YjMz
NTNlZGJjMzI0NzE2MGY1OTY3NmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNU
QUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw0ICszOSw0IEBAIGVudW0gY2xhc3MgQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW1UeXBlIDogdWludDhfdCB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCisjZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlw
ZS5pZGwKaW5kZXggNzM2MzI1NzcxZjViNmY2NWMzOTZhYzUzNTkwZDY4M2MyNzdkMDdhNS4uYjQw
YWMzMDJkZjFhNjE4NWNlM2I5ODdjNDk0OTBjNGU2MzRiNTdkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1UeXBlLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25kaXRpb25h
bD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgewogICAg
ICJnZW5lcmljIiwKICAgICAicGhvbmUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5l
bC5oCmluZGV4IDM4Y2I5ZGI0MzIwMWFlOWY3Nzg1NzlkMTQ5YTMwZGZjMTU5YmIyMGYuLjYxN2Ux
ODQ2OGQ3ZTU5OTk4YjQwNWViOWI5NmI4OTQ3NjhkZjkzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJMRShBUFBMRV9Q
QVlfSU5TVEFMTE1FTlRTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM4LDQgKzM4LDQg
QEAgZW51bSBjbGFzcyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCA6IHVpbnQ4X3Qg
ewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1F
TlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAppbmRleCBkMDhiMTAz
MTA2NGE1Mzg2ODc3Y2U1M2U1MmI0ODcwZTdlNDUwMzJlLi5lMjUwMDI3MGY2NmJkMmRiNmI0MzMz
MDU0Yzk1NjJhYWZiMDIyZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
LmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9Q
QVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCB7CiAgICAgInVu
a25vd24iLAogICAgICJhcHAiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYjgyNGRjODE3ZTAyMTBiOTFj
Y2RkOWVmYzAxN2U3N2M5NzMzYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmgKQEAgLTAsMCArMSwzOCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGF5bWVudEFQSVZlcnNpb24geworICAgIHN0YXRpYyB1
bnNpZ25lZCBjdXJyZW50KCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCmluZGV4IGFjNzRh
NGJmM2I1ZTU5YzMyZjUxZTUzODFjZmQwZmQxZGZhZTZlMDcuLjZkMmI0Y2FlZDAwYWM5Y2Q0YTVl
MDk3ZmE4MWY1Mzk0NzdmMTM5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKQEAgLTI4LDIz
ICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAorI2luY2x1ZGUgIlBheW1lbnRB
UElWZXJzaW9uLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBQYXltZW50Q29vcmRp
bmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQogewotICAgIEFT
U0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y4KQot
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDc7Ci0jZWxpZiAhRU5B
QkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y5KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJy
ZW50VmVyc2lvbiA9IDg7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1YxMCkKLSAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA5OwotI2Vsc2UKLSAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAxMDsKLSNlbmRpZgotCi0gICAg
cmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247CisgICAgQVNTRVJUKHZlcnNpb24pOwor
ICAgIHJldHVybiB2ZXJzaW9uIDw9IFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5t
bQppbmRleCA1ODA1MWJmY2MwYTg0OGZhYTFmZDg0ZjVlMzRhZTc1ZjQ0MzRlNTUwLi43ZTIzMTll
Njk2YzI5OTE0YjA1ZWIxYjU4ZDQ5YTA3OWNlYjVjNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uLm1tCkBAIC04MCw4ICs4MCw2IEBAIHN0YXRpYyBQS1BheW1lbnRTZXR1cEZl
YXR1cmVUeXBlIHBsYXRmb3JtRmVhdHVyZVR5cGUoQXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlIGZl
CiAgICAgfQogfQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotCiBzdGF0
aWMgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIGFwcGxlUGF5SXRlbVR5cGUoUEtJbnN0YWxs
bWVudEl0ZW1UeXBlIGl0ZW1UeXBlKQogewogICAgIHN3aXRjaCAoaXRlbVR5cGUpIHsKQEAgLTE0
NCw2ICsxNDIsNyBAQCBzdGF0aWMgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcGxhdGZvcm1S
ZXRhaWxDaGFubmVsKEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaQogCiBzdGF0aWMgUmV0YWluUHRy
PGlkPiBtYWtlTlNBcnJheUVsZW1lbnQoY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0mIGl0
ZW0pCiB7CisgICAgQVNTRVJUKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3Mo
KSk7CiAgICAgYXV0byBpbnN0YWxsbWVudEl0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXlt
ZW50SW5zdGFsbG1lbnRJdGVtSW5zdGFuY2UoKSBpbml0XSk7CiAgICAgW2luc3RhbGxtZW50SXRl
bSBzZXRJbnN0YWxsbWVudEl0ZW1UeXBlOnBsYXRmb3JtSXRlbVR5cGUoaXRlbS50eXBlKV07CiAg
ICAgW2luc3RhbGxtZW50SXRlbSBzZXRBbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGl0ZW0uYW1vdW50
KV07CkBAIC0xNzAsMTAgKzE2OSwxMSBAQCBzdGF0aWMgT3B0aW9uYWw8QXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW0+IG1ha2VWZWN0b3JFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbAogICAgIH07
CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0KIHN0YXRp
YyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBjcmVhdGVQbGF0
Zm9ybUNvbmZpZ3VyYXRpb24oY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24m
IGNvcmVDb25maWd1cmF0aW9uLCBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRhdGEpCiB7
CisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbkNsYXNz
KCkpCisgICAgICAgIHJldHVybiBuaWw7CisKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtQQUw6OmFsbG9jUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uSW5zdGFuY2Uo
KSBpbml0XSk7CiAKICAgICBbY29uZmlndXJhdGlvbiBzZXRGZWF0dXJlOnBsYXRmb3JtRmVhdHVy
ZVR5cGUoY29yZUNvbmZpZ3VyYXRpb24uZmVhdHVyZVR5cGUpXTsKQEAgLTE4NSwyOSArMTg1LDE1
IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBj
cmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiAKICAgICBhdXRvIG1lcmNoYW5kaXNpbmdJbWFn
ZURhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJp
bmc6Y29yZUNvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0ltYWdlRGF0YSBvcHRpb25zOjBdKTsK
ICAgICBbY29uZmlndXJhdGlvbiBzZXRNZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOm1lcmNoYW5kaXNp
bmdJbWFnZURhdGEuZ2V0KCldOwotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5U
SUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9uIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0SW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI6
KV0gfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0UmVm
ZXJyZXJJZGVudGlmaWVyOildKQotICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKLSNlbmRp
ZgogICAgIFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOmNv
cmVDb25maWd1cmF0aW9uLm1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgW2NvbmZpZ3VyYXRpb24g
c2V0UmVmZXJyZXJJZGVudGlmaWVyOmNvcmVDb25maWd1cmF0aW9uLnJlZmVycmVySWRlbnRpZmll
cl07Ci0jZW5kaWYKLSAgICAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0j
aWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudEl0ZW1zOildCi0gICAgICAgIHx8ICFbY29uZmln
dXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEFwcGxpY2F0aW9uTWV0YWRh
dGE6KV0KLSAgICAgICAgfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3Ioc2V0UmV0YWlsQ2hhbm5lbDopXSkKKworICAgIGlmICghUEFMOjpnZXRQS1BheW1lbnRJ
bnN0YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKLSNl
bmRpZgorCiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1lbnRJdGVtczpjcmVhdGVOU0Fy
cmF5KGNvcmVDb25maWd1cmF0aW9uLml0ZW1zKS5nZXQoKV07CiAgICAgW2NvbmZpZ3VyYXRpb24g
c2V0QXBwbGljYXRpb25NZXRhZGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhXTsKICAgICBbY29uZmln
dXJhdGlvbiBzZXRSZXRhaWxDaGFubmVsOnBsYXRmb3JtUmV0YWlsQ2hhbm5lbChjb3JlQ29uZmln
dXJhdGlvbi5yZXRhaWxDaGFubmVsKV07Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShhcHBsaWNh
dGlvbk1ldGFkYXRhKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247CiB9CkBA
IC0yMTUsMTQgKzIwMSwxMiBAQCBzdGF0aWMgUmV0YWluUHRyPFBLUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1cmF0aW9uKAogRXhjZXB0aW9uT3I8
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gUGF5bWVudEluc3RhbGxtZW50Q29uZmln
dXJhdGlvbjo6Y3JlYXRlKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiBj
b25maWd1cmF0aW9uKQogewogICAgIE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YURp
Y3Rpb25hcnkgPSBuaWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykK
ICAgICBpZiAoIWNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRhZGF0YS5pc051bGwoKSkgewog
ICAgICAgICBOU0RhdGEgKmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbY29uZmlndXJhdGlvbi5hcHBs
aWNhdGlvbk1ldGFkYXRhIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsK
ICAgICAgICAgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBkeW5hbWljX29iamNfY2Fz
dDxOU0RpY3Rpb25hcnk+KFtOU0pTT05TZXJpYWxpemF0aW9uIEpTT05PYmplY3RXaXRoRGF0YTph
cHBsaWNhdGlvbk1ldGFkYXRhIG9wdGlvbnM6MCBlcnJvcjpuaWxdKTsKICAgICAgICAgaWYgKCFh
cHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJhcHBsaWNhdGlvbk1ldGFkYXRhIG11c3QgYmUgYSBKU09OIG9iamVj
dCIgfTsKICAgICB9Ci0jZW5kaWYKIAogICAgIHJldHVybiBQYXltZW50SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIGFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5KTsK
IH0KQEAgLTI0NSw2ICsyMjksOCBAQCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24g
KlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OnBsYXRmb3JtQ29uZgogQXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6
YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKSBjb25zdAogewogICAgIEFwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKKyAgICBp
ZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xhc3MoKSkKKyAg
ICAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIAogICAgIGluc3RhbGxtZW50
Q29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSA9IGFwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZShbbV9j
b25maWd1cmF0aW9uIGZlYXR1cmVdKTsKIApAQCAtMjU0LDIzICsyNDAsMTIgQEAgQXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6
YXBwbGVQYXlJbnN0YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ub3BlblRvQnV5VGhy
ZXNob2xkQW1vdW50ID0gZnJvbURlY2ltYWxOdW1iZXIoW21fY29uZmlndXJhdGlvbiBvcGVuVG9C
dXlUaHJlc2hvbGRBbW91bnRdKTsKIAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tZXJj
aGFuZGlzaW5nSW1hZ2VEYXRhID0gW1ttX2NvbmZpZ3VyYXRpb24gbWVyY2hhbmRpc2luZ0ltYWdl
RGF0YV0gYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOwotCi0jaWYgSEFWRShQQVNT
S0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAo
IVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihpbnN0YWxsbWVu
dE1lcmNoYW50SWRlbnRpZmllcildIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IocmVmZXJyZXJJZGVudGlmaWVyKV0pCi0gICAgICAgIHJldHVybiBpbnN0
YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24ubWVyY2hhbnRJZGVudGlmaWVyID0gW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVudE1lcmNo
YW50SWRlbnRpZmllcl07CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLnJlZmVycmVySWRl
bnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gcmVmZXJyZXJJZGVudGlmaWVyXTsKLSNlbmRpZgog
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKLSNpZiBQTEFURk9STShN
QUMpCi0gICAgaWYgKCFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0
b3IoaW5zdGFsbG1lbnRJdGVtcyldCi0gICAgICAgIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25NZXRhZGF0YSldCi0gICAgICAgIHx8
ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmV0YWlsQ2hh
bm5lbCldKQorICAgIGlmICghUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KQogICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotI2VuZGlmCisKICAg
ICBSZXRhaW5QdHI8TlNTdHJpbmc+IGFwcGxpY2F0aW9uTWV0YWRhdGFTdHJpbmc7CiAgICAgaWYg
KE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBbbV9jb25maWd1
cmF0aW9uIGFwcGxpY2F0aW9uTWV0YWRhdGFdKSB7CiAgICAgICAgIGlmIChOU0RhdGEgKmFwcGxp
Y2F0aW9uTWV0YWRhdGEgPSBbTlNKU09OU2VyaWFsaXphdGlvbiBkYXRhV2l0aEpTT05PYmplY3Q6
YXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgb3B0aW9uczpOU0pTT05Xcml0aW5nU29ydGVk
S2V5cyBlcnJvcjpuaWxdKQpAQCAtMjgwLDcgKzI1NSw2IEBAIEFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5z
dGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1zID0gbWFrZVZlY3RvcjxBcHBs
ZVBheUluc3RhbGxtZW50SXRlbT4oW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVudEl0ZW1zXSk7
CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBhcHBs
aWNhdGlvbk1ldGFkYXRhU3RyaW5nLmdldCgpOwogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5yZXRhaWxDaGFubmVsID0gYXBwbGVQYXlSZXRhaWxDaGFubmVsKFttX2NvbmZpZ3VyYXRpb24g
cmV0YWlsQ2hhbm5lbF0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9j
b2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMWQ0
MTVjY2I5MzBkYmIxNGIzNTQyZjJhYjVkYTE5MjA2NTgwMDUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29j
b2EubW0KQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgor
I2ltcG9ydCAiUGF5bWVudEFQSVZlcnNpb24uaCIKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisK
KyNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpCit7CisgICAgc3Rh
dGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7CisjaWYgSEFWRShQQVNTS0lUX05FV19CVVRUT05f
VFlQRVMpCisgICAgICAgIHJldHVybiAxMDsKKyNlbGlmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVO
VFMpCisgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bkNsYXNzKCkpIHsKKyAgICAgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50
SXRlbUNsYXNzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDg7CisgICAgICAgICAgICByZXR1
cm4gODsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIHJldHVybiA3OworICAgIH0oKTsKKyAg
ICByZXR1cm4gY3VycmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3OTFjMTRhNTZlOTBjZjIwMmY5M2MwOTI5Mjg5NTM4
MjE5NTkyZjA0Li4zNzAyZDlkZmY0NjJmNjEzZDAxMzhmZmRjMGM2YmVkYWU3M2NjOTRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xNTQsNiArMTU0LDcgQEAKIAkJQTExNzVCNTcxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRT
ZWFyY2hQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5o
ICovOyB9OwogCQlBMTE3NUI1ODFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3Zp
ZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
MTc1QjU2MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwICovOyB9
OwogCQlBMTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1OTFGNkI0QTg0
MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi87IH07CisJCUExNjlCMDQxMjQ4RUYwNTIw
MEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MDI0OEVGMDM5MDBFRThCN0IgLyogUGFz
c0tpdEluc3RhbGxtZW50c1NQSS5oICovOyB9OwogCQlBMUY2M0M5RjIxQTREQkY3MDA2RkI0M0Ig
LyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmgg
Ki87IH07CiAJCUExRjYzQ0EwMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY2M0M5RTIx
QTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tICovOyB9OwogCQlBMzBENDEyMTFG
MEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxsUmluZy5o
ICovOyB9OwpAQCAtMzQxLDYgKzM0Miw3IEBACiAJCUExMTc1QjU1MUY2QjQ3MDUwMEM0QjlGMCAv
KiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFNlYXJjaFBy
b3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU2MUY2QjQ3MDUw
MEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOU1Njcm9sbFZpZXdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2
OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhc3NLaXRTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMUY2M0M5RTIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2lsbFJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTQ3NCw2ICs0NzYsNyBAQAogCQkJCTBDMkRBMTM4MUYzQkVCNDkwMERCQzMx
NyAvKiBOU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCAqLywKIAkJCQlDMTVDQkIzMjIzRjM0QTEy
MDAzMDBDQzcgLyogTlNVc2VyRGVmYXVsdHNTUEkuaCAqLywKIAkJCQk1NzBBQjhGODIwQUY2RTNE
MDBCOEJFODcgLyogTlNYUENDb25uZWN0aW9uU1BJLmggKi8sCisJCQkJQTE2OUIwNDAyNDhFRjAz
OTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAqLywKIAkJCQkwQzJEQTEzOTFG
M0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJCTBDMkRBMTNBMUYzQkVCNDkw
MERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREExM0IxRjNCRUI0OTAwREJDMzE3
IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTg1MCw2ICs4NTMsNyBAQAogCQkJCTBDNzc4NTlE
MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcw
QUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9wZW5HTEVTU1BJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxt
ZW50c1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjNDOUYyMUE0REJGNzAwNkZCNDNCIC8q
IFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNTUxRjNCRUI0OTAw
REJDMzE3IC8qIFBhc3NLaXRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlFMUY0NTEz
MEYwMEY0RUJCNiAvKiBQSVBTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggZWFmMWQ5YmUyODhmNDE1NDdm
YTc5MTYzNzBjZDA5OWJiZDM5NTZmNC4uNzdlYWRiMzRmYTEwYzQyNDlhZjVmN2RhNjZkMzFjY2My
Yjc5MDUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0
TGluay5oCkBAIC00OSw5ICs0OSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwg
UEtTaGlwcGluZ01ldGhvZCkKIAogI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiBTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbikKLSNlbmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQogU09G
VF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0pCiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0
U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGlu
ay5tbQppbmRleCBjMWZmZjkwZDVhZDZiYWYzOGI4NWU5YmFkNTdjZDJjYjRjNzMwMTRiLi5hYjg3
M2I5YzVmYzFlNzJmN2FmZjgzNTc4NDZlNGYzZGYxNjBiNTdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtMzEsNiArMzEsNyBAQAog
I2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCisKIFNPRlRf
TElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tp
dCwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lU
SF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24sIFBBTF9F
WFBPUlQpCkBAIC0zOCwxNCArMzksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJ
T05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwQ29udAogU09GVF9M
SU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQ
S1BheW1lbnRTZXR1cEZlYXR1cmUsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NP
VVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwUmVx
dWVzdCwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1TT0ZU
X0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQs
IFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNlbmRpZgot
Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0
YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQogI2Vsc2UgLy8gUExBVEZPUk0oTUFD
KQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNz
S2l0LCBQQUxfRVhQT1JUKQpAQCAtNTYsMTYgKzQ5LDEzIEBAIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBGZWF0dXJlLCBQ
QUxfCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQs
IFBLUGF5bWVudFNldHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBWaWV3Q29udHJv
bGxlciwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi1TT0ZU
X0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVu
dEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNlbmRpZgorI2VuZGlmIC8v
IFBMQVRGT1JNKE1BQykKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLVNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXlt
ZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQorI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9S
VCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwg
UGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQogI2VuZGlmCiAK
LSNlbmRpZiAvLyBQTEFURk9STShNQUMpCi0KIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJ
VEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtDb250YWN0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5L
X0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1Bhc3NMaWJyYXJ5
LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBQYXNzS2l0LCBQS1BheW1lbnQsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjAxNTdmNjUwOGJmZWZkNDQ5YzAwNzgyNTRjYmFlOTEwMTNjMjIwYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxs
bWVudHNTUEkuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOS0y
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQ
QUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KKyNlcnJvciAi
UGxlYXNlICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaD4gaW5zdGVhZCBvZiB0
aGlzIGZpbGUgZGlyZWN0bHkuIgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1F
TlRTX0lOX1NESykKKworI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRlLmg+CisjaW1w
b3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Qcml2YXRlLmg+CisKKyNlbGlmIEhBVkUoUEFTU0tJ
VF9JTlNUQUxMTUVOVFMpCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFsbG1l
bnRJdGVtVHlwZSkgeworICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAwLAorICAg
IFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25lLAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBh
ZCwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVXYXRjaCwKKyAgICBQS0luc3RhbGxtZW50SXRl
bVR5cGVNYWMsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50
UmV0YWlsQ2hhbm5lbCkgeworICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsVW5rbm93biA9
IDAsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxBcHAsCisgICAgUEtJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWxXZWIsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxJblN0b3Jl
LAorfTsKKwordHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBl
KSB7CisgICAgUEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCit9OworCitAaW50
ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU1Nl
Y3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0g
OiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50
ICgpIDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmlu
ZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywg
YXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBlIGZlYXR1cmU7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgY29weSkgTlNEYXRhICptZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOworQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpvcGVuVG9CdXlUaHJlc2hvbGRB
bW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKmJp
bmRpbmdUb3RhbEFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAq
Y3VycmVuY3lDb2RlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgZ2V0dGVyPWlzSW5T
dG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQdXJjaGFzZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnJlZmVycmVySWRlbnRpZmllcjsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSAq
PiAqaW5zdGFsbG1lbnRJdGVtczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RpY3Rp
b25hcnk8TlNTdHJpbmcgKiwgaWQ+ICphcHBsaWNhdGlvbk1ldGFkYXRhOworQHByb3BlcnR5IChu
b25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5l
bDsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKCkKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSBpbnN0YWxsbWVu
dEl0ZW1UeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51bWJlciAq
YW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJyZW5jeUNv
ZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1JZGVudGlm
aWVyOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51bWJlciAqYXByOwor
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtVGVybXM7CitAZW5k
CisKK0BpbnRlcmZhY2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOworQGVuZAorCitAaW50
ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24p
IFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c3Ryb25nKSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVl
c3RUeXBlIHJlcXVlc3RUeXBlOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RQ
YXltZW50TWV0aG9kVXBkYXRlICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJp
bmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOworQGVuZAorCisjZW5kaWYgLy8gSEFWRShQ
QVNTS0lUX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaAppbmRleCAwMTgwMTdlZDMwMjcxY2MzZTliNTMwN2JmMmU2NzE2YWQwZTIz
NTEwLi45ZWU3MmU3OGNhM2IyNzYzNjBhMzlkYWI5YzY1N2Y2ODMxM2JkYzBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC00NCwyNCArNDQs
MjEgQEAgV1RGX0VYVEVSTl9DX0VORAogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRQYXNzLmg+
CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcl9Q
cml2YXRlLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudE1ldGhvZC5oPgotI2ltcG9ydCA8
UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NLaXQvUEtQ
YXltZW50UmVxdWVzdFN0YXR1cy5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cENv
bmZpZ3VyYXRpb25fV2ViS2l0Lmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwQ29u
dHJvbGxlci5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cFJlcXVlc3QuaD4KLSNp
bXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdF9XZWJLaXQuaD4KIAotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRfUHJp
dmF0ZS5oPgotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJpdmF0ZS5o
PgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8UGFzc0tpdC9Q
S1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxQYXNz
S2l0L1BLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIuaD4KICNlbmRpZgogCisjaWYgIUhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3Rf
UHJpdmF0ZS5oPgorI2VuZGlmCisKICNlbHNlCiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgpAQCAtMzM2LDQyICszMzMsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJbnRlZ2Vy
LCBQS1BheW1lbnRTZXR1cEZlYXR1cmVTdXBwb3J0ZWRPcHRpb25zKSB7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgc3Ryb25nKSBOU0FycmF5IDxQS1BheW1lbnRTZXR1cEZlYXR1cmUgKj4gKnBheW1l
bnRTZXR1cEZlYXR1cmVzOwogQGVuZAogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykK
LQotdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudEl0ZW1UeXBlKSB7Ci0g
ICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCi0gICAgUEtJbnN0YWxsbWVudEl0
ZW1UeXBlUGhvbmUsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGFkLAotICAgIFBLSW5zdGFs
bG1lbnRJdGVtVHlwZVdhdGNoLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZU1hYwotfTsKLQot
dHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7Ci0gICAg
UEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCi19OwotCi1AaW50ZXJmYWNlIFBL
UGF5bWVudCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkg
TlNTdHJpbmcgKmluc3RhbGxtZW50QXV0aG9yaXphdGlvblRva2VuOwotQGVuZAotCi1AaW50ZXJm
YWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKLUBlbmQKLQotQGludGVyZmFjZSBQS1Bh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBl
IGZlYXR1cmU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJjaGFuZGlz
aW5nSW1hZ2VEYXRhOwotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVt
YmVyICpvcGVuVG9CdXlUaHJlc2hvbGRBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ry
b25nKSBOU0RlY2ltYWxOdW1iZXIgKmJpbmRpbmdUb3RhbEFtb3VudDsKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOwotQHByb3BlcnR5IChub25hdG9t
aWMsIGFzc2lnbiwgZ2V0dGVyPWlzSW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQdXJjaGFz
ZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSBp
bnN0YWxsbWVudEl0ZW1UeXBlOwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5n
ICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBj
b3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOwotQGVuZAotCi0jZW5kaWYKLQogQGlu
dGVyZmFjZSBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rp
bmcsIE5TQ29weWluZz4KIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aERpY3Rpb25hcnk6KE5TRGlj
dGlvbmFyeSAqKWRpY3Rpb25hcnk7CiBAZW5kCkBAIC0zOTYsMjAgKzM1NywxNSBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291cmNlQXBw
bGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9u
ZykgTlNTdHJpbmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKLSNpZiBIQVZFKFBBU1NL
SVRfSU5TVEFMTE1FTlRTKQotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQYXltZW50
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci1AcHJv
cGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1ZXN0VHlw
ZTsKKyNpZiBIQVZFKFBBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjsK
ICNlbmRpZgogQGVuZAogCisjaWYgIUhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiBAaW50ZXJm
YWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBL
UGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CiBAZW5kCi0KLSNpZiBIQVZFKFBBU1NLSVRf
Qk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCi1AaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3Qg
KCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJ
ZGVudGlmaWVyOwotQGVuZAogI2VuZGlmCiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORApAQCAtNDUy
LDkgKzQwOCw2IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAZW5kCiAKIEBpbnRlcmZhY2Ug
UEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBk
YXRlCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXI7Ci0jZW5kaWYKIEBl
bmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250YWN0VXBkYXRlIDog
UEtQYXltZW50UmVxdWVzdFVwZGF0ZQpAQCAtNDg0LDMgKzQzNyw3IEBAIE5TX0FTU1VNRV9OT05O
VUxMX0JFR0lOCiB0eXBlZGVmIHZvaWQoXlBLQ2FuTWFrZVBheW1lbnRzQ29tcGxldGlvbikoQk9P
TCBpc1ZhbGlkLCBOU0Vycm9yICopOwogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2RlZmlu
ZSBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KKyNpbXBv
cnQgIlBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCIKKyN1bmRlZiBQQUxfUEFTU0tJVF9TUElfR1VB
UkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4
IDJhYzdkYTc2OTNmYjgxNWI4NjI3MzgxYTA3YWIyYWYwYjc3ZjExYTIuLjJmOGI0MjYyYjcwNzYz
MjE1NDQxYjA4MTJhM2IzMGE3OGY2NDcyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAt
NjEzLDYgKzYxMyw3IEBAIFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3BwCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5tbQogICAgIE1vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCiAKKyAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1Bh
eW1lbnRDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvbnRhY3RD
b2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudE1lcmNoYW50U2Vzc2lv
bkNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZDUzMzdjOTU2MDJmNDFmZjlhZDQ1ZjBiZGU3NTY5NTA2YjQ1ODJlOS4u
ZTI5NjFkMDllODMxYWY2ZWU2OTQzM2IwNzY5MGVjMjc3NmYzZDI0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzA0Miw2ICsz
MDQyLDcgQEAKIAkJQTE2NzdFMEUyMTNFMDJBMDAwQTA4QzM0IC8qIEFkZHJlc3NFcnJvcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTBCMjEz
RTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggKi87IH07CiAJCUExNjc3RTEzMjEzRTAz
QzYwMEEwOEMzNCAvKiBKU0FkZHJlc3NFcnJvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTExMjEzRTAzQzUwMEEwOEMzNCAvKiBKU0FkZHJl
c3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTcyMTNFMDNGMTAwQTA4QzM0IC8qIEpTUGF5ZXJF
cnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5oICovOyB9
OworCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQyMjQ4RjAz
N0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovOyB9OwogCQlBMTc2M0YzRjFFMjA1
MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc2M0YzRDFFMjA1MjM0MDAxRDU4REUgLyog
V2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTE3NjNGNDExRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAqLzsgfTsK
IAkJQTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3QzgxMjEwRjJBNUNG
NzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovOyB9OwpAQCAtMTE2MDYsNiArMTE2
MDcsOCBAQAogCQlBMTY3N0UxNTIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9yRmllbGRz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTY3N0UxNjIxM0UwM0YwMDBBMDhDMzQg
LyogSlNQYXllckVycm9yRmllbGRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExNjc3RTI0MjE0NDUzMjgwMEEwOEMzNCAvKiBKU1BheW1lbnRNZXRob2RDaGFuZ2VFdmVu
dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BheW1lbnRNZXRob2RDaGFuZ2VFdmVu
dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQyMjQ4RjAz
N0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXltZW50
QVBJVmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0NTI0OEYw
NDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUExNzYzRjNDMUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBcmNoaXZlRHVt
cFN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjNEMUUyMDUy
MzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUExNzYzRjQwMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3
b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3Jh
cHBlci5mcmFtZXdvcms7IG5hbWUgPSBDRk5ldHdvcmsuZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RL
Uk9PVDsgfTsKQEAgLTE3NDk5LDYgKzE3NTAyLDcgQEAKIAkJCQkxQThBNjQ0RjFEMTlGQ0ZCMDBE
MEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCAqLywKIAkJCQkxQThBNjQ1
MDFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsICov
LAogCQkJCTFBOEE2NDM3MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50LmggKi8sCisJCQkJQTE2
OUIwNDIyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi8sCiAJCQkJMUFF
OTZBODYxRDFBMENFQjAwQjg2NzY4IC8qIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmggKi8s
CiAJCQkJMUE4QTY0MzgxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggKi8sCiAJ
CQkJMUE1OEU4NkIxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvci5jcHAgKi8s
CkBAIC0xNzUyNCw2ICsxNzUyOCw3IEBACiAJCTFBNThFODY5MUQxOUQ4QzAwMEMwRUE3MyAvKiBj
b2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTE2
OUIwNDUyNDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gKi8sCiAJ
CQkJMUE4QTY0NjkxRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb2NvYS5tbSAqLywKIAkJCQkx
QThBNjQ2QTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3RDb2NvYS5tbSAqLywKIAkJ
CQkxQURBNEExQjFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vzc2lvbkNvY29h
Lm1tICovLApAQCAtMzI0NDAsNiArMzI0NDUsNyBAQAogCQkJCUExNjc3RTA4MjEzRTAyNEMwMEEw
OEMzNCAvKiBQYXllckVycm9yRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQzQTFE
MTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCNDMx
RjQ0Q0Y3RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
MTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBRTk2QTg4MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCNUIxRjQ0RDNCMjAwMTRDMzE4IC8q
IFBheW1lbnRDb21wbGV0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0M0IxRDE5RkM1MzAw
RDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2ODg3NGU1
ZmMyOTAwNDVhOGMxM2ZmYzU5ZWU1ZDlmN2Q3YTBhNWM5Li45YTIzNWZlZmJiNDQxODBlNmI3YzIw
M2E0OGVhMGZlZGQxMjczMTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDYtMDggIEFu
ZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJs
ZSBsYXlvdXQgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NjQxNzQxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0
cHMuaHRtbDogQ2hhbmdlZCB0byBmYWlsIGluc3RlYWQgb2YKKyAgICAgICAgdGltZSBvdXQgd2hl
biBBUEkgdmVyc2lvbiA5IGlzbid0IHN1cHBvcnRlZC4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjUuaHRtbDogUmVtb3ZlZCBhIGN1c3RvbSBl
bGVtZW50LWNsaWNraW5nIGZ1bmN0aW9uCisgICAgICAgIGFuZCB1c2VkIFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudCBpbnN0ZWFkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOiBVbi1za2lwcGVkIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5LgorICAgICAgICBN
YXJrZWQgUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbCBhcyBTbG93LiBNYXJrZWQgQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgYXMKKyAgICAgICAgRmFpbHVyZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6IFJlbW92ZWQgYSB0cmFpbGluZyAn
LycuIFNraXBwZWQKKyAgICAgICAgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwg
b24gTW9qYXZlIGFuZCBtYXJrZWQgaXQgYXMgRmFpbHVyZSBvbiBDYXRhbGluYS4KKwogMjAyMC0w
Ni0wOCAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEdh
cmRlbmluZywgcmVtb3ZlIHRlc3RzIHBhc3NpbmcgYWZ0ZXIgcjI2MjcxNgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sCmlu
ZGV4IDFmOTMxMjU3NWU1YmY1MTE3YWRmMDc4NmQyMjYxYTY5MzZkN2MxYTIuLjY4ZmI4NGE2MGQ2
YjVlZDUyNTBkZmY4MDU3OTRhNDJiY2Y4MGU0NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9yLmh0bWwKQEAgLTIsNyArMiw4
IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtNTQsMjYgKzU1LDEyIEBACiAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7
Ci0gICAgICAgIGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICAgICAgbGV0IHkg
PSBlbGVtZW50Lm9mZnNldFRvcCArIDI7Ci0KLSAgICAgICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVu
dHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OwotICAgICAgICBpZiAoc3VwcG9ydHNUb3VjaEV2
ZW50cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJv
bGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtg
LCBmdW5jdGlvbiAoKSB7IH0pOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgewotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRv
biIpKTsKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImJ1dHRvbiIpKTsKICAgICB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdn
bygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dEl0ZW1zLmh0dHBzLmh0bWwKaW5kZXggZWI3NWM0MzBhODdjM2IyNGEwN2QwNzhiNzY1ODFiMzk4
M2JkZDA5Yi4uN2IxNzI5NGE5Yjk4YTNhMDE4NmQ4YzU5NWZjYTkzMGZhODNmMzhjZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudEl0ZW1zLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwKQEAgLTYyLDYgKzYyLDEy
IEBAIGxldCB2YWxpZFJlcXVlc3QgPSAoKSA9PiB7CiAKIGFjdGl2YXRlVGhlbigoKSA9PiB7CiAK
KyAgICBpZiAoIUFwcGxlUGF5U2Vzc2lvbi5zdXBwb3J0c1ZlcnNpb24oYXBpVmVyc2lvbikpIHsK
KyAgICAgICAgdGVzdEZhaWxlZChgVGhpcyBidWlsZCBkb2VzIG5vdCBzdXBwb3J0IEFQSSB2ZXJz
aW9uICR7YXBpVmVyc2lvbn0uYCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgZGVidWcoJ1Rlc3QgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
Lml0ZW1zJyk7CiAgICAgc2hvdWxkVGhyb3coJ3JlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVx
dWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSA0OyBuZXcgQXBwbGVQYXlTZXNz
aW9uKGFwaVZlcnNpb24sIHJlcXVlc3QpJyk7CiAgICAgc2hvdWxkVGhyb3coJ3JlcXVlc3QgPSB2
YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSAi
IjsgbmV3IEFwcGxlUGF5U2Vzc2lvbihhcGlWZXJzaW9uLCByZXF1ZXN0KScpOwpAQCAtMTA3LDgg
KzExMyw2IEBAIGFjdGl2YXRlVGhlbigoKSA9PiB7CiAgICAgZGVidWcoJycpOwogCiAgICAgZGVi
dWcoJ1Rlc3QgcGxhdGZvcm0gY29udmVyc2lvbicpOwotICAgIGxldCBzZXNzaW9uID0gbmV3IEFw
cGxlUGF5U2Vzc2lvbihhcGlWZXJzaW9uLCB2YWxpZFJlcXVlc3QoKSk7Ci0gICAgc2Vzc2lvbi5i
ZWdpbigpOwogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5p
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMubGVuZ3RoJywgJzInKTsKICAgICBzaG91bGRC
ZSgnaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuaW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLml0ZW1zWzBdLnR5cGUnLCAnZXhwZWN0ZWRJdGVtVHlwZScpOwogICAgIHNob3VsZEJlKCdp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24u
aXRlbXNbMF0uYW1vdW50JywgJ2V4cGVjdGVkSXRlbUFtb3VudCcpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbApp
bmRleCBmMTBkMWI5YjVmOTUyNjJiOTdhNWM2YzFiMGRlNDAzNzc4YTNhZTZjLi4yMDFlN2QzYzZj
MDdkNDVhNmRkYzNlNTZiMmE3YTZiMGM2ZTdkMWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbApAQCAtMiw3
ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHNjcmlwdD4KQEAgLTIzMCwyNiArMjMxLDEyIEBAIGZ1bmN0aW9uIGdvKCkgewogICAgIGZp
bmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkgewotICAg
IGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgMjsKLQotICAgIHZhciBzdXBwb3J0c1RvdWNoRXZlbnRzID0gIlRvdWNoRXZlbnQi
IGluIHdpbmRvdzsKLSAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIucnVu
VUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4
fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAg
fSBlbHNlIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCiB3aW5kb3cub25sb2FkID0gZnVu
Y3Rpb24oKSB7Ci0gICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRv
biIpKTsKKyAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiYnV0dG9uIikpOwogfQogCiA8L3NjcmlwdD4KIDxidXR0b24gb25jbGljaz0nZ28oKSc+R288
L2J1dHRvbj4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbAppbmRleCAyYTAyMDNhZjk5
ZWMzNDk3Yzc4YmU0YWQ5YjgyNWNlZjBkM2FhNzJmLi5hNTFlMjE2MDcyNGZjZjkxNzc4NTgxMGZi
ZGMzZTU0MjhjMGZjZTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKQEAgLTIsNyArMiw4IEBACiA8
aHRtbD4KIDxoZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+
CkBAIC03MywyNiArNzQsMTIgQEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZmluaXNoSlNUZXN0KCk7
CiB9CiAKLWZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgbGV0IHggPSBlbGVt
ZW50Lm9mZnNldExlZnQgKyAyOwotICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOwot
Ci0gICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93Owot
ICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RS
dW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1
bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5j
dGlvbigpIHsgfSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9KTsKLSAgICB9IGVsc2UgaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5
KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
ICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgIFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7
CiB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb25WNC5odG1sCmluZGV4IGExOGMzMjdhN2MxNjk1YzNhMzA5M2Q1
YWZiOGRlZDA0ZThmZWIyYTYuLjJlOWI2OTk4YjcxNzg2OGFhY2ViOTg5NTZmMDg1YmZiNWZiNDQ3
NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblY0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbApAQCAtMiw3ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+
CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTYxLDI2ICs2
MiwxMiBAQCBmdW5jdGlvbiBnbygpIHsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotZnVuY3Rp
b24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKLSAgICBsZXQgeCA9IGVsZW1lbnQub2Zmc2V0TGVm
dCArIDI7Ci0gICAgbGV0IHkgPSBlbGVtZW50Lm9mZnNldFRvcCArIDI7Ci0KLSAgICB2YXIgc3Vw
cG9ydHNUb3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7Ci0gICAgaWYgKHN1cHBv
cnRzVG91Y2hFdmVudHMgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgdGVzdFJ1bm5lci5ydW5VSVNj
cmlwdCkgewotICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVp
Q29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsg
fSkoKTtgLCBmdW5jdGlvbiAoKSB7IH0pOwotICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwotICAgICAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwot
ICAgIH0KLX0KLQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGNsaWNrRWxlbWVu
dChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CisgICAgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKIH0KIAogPC9zY3Jp
cHQ+CiA8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0b24+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uVjUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvblY1Lmh0bWwKaW5kZXggMzc4OTBhN2E1OGExMDBhY2MzMjA5MTczYjY0MDdlYTc0MDYw
ZTY0MS4uYjU2MGE2YzNjOWZhY2E1OTc3ZDRkYzAwYTNmMTQ2MjQzNzIyYWNiNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WNS5odG1sCkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtNTcsMjYgKzU4LDEyIEBAIGZ1bmN0
aW9uIGdvKCkgewogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiBjbGlja0VsZW1l
bnQoZWxlbWVudCkgewotICAgIGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICBs
ZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAgIHZhciBzdXBwb3J0c1RvdWNoRXZl
bnRzID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsKLSAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50
cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNp
bmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0
aW9uICgpIHsgfSk7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCiB3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogfQogCiA8L3NjcmlwdD4KIDxidXR0b24g
b25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjI2YjgxODU2NTY1ZDE4OWNl
MGZlZDA5MmVmYzQ3MTk5MzNiZTIwYS4uYzc4ODI3OGJkMDQ1ODFkZDM3ODMwNjZiNWU2ZGUyODBi
NzA5NWM4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNDMsNyArNDMsMTAgQEAgZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNv
bnRhaW4uaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvdmVy
Lmh0bWwgWyBTa2lwIF0KIGZhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1hdXRvLmh0bWwg
WyBTa2lwIF0KIAotaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlCaWxsaW5nQWRkcmVz
cy5odG1sIFsgUGFzcyBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFBhc3MgXQord2Via2l0
Lm9yZy9iLzIxMjk3NSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRw
cy5odG1sIFsgU2xvdyBdCisKK3dlYmtpdC5vcmcvYi8yMTI5OTggaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIAog
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwZTAzMzdiNzk5MGQzNGM3Y2MxNjAw
NmQwMTBkNGUyZDNmMzI5Y2EzLi5jZGFmYjNjMmRiYjEyY2ExNTE0ZWZkN2FjZjRkYzFmMTA0NmUw
YWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0zNCwxMyArMzQsMTMgQEAgZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtbGl2ZS11
cGRhdGUtaW4tc3ViZnJhbWVzLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtbW9ub2Nocm9t
ZS1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiBmYXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNl
ZC1tb3Rpb24tbGl2ZS11cGRhdGUuaHRtbCBbIFBhc3MgXQogCi1odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS8gWyBQYXNzIF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBdCiAKLSMgQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gd2FzIGZpcnN0IGF2YWlsYWJsZSBpbiBDYXRh
bGluYS4KKyMgQVBQTEVfUEFZX0lOU1RBTExNRU5UUyB3YXMgZmlyc3QgYXZhaWxhYmxlIGluIENh
dGFsaW5hLgogWyBNb2phdmUgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5odHRwcy5odG1sIFsgU2tpcCBdCitbIE1vamF2ZSBdIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsg
U2tpcCBdCiAKLSMgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gaXMgbm90IGF2YWlsYWJsZSBpbiBN
b2phdmUgb3IgQ2F0YWxpbmEuCi1bIE1vamF2ZSBDYXRhbGluYSBdIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsgU2tpcCBdCit3ZWJr
aXQub3JnL2IvMjEyOTk4IFsgQ2F0YWxpbmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQogCiBmYXN0L3Zpc3Vh
bC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLmh0bWwgWyBQYXNzIF0KIGZh
c3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMtaGVhZGVyLWZv
b3Rlci5odG1sICBbIFBhc3MgXQpAQCAtMTA0MSw0ICsxMDQxLDQgQEAgd2Via2l0Lm9yZy9iLzIx
MjcyMSBzdmcvY3VzdG9tL3RleHRQYXRoLWNoYW5nZS1pZC5zdmcgWyBQYXNzIEltYWdlT25seUZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxMjgyNCBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb25vZGUtaW50ZXJm
YWNlL2F1ZGlvbm9kZS1kaXNjb25uZWN0LWF1ZGlvcGFyYW0uaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKIHdlYmtpdC5vcmcvYi8yMTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3Jv
bGxiYXJzL292ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLXdl
YmtpdC5vcmcvYi8yMTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJz
L3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBhc3MgVGltZW91dCBdClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0g
ZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJl
dmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401489</attachid>
            <date>2020-06-09 16:13:56 -0700</date>
            <delta_ts>2020-06-10 08:03:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200609161355.patch</filename>
            <type>text/plain</type>
            <size>60455</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjgzODY3YTYzYTc3OTk4MWY2Y2RmOGE2NzhlMzNiYWM0MjFmZjkz
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmg6IFJlbW92ZWQgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVO
VElGSUVSUywKKyAgICAgICAgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywgRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4LAorICAgICAgICBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjksIGFuZCBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEwLgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybUhhdmUuaDogUmVtb3ZlZCBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlMgYW5kIGNvcnJlY3RlZCBpT1MgdmVyc2lvbgorICAgICAgICBjaGVja3MgZm9yIEhBVkVfUEFT
U0tJVF9JTlNUQUxMTUVOVFMuCisKIDIwMjAtMDYtMDggIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWRvcHQgcmVhZC1vbmx5IG1vZGUgZm9y
IHByZWZlcmVuY2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNzI3
MTYxNDA4NDU0MDUxMGI3MzUwYmVjNzM2YmM2NzViZTVkYTkyLi42YmVjMTIwOTRiNWNkZTA3ODkz
ZTdiZjEwNDIxNjVlY2E5NzZkNDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAt
MDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQ
YXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNl
bi4KKworICAgICAgICBBZGRlZCBydW50aW1lIGNoZWNrcyB0byBkZXRlcm1pbmUgdGhlIEFwcGxl
IFBheSBBUEkgdmVyc2lvbiB3aGVuIGluc3RhbGxtZW50cyBhcmUgZW5hYmxlZC4KKworICAgICAg
ICBFbmFibGVkIHRlc3RzIGluIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IG9uIGlPUy4KKworICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb25XZWJDb3JlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW1UeXBlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbVR5cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbDogUmVtb3ZlZCB1c2VzIG9mCisg
ICAgICAgIEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyBhbmQgQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TIChvciByZXBsYWNlZCB3aXRoCisgICAgICAgIEFQUExFX1BBWV9JTlNU
QUxMTUVOVFMpLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25D
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KTog
TW92ZWQgdGhlIGNvbXB1dGF0aW9uIG9mIGN1cnJlbnQgQVBJIHZlcnNpb24gZnJvbQorICAgICAg
ICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbiB0byBoZXJlLiBBZGRl
ZCBydW50aW1lIGNoZWNrcyB0byBkZXRlcm1pbmUgdGhlCisgICAgICAgIGxldmVsIG9mIFBhc3NL
aXQgaW5zdGFsbG1lbnRzIHN1cHBvcnQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggaW5mb3Jt
YXRpb24gdG8gdGVsbCBhdAorICAgICAgICBjb21waWxlIHRpbWUuCisKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbik6IENoYW5nZWQg
dG8gY2FsbAorICAgICAgICBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudC4KKworICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VOU0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudElu
c3RhbGxtZW50Q29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uIGNvbnN0KTogUmVtb3ZlZAorICAgICAgICB1c2VzIG9mIEhBVkVfUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUyBhbmQgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTLiBVc2Vk
CisgICAgICAgIHJ1bnRpbWUgY2hlY2tzIHRvIGRldGVybWluZSBzdXBwb3J0IGZvciBQS1BheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gYW5kCisgICAgICAgIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbS4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBzb3VyY2UgZmlsZXMgZm9yIFBheW1l
bnRBUElWZXJzaW9uLgorCiAyMDIwLTA2LTA4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNv
bT4KIAogICAgICAgICBFeHRlbmRlZCBDb2xvcjogUmVuYW1lIENvbG9yOjpsaWdodGVuKCkgYW5k
IENvbG9yOjpkYXJrZW4oKSB0byBDb2xvcjo6bGlnaHRlbmVkKCkgYW5kIENvbG9yOjpkYXJrZW5l
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhZDI0N2JlMjc2ODYxOTQwYzczYTYyMjRkNjRhYWU2
YmU4MjM2NzFkLi5iN2Y5YThmMTQ1M2RlZDA0MmVkMWQ4NTllMTE0MWJlNmE1ZWY5YWU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0
ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4K
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFBhc3NL
aXQgYWRkZWQgU1BJcyBmb3IgQXBwbGUgUGF5IGluc3RhbGxtZW50cyBvdmVyIGEgc2VyaWVzIG9m
IGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEKKyAgICAgICAgbWlub3IgdXBkYXRlcy4gV2ViS2l0
IHRydW5rIGlzIHN0aWxsIGJ1aWx0IGFjcm9zcyBhIHJhbmdlIG9mIGlPUyAxMyBhbmQgbWFjT1Mg
Q2F0YWxpbmEgbWlub3IKKyAgICAgICAgdXBkYXRlIFNES3MgdGhhdCBjb250YWluIG5vbmUsIHNv
bWUsIG9yIGFsbCBvZiB0aGUgaW5zdGFsbG1lbnQgU1BJcy4gSXQncyBub3QgcG9zc2libGUgdG8K
KyAgICAgICAgcmVsaWFibHkgZGV0ZWN0IHRoZSBTREsgbWlub3IgdmVyc2lvbiBhdCBjb21waWxl
LXRpbWUsIHNvIGluc3RlYWQgd2Ugbm93IHVzZSBvdXIgb3duIFNQSQorICAgICAgICBkZWNsYXJh
dGlvbnMgdW5sZXNzIHdlIGtub3cgYWxsIG1pbm9yIHZlcnNpb25zIG9mIHRoZSBtYWpvciBTREsg
dmVyc2lvbiBjb250YWluIGFsbCBvZiB0aGUKKyAgICAgICAgaW5zdGFsbG1lbnRzIGRlZmluaXRp
b25zLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaC4KKworICAgICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29m
dExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tOiBVc2VkIFNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUIG9uIGJvdGgKKyAg
ICAgICAgTWFjIGFuZCBpT1MgdG8gc29mdC1saW5rIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmln
dXJhdGlvbiBhbmQgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLgorCisgICAgICAgICogcGFsL3Nw
aS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRTUEkuaDogQWRkZWQuIFdoZW4gYnVpbGRpbmcgYWdh
aW5zdCBhbiBTREsgdGhhdCBpcyBrbm93bgorICAgICAgICB0byBkZWNsYXJlIHRoZSBQYXNzS2l0
IGluc3RhbGxtZW50cyBTUElzLCB0aGlzIGZpbGUgaW5jbHVkZXMgdGhlIFNQSSBoZWFkZXJzLiBP
dGhlcndpc2UsIGl0CisgICAgICAgIGRlY2xhcmVzIHRoZSBTUElzLgorICAgICAgICAqIHBhbC9z
cGkvY29jb2EvUGFzc0tpdFNQSS5oOiBNb3ZlZCBQYXNzS2l0IGluc3RhbGxtZW50cyBTUEkgZGVj
bGFyYXRpb25zIHRvCisgICAgICAgIFBhc3NLaXRJbnN0YWxsbWVudFNQSS5oLgorCiAyMDIwLTA2
LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJD
b3JlOiBHdWFyZCBfcHJlY29ubmVjdCBkZWNsYXJhdGlvbiB3aXRoIEVOQUJMRShTRVJWRVJfUFJF
Q09OTkVDVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2Eu
aCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRleCA1M2QxOWNiYjBj
OTY2NzE4OGFhYWIyYzhlNzVkNzBkZTZlYjljYmMyLi5iOTU3ZDNmMzYwMmQzMzEyZjBhNTIxMDcw
YmMwNzljMzBhODcxN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJs
ZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC01
NSwxNCArNTUsNiBAQAogI2RlZmluZSBFTkFCTEVfQU5JTUFURURfS0VZQk9BUkRfU0NST0xMSU5H
IDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9J
REVOVElGSUVSUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2Rl
ZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykgJiYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BB
WV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiAjZGVmaW5lIEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgpAQCAtNzEsMTggKzYzLDYgQEAK
ICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4KSAmJiBIQVZFKFBBU1NLSVRf
SU5TVEFMTE1FTlRTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjggMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICYmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y5IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YxMCkgJiYgSEFWRShQQVNTS0lUX05FV19CVVRUT05fVFlQRVMpCi0jZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMTAgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQ
TEVfUEFZX1JFTU9URV9VSSkgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShB
UFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSkK
ICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkgMQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oCmluZGV4IDBhOTJlOTAzYTMyM2FmMzA1ZTVlZjE2OWQzMmViOTg0MTMwMGU5MzguLjNk
NjdmOTQyZDI5YzhhYmJlZjdjZjNkY2VmZjMxZGI0ZGNjZTJhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oCkBAIC04OSwxMiArODksNiBAQAogI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAxCiAj
ZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9CSUxMSU5H
X0FERFJFU1MpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9QQVNTS0lU
X1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCi0jZW5kaWYKLSNlbmRpZgotCiAjaWYg
IWRlZmluZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykgJiYgKFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKQogI2RlZmluZSBVU0VfVUlLSVRfS0VZQk9BUkRfQURE
SVRJT05TIDEKICNlbmRpZgpAQCAtNjE2LDE0ICs2MTAsMTIgQEAKICNkZWZpbmUgSEFWRV9QQVNT
S0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwNDAwKSBcCi0gICAgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCi0j
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCisjaWYgUExBVEZP
Uk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCiAjZW5k
aWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEzMDEw
MCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKKyNp
ZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRI
T0RfQklMTElOR19BRERSRVNTIDEKICNlbmRpZgogCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uaWRsCmluZGV4IGYzZGMxNzg5N2I1ZjlmMjk5YjNhZWZiODVjNWEyZjI3ZTRlYzhlYTEuLmM4
NzhjODBhYWUxNTI2ODQ1OTc4NmE3ODlhZGEwYjdhZDQzODg4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsCkBAIC0zNCw5ICszNCw5IEBACiAgICAgRE9NU3RyaW5n
IGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBET01TdHJpbmcgY3VycmVuY3lDb2RlOwogICAgIGJv
b2xlYW4gaXNJblN0b3JlUHVyY2hhc2U7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNU
QUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcjsKLSAgICBb
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTXSBET01TdHJpbmcg
cmVmZXJyZXJJZGVudGlmaWVyOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1F
TlRfSVRFTVNdIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKLSAgICBb
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBKU09OIGFwcGxpY2F0aW9u
TWV0YWRhdGE7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNU10g
QXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3du
IjsKKyAgICBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOworICAgIERPTVN0cmluZyByZWZl
cnJlcklkZW50aWZpZXI7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0
ZW1zOworICAgIEpTT04gYXBwbGljYXRpb25NZXRhZGF0YTsKKyAgICBBcHBsZVBheUluc3RhbGxt
ZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb25XZWJDb3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCmluZGV4IDdjMzEzMWJjZDMw
ZDExZDNmYWQwMWQzNTU4YTM1MzY2ZWY4NDg2ZDkuLmM2NTM5YjA0Y2FkODE0Y2M2YzE3ZjdlMGUz
N2NlZTYyNTNlZDQ0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
bldlYkNvcmUuaApAQCAtNDIsMTUgKzQyLDExIEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiB7CiAgICAgU3RyaW5nIGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBTdHJp
bmcgY3VycmVuY3lDb2RlOwogICAgIGJvb2wgaXNJblN0b3JlUHVyY2hhc2UgeyBmYWxzZSB9Owot
I2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCiAgICAgU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwotI2Vu
ZGlmCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKICAgICBWZWN0b3I8
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwogICAgIFN0cmluZyBhcHBsaWNhdGlvbk1l
dGFkYXRhOwogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5u
ZWwgeyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbDo6VW5rbm93biB9OwotI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKaW5kZXggZTZj
YWEyYTBjZTBhMTQwOWY3Zjk0YTM1NWQxYmQwNGU4MWI4NTE5ZC4uZTlmODhjN2UxNzk5NWVkMjk3
NzgwOWMwNmI3NjgxYzI2N2EzMGNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRf
SVRFTVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKICNpbmNsdWRlICJB
cHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTQzLDQgKzQzLDQgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtIHsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9J
TlNUQUxMTUVOVF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5U
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50SXRlbS5pZGwKaW5kZXggMTU1YTZkNjk5NDIxNzhhYTdiNmNmZmRjNzY4
NjU3OGZmZDFjZGU4Ni4uZGM2MTVlNjBhNDJiZjBhN2MxYjE1NDgxYzVlNmQ3OWZmZWQ2MTRmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50SXRlbS5pZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAg
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGRp
Y3Rpb25hcnkgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogICAgIEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtVHlwZSB0eXBlID0gImdlbmVyaWMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKaW5k
ZXggMmRjZmJlNjhjMmEyMWRmNTY4NTNiY2FkZWE5NzNmYWZlMDRiZGUxNi4uYzMzODFmZDFkYzM1
MmU3YjMzNTNlZGJjMzI0NzE2MGY1OTY3NmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5o
CkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw0ICszOSw0IEBAIGVudW0gY2xhc3MgQXBw
bGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIDogdWludDhfdCB7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCisj
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZS5pZGwKaW5kZXggNzM2MzI1NzcxZjViNmY2NWMzOTZhYzUzNTkwZDY4M2MyNzdkMDdh
NS4uYjQwYWMzMDJkZjFhNjE4NWNlM2I5ODdjNDk0OTBjNGU2MzRiNTdkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5
cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW1UeXBlLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25k
aXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQ
TEVfUEFZX0lOU1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUg
ewogICAgICJnZW5lcmljIiwKICAgICAicGhvbmUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbC5oCmluZGV4IDM4Y2I5ZGI0MzIwMWFlOWY3Nzg1NzlkMTQ5YTMwZGZjMTU5YmIyMGYu
LjYxN2UxODQ2OGQ3ZTU5OTk4YjQwNWViOWI5NmI4OTQ3NjhkZjkzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENo
YW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5z
dGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM4LDQg
KzM4LDQgQEAgZW51bSBjbGFzcyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCA6IHVp
bnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5T
VEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAppbmRleCBk
MDhiMTAzMTA2NGE1Mzg2ODc3Y2U1M2U1MmI0ODcwZTdlNDUwMzJlLi5lMjUwMDI3MGY2NmJkMmRi
NmI0MzMzMDU0Yzk1NjJhYWZiMDIyZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxD
aGFubmVsLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25kaXRpb25hbD1B
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lO
U1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCB7CiAg
ICAgInVua25vd24iLAogICAgICJhcHAiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYjgyNGRjODE3ZTAy
MTBiOTFjY2RkOWVmYzAxN2U3N2M5NzMzYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmgKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGF5bWVudEFQSVZlcnNpb24geworICAgIHN0
YXRpYyB1bnNpZ25lZCBjdXJyZW50KCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCmluZGV4
IGFjNzRhNGJmM2I1ZTU5YzMyZjUxZTUzODFjZmQwZmQxZGZhZTZlMDcuLjZkMmI0Y2FlZDAwYWM5
Y2Q0YTVlMDk3ZmE4MWY1Mzk0NzdmMTM5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKQEAg
LTI4LDIzICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAorI2luY2x1ZGUgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQogewot
ICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9O
X1Y4KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDc7Ci0jZWxp
ZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y5KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjdXJyZW50VmVyc2lvbiA9IDg7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Yx
MCkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA5OwotI2Vsc2UK
LSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAxMDsKLSNlbmRpZgot
Ci0gICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247CisgICAgQVNTRVJUKHZlcnNp
b24pOworICAgIHJldHVybiB2ZXJzaW9uIDw9IFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KCk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbSBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbi5tbQppbmRleCA1ODA1MWJmY2MwYTg0OGZhYTFmZDg0ZjVlMzRhZTc1ZjQ0MzRlNTUwLi43
ZTIzMTllNjk2YzI5OTE0YjA1ZWIxYjU4ZDQ5YTA3OWNlYjVjNDRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uLm1tCkBAIC04MCw4ICs4MCw2IEBAIHN0YXRpYyBQS1BheW1lbnRT
ZXR1cEZlYXR1cmVUeXBlIHBsYXRmb3JtRmVhdHVyZVR5cGUoQXBwbGVQYXlTZXR1cEZlYXR1cmVU
eXBlIGZlCiAgICAgfQogfQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQot
CiBzdGF0aWMgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIGFwcGxlUGF5SXRlbVR5cGUoUEtJ
bnN0YWxsbWVudEl0ZW1UeXBlIGl0ZW1UeXBlKQogewogICAgIHN3aXRjaCAoaXRlbVR5cGUpIHsK
QEAgLTE0NCw2ICsxNDIsNyBAQCBzdGF0aWMgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcGxh
dGZvcm1SZXRhaWxDaGFubmVsKEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaQogCiBzdGF0aWMgUmV0
YWluUHRyPGlkPiBtYWtlTlNBcnJheUVsZW1lbnQoY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0mIGl0ZW0pCiB7CisgICAgQVNTRVJUKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
Q2xhc3MoKSk7CiAgICAgYXV0byBpbnN0YWxsbWVudEl0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9j
UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtSW5zdGFuY2UoKSBpbml0XSk7CiAgICAgW2luc3RhbGxt
ZW50SXRlbSBzZXRJbnN0YWxsbWVudEl0ZW1UeXBlOnBsYXRmb3JtSXRlbVR5cGUoaXRlbS50eXBl
KV07CiAgICAgW2luc3RhbGxtZW50SXRlbSBzZXRBbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGl0ZW0u
YW1vdW50KV07CkBAIC0xNzAsMTAgKzE2OSwxMSBAQCBzdGF0aWMgT3B0aW9uYWw8QXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW0+IG1ha2VWZWN0b3JFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbAog
ICAgIH07CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0K
IHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBjcmVh
dGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24mIGNvcmVDb25maWd1cmF0aW9uLCBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRh
dGEpCiB7CisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bkNsYXNzKCkpCisgICAgICAgIHJldHVybiBuaWw7CisKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uSW5z
dGFuY2UoKSBpbml0XSk7CiAKICAgICBbY29uZmlndXJhdGlvbiBzZXRGZWF0dXJlOnBsYXRmb3Jt
RmVhdHVyZVR5cGUoY29yZUNvbmZpZ3VyYXRpb24uZmVhdHVyZVR5cGUpXTsKQEAgLTE4NSwyOSAr
MTg1LDE1IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiAKICAgICBhdXRvIG1lcmNoYW5kaXNp
bmdJbWFnZURhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29k
ZWRTdHJpbmc6Y29yZUNvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0ltYWdlRGF0YSBvcHRpb25z
OjBdKTsKICAgICBbY29uZmlndXJhdGlvbiBzZXRNZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOm1lcmNo
YW5kaXNpbmdJbWFnZURhdGEuZ2V0KCldOwotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
X0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9u
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0SW5zdGFsbG1lbnRNZXJjaGFudElkZW50
aWZpZXI6KV0gfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
c2V0UmVmZXJyZXJJZGVudGlmaWVyOildKQotICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsK
LSNlbmRpZgogICAgIFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlm
aWVyOmNvcmVDb25maWd1cmF0aW9uLm1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0UmVmZXJyZXJJZGVudGlmaWVyOmNvcmVDb25maWd1cmF0aW9uLnJlZmVycmVySWRl
bnRpZmllcl07Ci0jZW5kaWYKLSAgICAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRF
TVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudEl0ZW1zOildCi0gICAgICAgIHx8ICFb
Y29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEFwcGxpY2F0aW9u
TWV0YWRhdGE6KV0KLSAgICAgICAgfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Ioc2V0UmV0YWlsQ2hhbm5lbDopXSkKKworICAgIGlmICghUEFMOjpnZXRQS1Bh
eW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICByZXR1cm4gY29uZmlndXJhdGlv
bjsKLSNlbmRpZgorCiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1lbnRJdGVtczpjcmVh
dGVOU0FycmF5KGNvcmVDb25maWd1cmF0aW9uLml0ZW1zKS5nZXQoKV07CiAgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0QXBwbGljYXRpb25NZXRhZGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhXTsKICAgICBb
Y29uZmlndXJhdGlvbiBzZXRSZXRhaWxDaGFubmVsOnBsYXRmb3JtUmV0YWlsQ2hhbm5lbChjb3Jl
Q29uZmlndXJhdGlvbi5yZXRhaWxDaGFubmVsKV07Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShh
cHBsaWNhdGlvbk1ldGFkYXRhKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247
CiB9CkBAIC0yMTUsMTQgKzIwMSwxMiBAQCBzdGF0aWMgUmV0YWluUHRyPFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1cmF0aW9uKAogRXhjZXB0
aW9uT3I8UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbjo6Y3JlYXRlKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQogewogICAgIE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRh
ZGF0YURpY3Rpb25hcnkgPSBuaWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9J
VEVNUykKICAgICBpZiAoIWNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRhZGF0YS5pc051bGwo
KSkgewogICAgICAgICBOU0RhdGEgKmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbY29uZmlndXJhdGlv
bi5hcHBsaWNhdGlvbk1ldGFkYXRhIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29k
aW5nXTsKICAgICAgICAgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBkeW5hbWljX29i
amNfY2FzdDxOU0RpY3Rpb25hcnk+KFtOU0pTT05TZXJpYWxpemF0aW9uIEpTT05PYmplY3RXaXRo
RGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhIG9wdGlvbnM6MCBlcnJvcjpuaWxdKTsKICAgICAgICAg
aWYgKCFhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSkKICAgICAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBUeXBlRXJyb3IsICJhcHBsaWNhdGlvbk1ldGFkYXRhIG11c3QgYmUgYSBKU09O
IG9iamVjdCIgfTsKICAgICB9Ci0jZW5kaWYKIAogICAgIHJldHVybiBQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIGFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9u
YXJ5KTsKIH0KQEAgLTI0NSw2ICsyMjksOCBAQCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24gKlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OnBsYXRmb3JtQ29uZgogQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKSBjb25zdAogewogICAgIEFw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsK
KyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xhc3Mo
KSkKKyAgICAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIAogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSA9IGFwcGxlUGF5U2V0dXBGZWF0dXJlVHlw
ZShbbV9jb25maWd1cmF0aW9uIGZlYXR1cmVdKTsKIApAQCAtMjU0LDIzICsyNDAsMTIgQEAgQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbjo6YXBwbGVQYXlJbnN0YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ub3BlblRv
QnV5VGhyZXNob2xkQW1vdW50ID0gZnJvbURlY2ltYWxOdW1iZXIoW21fY29uZmlndXJhdGlvbiBv
cGVuVG9CdXlUaHJlc2hvbGRBbW91bnRdKTsKIAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gW1ttX2NvbmZpZ3VyYXRpb24gbWVyY2hhbmRpc2lu
Z0ltYWdlRGF0YV0gYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOwotCi0jaWYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBpZiAoIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihpbnN0
YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcildIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IocmVmZXJyZXJJZGVudGlmaWVyKV0pCi0gICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBpbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24ubWVyY2hhbnRJZGVudGlmaWVyID0gW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVu
dE1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLnJlZmVy
cmVySWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gcmVmZXJyZXJJZGVudGlmaWVyXTsKLSNl
bmRpZgogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKLSNpZiBQTEFU
Rk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoaW5zdGFsbG1lbnRJdGVtcyldCi0gICAgICAgIHx8ICFbbV9jb25maWd1cmF0aW9u
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25NZXRhZGF0YSldCi0gICAg
ICAgIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmV0
YWlsQ2hhbm5lbCldKQorICAgIGlmICghUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1D
bGFzcygpKQogICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotI2VuZGlm
CisKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGFwcGxpY2F0aW9uTWV0YWRhdGFTdHJpbmc7CiAg
ICAgaWYgKE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBbbV9j
b25maWd1cmF0aW9uIGFwcGxpY2F0aW9uTWV0YWRhdGFdKSB7CiAgICAgICAgIGlmIChOU0RhdGEg
KmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbTlNKU09OU2VyaWFsaXphdGlvbiBkYXRhV2l0aEpTT05P
YmplY3Q6YXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgb3B0aW9uczpOU0pTT05Xcml0aW5n
U29ydGVkS2V5cyBlcnJvcjpuaWxdKQpAQCAtMjgwLDcgKzI1NSw2IEBAIEFwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxl
UGF5SW5zdGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1zID0gbWFrZVZlY3Rv
cjxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4oW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVudEl0
ZW1zXSk7CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEg
PSBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nLmdldCgpOwogICAgIGluc3RhbGxtZW50Q29uZmln
dXJhdGlvbi5yZXRhaWxDaGFubmVsID0gYXBwbGVQYXlSZXRhaWxDaGFubmVsKFttX2NvbmZpZ3Vy
YXRpb24gcmV0YWlsQ2hhbm5lbF0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhZDUxMGZhMmQyNjU2NjlmYzEzM2Y3NDkzN2I4MTQ5ZTIwZDM2N2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW0KQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorI2ltcG9ydCAiUGF5bWVudEFQSVZlcnNpb24uaCIKKworI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCisKKyNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpCit7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7CisjaWYgSEFWRShQQVNTS0lUX05FV19C
VVRUT05fVFlQRVMpCisgICAgICAgIHJldHVybiAxMDsKKyNlbGlmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCisgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmln
dXJhdGlvbkNsYXNzKCkpIHsKKyAgICAgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3Rh
bGxtZW50SXRlbUNsYXNzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDk7CisgICAgICAgICAg
ICByZXR1cm4gODsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIHJldHVybiA3OworICAgIH0o
KTsKKyAgICByZXR1cm4gY3VycmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3OTFjMTRhNTZlOTBjZjIwMmY5M2MwOTI5
Mjg5NTM4MjE5NTkyZjA0Li4zNzAyZDlkZmY0NjJmNjEzZDAxMzhmZmRjMGM2YmVkYWU3M2NjOTRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xNTQsNiArMTU0LDcgQEAKIAkJQTExNzVCNTcxRjZCNDcwNTAwQzRCOUYwIC8qIERl
ZmF1bHRTZWFyY2hQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92
aWRlci5oICovOyB9OwogCQlBMTE3NUI1ODFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJj
aFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExMTc1QjU2MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3Bw
ICovOyB9OwogCQlBMTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1OTFG
NkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi87IH07CisJCUExNjlCMDQxMjQ4
RUYwNTIwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MDI0OEVGMDM5MDBFRThCN0Ig
LyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovOyB9OwogCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRM
aW5rLmggKi87IH07CiAJCUExRjYzQ0EwMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExp
bmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY2
M0M5RTIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tICovOyB9OwogCQlBMzBE
NDEyMTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxs
UmluZy5oICovOyB9OwpAQCAtMzQxLDYgKzM0Miw3IEBACiAJCUExMTc1QjU1MUY2QjQ3MDUwMEM0
QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU2MUY2
QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU1Njcm9sbFZpZXdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5r
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3NLaXRTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMUY2M0M5RTIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2lsbFJpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQ3NCw2ICs0NzYsNyBAQAogCQkJCTBDMkRBMTM4MUYzQkVCNDkw
MERCQzMxNyAvKiBOU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCAqLywKIAkJCQlDMTVDQkIzMjIz
RjM0QTEyMDAzMDBDQzcgLyogTlNVc2VyRGVmYXVsdHNTUEkuaCAqLywKIAkJCQk1NzBBQjhGODIw
QUY2RTNEMDBCOEJFODcgLyogTlNYUENDb25uZWN0aW9uU1BJLmggKi8sCisJCQkJQTE2OUIwNDAy
NDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAqLywKIAkJCQkwQzJE
QTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJCTBDMkRBMTNBMUYz
QkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREExM0IxRjNCRUI0OTAw
REJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTg1MCw2ICs4NTMsNyBAQAogCQkJCTBD
Nzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9wZW5HTEVTU1BJLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyogUGFzc0tpdElu
c3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjNDOUYyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNTUxRjNC
RUI0OTAwREJDMzE3IC8qIFBhc3NLaXRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlF
MUY0NTEzMEYwMEY0RUJCNiAvKiBQSVBTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggZWFmMWQ5YmUyODhm
NDE1NDdmYTc5MTYzNzBjZDA5OWJiZDM5NTZmNC4uNzdlYWRiMzRmYTEwYzQyNDlhZjVmN2RhNjZk
MzFjY2MyYjc5MDUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9Q
YXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NL
aXRTb2Z0TGluay5oCkBAIC00OSw5ICs0OSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgUEtTaGlwcGluZ01ldGhvZCkKIAogI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbikKLSNlbmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1T
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudEl0
ZW0pCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9Q
YXNzS2l0U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5tbQppbmRleCBjMWZmZjkwZDVhZDZiYWYzOGI4NWU5YmFkNTdjZDJjYjRjNzMwMTRi
Li5hYjg3M2I5YzVmYzFlNzJmN2FmZjgzNTc4NDZlNGYzZGYxNjBiNTdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtMzEsNiArMzEs
NyBAQAogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCisK
IFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwg
UGFzc0tpdCwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24s
IFBBTF9FWFBPUlQpCkBAIC0zOCwxNCArMzksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwQ29udAog
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNz
S2l0LCBQS1BheW1lbnRTZXR1cEZlYXR1cmUsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNl
dHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
Ci1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBh
c3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNl
bmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotU09GVF9MSU5LX0NM
QVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1l
bnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQogI2Vsc2UgLy8gUExBVEZP
Uk0oTUFDKQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBQYXNzS2l0LCBQQUxfRVhQT1JUKQpAQCAtNTYsMTYgKzQ5LDEzIEBAIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBGZWF0
dXJlLCBQQUxfCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBh
c3NLaXQsIFBLUGF5bWVudFNldHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBWaWV3
Q29udHJvbGxlciwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
Ci1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNlbmRpZgorI2Vu
ZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVN
UykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQorI2lmIEhBVkUoUEFTU0tJVF9J
TlNUQUxMTUVOVFMpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VY
UE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFM
X0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JU
KFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQogI2Vu
ZGlmCiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpCi0KIFNPRlRfTElOS19DTEFTU19GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtDb250YWN0LCBQQUxfRVhQT1JUKQogU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1Bhc3NM
aWJyYXJ5LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnQsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjAxNTdmNjUwOGJmZWZkNDQ5YzAwNzgyNTRjYmFlOTEwMTNjMjIwYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJ
bnN0YWxsbWVudHNTUEkuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KKyNl
cnJvciAiUGxlYXNlICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaD4gaW5zdGVh
ZCBvZiB0aGlzIGZpbGUgZGlyZWN0bHkuIgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTX0lOX1NESykKKworI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1By
aXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRlLmg+
CisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Qcml2YXRlLmg+CisKKyNlbGlmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5z
dGFsbG1lbnRJdGVtVHlwZSkgeworICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAw
LAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25lLAorICAgIFBLSW5zdGFsbG1lbnRJdGVt
VHlwZVBhZCwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVXYXRjaCwKKyAgICBQS0luc3RhbGxt
ZW50SXRlbVR5cGVNYWMsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3Rh
bGxtZW50UmV0YWlsQ2hhbm5lbCkgeworICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsVW5r
bm93biA9IDAsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxBcHAsCisgICAgUEtJbnN0
YWxsbWVudFJldGFpbENoYW5uZWxXZWIsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxJ
blN0b3JlLAorfTsKKwordHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVl
c3RUeXBlKSB7CisgICAgUEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCit9Owor
CitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0
IDxOU1NlY3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVu
dEl0ZW0gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQ
YXltZW50ICgpIDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U1N0cmluZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47CitAZW5kCisKK0BpbnRlcmZh
Y2UgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBlIGZlYXR1cmU7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOworQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpvcGVuVG9CdXlUaHJl
c2hvbGRBbW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1i
ZXIgKmJpbmRpbmdUb3RhbEFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0
cmluZyAqY3VycmVuY3lDb2RlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgZ2V0dGVy
PWlzSW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQdXJjaGFzZTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnJlZmVycmVySWRlbnRpZmllcjsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLUGF5bWVudEluc3RhbGxtZW50
SXRlbSAqPiAqaW5zdGFsbG1lbnRJdGVtczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICphcHBsaWNhdGlvbk1ldGFkYXRhOworQHByb3Bl
cnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWls
Q2hhbm5lbDsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKCkK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSBpbnN0
YWxsbWVudEl0ZW1UeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51
bWJlciAqYW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJy
ZW5jeUNvZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1J
ZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51bWJlciAq
YXByOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtVGVybXM7
CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3VyZUNvZGluZz4K
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOworQGVuZAor
CitAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgc3Ryb25nKSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVu
dFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkg
TlNTdHJpbmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOworQGVuZAorCisjZW5kaWYgLy8g
SEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCAwMTgwMTdlZDMwMjcxY2MzZTliNTMwN2JmMmU2NzE2
YWQwZTIzNTEwLi45ZWU3MmU3OGNhM2IyNzYzNjBhMzlkYWI5YzY1N2Y2ODMxM2JkYzBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC00NCwy
NCArNDQsMjEgQEAgV1RGX0VYVEVSTl9DX0VORAogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRQ
YXNzLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJv
bGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudE1ldGhvZC5oPgotI2lt
cG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NL
aXQvUEtQYXltZW50UmVxdWVzdFN0YXR1cy5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRT
ZXR1cENvbmZpZ3VyYXRpb25fV2ViS2l0Lmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNl
dHVwQ29udHJvbGxlci5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cFJlcXVlc3Qu
aD4KLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5o
PgogI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdF9XZWJLaXQuaD4KIAotI2lm
IEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1l
bnRfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJp
dmF0ZS5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8UGFz
c0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIuaD4KICNlbmRpZgogCisjaWYg
IUhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJl
cXVlc3RfUHJpdmF0ZS5oPgorI2VuZGlmCisKICNlbHNlCiAKICNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgpAQCAtMzM2LDQyICszMzMsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJ
bnRlZ2VyLCBQS1BheW1lbnRTZXR1cEZlYXR1cmVTdXBwb3J0ZWRPcHRpb25zKSB7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0FycmF5IDxQS1BheW1lbnRTZXR1cEZlYXR1cmUgKj4g
KnBheW1lbnRTZXR1cEZlYXR1cmVzOwogQGVuZAogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKLQotdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudEl0ZW1UeXBl
KSB7Ci0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCi0gICAgUEtJbnN0YWxs
bWVudEl0ZW1UeXBlUGhvbmUsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGFkLAotICAgIFBL
SW5zdGFsbG1lbnRJdGVtVHlwZVdhdGNoLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZU1hYwot
fTsKLQotdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7
Ci0gICAgUEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCi19OwotCi1AaW50ZXJm
YWNlIFBLUGF5bWVudCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgTlNTdHJpbmcgKmluc3RhbGxtZW50QXV0aG9yaXphdGlvblRva2VuOwotQGVuZAotCi1A
aW50ZXJmYWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKLUBlbmQKLQotQGludGVyZmFj
ZSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVD
b2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1
cmVUeXBlIGZlYXR1cmU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJj
aGFuZGlzaW5nSW1hZ2VEYXRhOwotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNp
bWFsTnVtYmVyICpvcGVuVG9CdXlUaHJlc2hvbGRBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKmJpbmRpbmdUb3RhbEFtb3VudDsKLUBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOwotQHByb3BlcnR5IChu
b25hdG9taWMsIGFzc2lnbiwgZ2V0dGVyPWlzSW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQ
dXJjaGFzZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVt
VHlwZSBpbnN0YWxsbWVudEl0ZW1UeXBlOwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5T
U3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOwotQGVuZAotCi0jZW5kaWYK
LQogQGludGVyZmFjZSBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gOiBOU09iamVjdCA8TlNTZWN1
cmVDb2RpbmcsIE5TQ29weWluZz4KIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aERpY3Rpb25hcnk6
KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnk7CiBAZW5kCkBAIC0zOTYsMjAgKzM1NywxNSBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMs
IHN0cm9uZykgTlNTdHJpbmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKLSNpZiBIQVZF
KFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1
ZXN0VHlwZTsKKyNpZiBIQVZFKFBBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRp
ZmllcjsKICNlbmRpZgogQGVuZAogCisjaWYgIUhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiBA
aW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3Np
Z24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CiBAZW5kCi0KLSNpZiBIQVZFKFBB
U1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCi1AaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3QgKCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRl
cmZhY2VJZGVudGlmaWVyOwotQGVuZAogI2VuZGlmCiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORApA
QCAtNDUyLDkgKzQwOCw2IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAZW5kCiAKIEBpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgOiBQS1BheW1lbnRSZXF1
ZXN0VXBkYXRlCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXI7Ci0jZW5k
aWYKIEBlbmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250YWN0VXBk
YXRlIDogUEtQYXltZW50UmVxdWVzdFVwZGF0ZQpAQCAtNDg0LDMgKzQzNyw3IEBAIE5TX0FTU1VN
RV9OT05OVUxMX0JFR0lOCiB0eXBlZGVmIHZvaWQoXlBLQ2FuTWFrZVBheW1lbnRzQ29tcGxldGlv
bikoQk9PTCBpc1ZhbGlkLCBOU0Vycm9yICopOwogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKKwor
I2RlZmluZSBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04K
KyNpbXBvcnQgIlBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCIKKyN1bmRlZiBQQUxfUEFTU0tJVF9T
UElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IDJhYzdkYTc2OTNmYjgxNWI4NjI3MzgxYTA3YWIyYWYwYjc3ZjExYTIuLjJmOGI0MjYy
YjcwNzYzMjE1NDQxYjA4MTJhM2IzMGE3OGY2NDcyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4
dApAQCAtNjEzLDYgKzYxMyw3IEBAIFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3Bw
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5tbQogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCiAKKyAgICBNb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENv
bnRhY3RDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudE1lcmNoYW50
U2Vzc2lvbkNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZDUzMzdjOTU2MDJmNDFmZjlhZDQ1ZjBiZGU3NTY5NTA2YjQ1
ODJlOS4uZTI5NjFkMDllODMxYWY2ZWU2OTQzM2IwNzY5MGVjMjc3NmYzZDI0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzA0
Miw2ICszMDQyLDcgQEAKIAkJQTE2NzdFMEUyMTNFMDJBMDAwQTA4QzM0IC8qIEFkZHJlc3NFcnJv
cnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3
RTBCMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggKi87IH07CiAJCUExNjc3RTEz
MjEzRTAzQzYwMEEwOEMzNCAvKiBKU0FkZHJlc3NFcnJvcnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTExMjEzRTAzQzUwMEEwOEMzNCAvKiBK
U0FkZHJlc3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTcyMTNFMDNGMTAwQTA4QzM0IC8qIEpT
UGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5o
ICovOyB9OworCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQy
MjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovOyB9OwogCQlBMTc2M0Yz
RjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc2M0YzRDFFMjA1MjM0MDAxRDU4
REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE3NjNGNDExRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0
d29yay5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAq
LzsgfTsKIAkJQTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3QzgxMjEw
RjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovOyB9OwpAQCAtMTE2MDYs
NiArMTE2MDcsOCBAQAogCQlBMTY3N0UxNTIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9y
RmllbGRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZp
ZWxkcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTY3N0UxNjIxM0UwM0YwMDBB
MDhDMzQgLyogSlNQYXllckVycm9yRmllbGRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExNjc3RTI0MjE0NDUzMjgwMEEwOEMzNCAvKiBKU1BheW1lbnRNZXRob2RDaGFu
Z2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BheW1lbnRNZXRob2RDaGFu
Z2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQy
MjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YXltZW50QVBJVmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0
NTI0OEYwNDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUExNzYzRjNDMUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1
cHBvcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBcmNo
aXZlRHVtcFN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjNE
MUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjQwMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDRk5ldHdvcmsuZnJhbWV3b3JrOyBwYXRoID0g
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gU0RLUk9PVDsgfTsKQEAgLTE3NDk5LDYgKzE3NTAyLDcgQEAKIAkJCQkxQThBNjQ0RjFEMTlG
Q0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCAqLywKIAkJCQkx
QThBNjQ1MDFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
aWRsICovLAogCQkJCTFBOEE2NDM3MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50LmggKi8sCisJ
CQkJQTE2OUIwNDIyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi8sCiAJ
CQkJMUFFOTZBODYxRDFBMENFQjAwQjg2NzY4IC8qIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
LmggKi8sCiAJCQkJMUE4QTY0MzgxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Lmgg
Ki8sCiAJCQkJMUE1OEU4NkIxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvci5j
cHAgKi8sCkBAIC0xNzUyNCw2ICsxNzUyOCw3IEBACiAJCTFBNThFODY5MUQxOUQ4QzAwMEMwRUE3
MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0g
Ki8sCiAJCQkJMUE4QTY0NjkxRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb2NvYS5tbSAqLywK
IAkJCQkxQThBNjQ2QTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3RDb2NvYS5tbSAq
LywKIAkJCQkxQURBNEExQjFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vzc2lv
bkNvY29hLm1tICovLApAQCAtMzI0NDAsNiArMzI0NDUsNyBAQAogCQkJCUExNjc3RTA4MjEzRTAy
NEMwMEEwOEMzNCAvKiBQYXllckVycm9yRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThB
NjQzQTFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFG
NzZCNDMxRjQ0Q0Y3RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRTk2QTg4MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCNUIxRjQ0RDNCMjAwMTRD
MzE4IC8qIFBheW1lbnRDb21wbGV0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0M0IxRDE5
RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2
ODg3NGU1ZmMyOTAwNDVhOGMxM2ZmYzU5ZWU1ZDlmN2Q3YTBhNWM5Li5lZTgwNmE4NDYxOWYxMDUy
MzljZDY0ZmUxNTU2ZDkxMTg2MGFlODM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDYt
MDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXld
IEVuYWJsZSBsYXlvdXQgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNjQxNzQxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtcy5odHRwcy5odG1sOiBDaGFuZ2VkIHRvIGZhaWwgaW5zdGVhZCBvZgorICAgICAgICB0aW1l
IG91dCB3aGVuIEFQSSB2ZXJzaW9uIDkgaXNuJ3Qgc3VwcG9ydGVkLgorCisgICAgICAgICogaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNS5odG1sOiBSZW1vdmVkIGEg
Y3VzdG9tIGVsZW1lbnQtY2xpY2tpbmcgZnVuY3Rpb24KKyAgICAgICAgYW5kIHVzZWQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50IGluc3RlYWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnM6IFVuLXNraXBwZWQgaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkuCisg
ICAgICAgIE1hcmtlZCBQYXltZW50UmVxdWVzdC5odHRwcy5odG1sIGFzIFNsb3cuIE1hcmtlZCBB
cHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBhcworICAgICAgICBGYWlsdXJlLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBhIHRy
YWlsaW5nICcvJy4gU2tpcHBlZAorICAgICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0
cHMuaHRtbCBvbiBNb2phdmUgYW5kIG1hcmtlZCBpdCBhcyBGYWlsdXJlIG9uIENhdGFsaW5hLgor
CiAyMDIwLTA2LTA4ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgR2FyZGVuaW5nLCByZW1vdmUgdGVzdHMgcGFzc2luZyBhZnRlciByMjYyNzE2CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9y
Lmh0bWwKaW5kZXggMWY5MzEyNTc1ZTViZjUxMTdhZGYwNzg2ZDIyNjFhNjkzNmQ3YzFhMi4uNjhm
Yjg0YTYwZDZiNWVkNTI1MGRmZjgwNTc5NGE0MmJjZjgwZTQ1NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbApAQCAt
Miw3ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC01NCwyNiArNTUsMTIgQEAKICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVs
ZW1lbnQpIHsKLSAgICAgICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgICAg
ICBsZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAgICAgICB2YXIgc3VwcG9ydHNU
b3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7Ci0gICAgICAgIGlmIChzdXBwb3J0
c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3Jp
cHQpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsg
dWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0p
OyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAgICAgIH0gZWxzZSBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsK
LSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewotICAgICAgICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiYnV0dG9uIikpOworICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogICAgIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9uIG9u
Y2xpY2s9J2dvKCknPkdvPC9idXR0b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbAppbmRleCBlYjc1YzQzMGE4N2MzYjI0YTA3ZDA3OGI3
NjU4MWIzOTgzYmRkMDliLi43YjE3Mjk0YTliOThhM2EwMTg2ZDhjNTk1ZmNhOTMwZmE4M2YzOGNk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbApAQCAtNjIs
NiArNjIsMTIgQEAgbGV0IHZhbGlkUmVxdWVzdCA9ICgpID0+IHsKIAogYWN0aXZhdGVUaGVuKCgp
ID0+IHsKIAorICAgIGlmICghQXBwbGVQYXlTZXNzaW9uLnN1cHBvcnRzVmVyc2lvbihhcGlWZXJz
aW9uKSkgeworICAgICAgICB0ZXN0RmFpbGVkKGBUaGlzIGJ1aWxkIGRvZXMgbm90IHN1cHBvcnQg
QVBJIHZlcnNpb24gJHthcGlWZXJzaW9ufS5gKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBkZWJ1ZygnVGVzdCBpbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24uaXRlbXMnKTsKICAgICBzaG91bGRUaHJvdygncmVxdWVzdCA9IHZhbGlkUmVxdWVz
dCgpOyByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IDQ7IG5ldyBBcHBs
ZVBheVNlc3Npb24oYXBpVmVyc2lvbiwgcmVxdWVzdCknKTsKICAgICBzaG91bGRUaHJvdygncmVx
dWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5p
dGVtcyA9ICIiOyBuZXcgQXBwbGVQYXlTZXNzaW9uKGFwaVZlcnNpb24sIHJlcXVlc3QpJyk7CkBA
IC0xMDcsOCArMTEzLDYgQEAgYWN0aXZhdGVUaGVuKCgpID0+IHsKICAgICBkZWJ1ZygnJyk7CiAK
ICAgICBkZWJ1ZygnVGVzdCBwbGF0Zm9ybSBjb252ZXJzaW9uJyk7Ci0gICAgbGV0IHNlc3Npb24g
PSBuZXcgQXBwbGVQYXlTZXNzaW9uKGFwaVZlcnNpb24sIHZhbGlkUmVxdWVzdCgpKTsKLSAgICBz
ZXNzaW9uLmJlZ2luKCk7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcy5sZW5ndGgnLCAnMicpOwogICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24uaXRlbXNbMF0udHlwZScsICdleHBlY3RlZEl0ZW1UeXBlJyk7CiAgICAgc2hv
dWxkQmUoJ2ludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmluc3RhbGxtZW50Q29uZmln
dXJhdGlvbi5pdGVtc1swXS5hbW91bnQnLCAnZXhwZWN0ZWRJdGVtQW1vdW50Jyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24u
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5odG1sCmluZGV4IGYxMGQxYjliNWY5NTI2MmI5N2E1YzZjMWIwZGU0MDM3NzhhM2FlNmMuLjIw
MWU3ZDNjNmMwN2Q0NWE2ZGRjM2U1NmIyYTdhNmIwYzZlN2QxZDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1s
CkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjMwLDI2ICsyMzEsMTIgQEAgZnVuY3Rpb24gZ28oKSB7
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50
KSB7Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgIGxldCB5ID0gZWxl
bWVudC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91
Y2hFdmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQ
b2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9
KTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiYnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdn
bygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCmluZGV4IDJh
MDIwM2FmOTllYzM0OTdjNzhiZTRhZDliODI1Y2VmMGQzYWE3MmYuLmE1MWUyMTYwNzI0ZmNmOTE3
Nzg1ODEwZmJkYzNlNTQyOGMwZmNlNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbApAQCAtMiw3ICsy
LDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KQEAgLTczLDI2ICs3NCwxMiBAQCBmdW5jdGlvbiBnbygpIHsKICAgICBmaW5pc2hK
U1Rlc3QoKTsKIH0KIAotZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKLSAgICBsZXQg
eCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIDI7Ci0gICAgbGV0IHkgPSBlbGVtZW50Lm9mZnNldFRv
cCArIDI7Ci0KLSAgICB2YXIgc3VwcG9ydHNUb3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3
aW5kb3c7Ci0gICAgaWYgKHN1cHBvcnRzVG91Y2hFdmVudHMgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkgewotICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2Ny
aXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7
eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtgLCBmdW5jdGlvbiAoKSB7IH0pOwotICAgIH0gZWxz
ZSBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHgsIHkpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgpOwotICAgIH0KLX0KLQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgewotICAgIGNsaWNrRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7
CisgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbiIpKTsKIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0
b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWwKaW5kZXggYTE4YzMyN2E3YzE2OTVj
M2EzMDkzZDVhZmI4ZGVkMDRlOGZlYjJhNi4uMmU5YjY5OThiNzE3ODY4YWFjZWI5ODk1NmYwODVi
ZmI1ZmI0NDc2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNC5odG1sCkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+
CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAt
NjEsMjYgKzYyLDEyIEBAIGZ1bmN0aW9uIGdvKCkgewogICAgIGZpbmlzaEpTVGVzdCgpOwogfQog
Ci1mdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkgewotICAgIGxldCB4ID0gZWxlbWVudC5v
ZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAg
IHZhciBzdXBwb3J0c1RvdWNoRXZlbnRzID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsKLSAgICBp
ZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVy
LnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlv
bigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24o
KSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0g
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7Ci0gICAgfQotfQotCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY2xp
Y2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogfQog
CiA8L3NjcmlwdD4KIDxidXR0b24gb25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uVjUuaHRtbAppbmRleCAzNzg5MGE3YTU4YTEwMGFjYzMyMDkxNzNiNjQw
N2VhNzQwNjBlNjQxLi5iNTYwYTZjM2M5ZmFjYTU5NzdkNGRjMDBhM2YxNDYyNDM3MjJhY2I1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvblY1Lmh0bWwKQEAgLTIsNyArMiw4IEBACiA8aHRtbD4KIDxoZWFkPgogPG1l
dGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC01NywyNiArNTgsMTIg
QEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGNs
aWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAy
OwotICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1cHBvcnRz
VG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBwb3J0c1Rv
dWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRy
b2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7
YCwgZnVuY3Rpb24gKCkgeyB9KTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9
Ci19Ci0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2NyaXB0Pgog
PGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MjZiODE4NTY1
NjVkMTg5Y2UwZmVkMDkyZWZjNDcxOTkzM2JlMjBhLi5jNzg4Mjc4YmQwNDU4MWRkMzc4MzA2NmI1
ZTZkZTI4MGI3MDk1YzgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC00Myw3ICs0MywxMCBAQCBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9y
dC1maXQtY29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1m
aXQtY292ZXIuaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWF1
dG8uaHRtbCBbIFNraXAgXQogCi1odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUJpbGxp
bmdBZGRyZXNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBd
Cit3ZWJraXQub3JnL2IvMjEyOTc1IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1
ZXN0Lmh0dHBzLmh0bWwgWyBTbG93IF0KKword2Via2l0Lm9yZy9iLzIxMjk5OCBodHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBbIEZhaWx1
cmUgXQogCiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlMDMzN2I3OTkwZDM0
YzdjYzE2MDA2ZDAxMGQ0ZTJkM2YzMjljYTMuLmNkYWZiM2MyZGJiMTJjYTE1MTRlZmQ3YWNmNGRj
MWYxMDQ2ZTBhYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTM0LDEzICszNCwxMyBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9y
cy1saXZlLXVwZGF0ZS1pbi1zdWJmcmFtZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1t
b25vY2hyb21lLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJlZmVy
cy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5LyBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0K
IAotIyBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxhYmxl
IGluIENhdGFsaW5hLgorIyBBUFBMRV9QQVlfSU5TVEFMTE1FTlRTIHdhcyBmaXJzdCBhdmFpbGFi
bGUgaW4gQ2F0YWxpbmEuCiBbIE1vamF2ZSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK1sgTW9qYXZl
IF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KIAotIyBBcHBsZVBheUluc3RhbGxtZW50SXRlbSBpcyBub3QgYXZhaWxh
YmxlIGluIE1vamF2ZSBvciBDYXRhbGluYS4KLVsgTW9qYXZlIENhdGFsaW5hIF0gaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8yMTI5OTggWyBDYXRhbGluYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiAKIGZh
c3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBh
c3MgXQogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1o
ZWFkZXItZm9vdGVyLmh0bWwgIFsgUGFzcyBdCkBAIC0xMDQxLDQgKzEwNDEsNCBAQCB3ZWJraXQu
b3JnL2IvMjEyNzIxIHN2Zy9jdXN0b20vdGV4dFBhdGgtY2hhbmdlLWlkLnN2ZyBbIFBhc3MgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEyODI0IFsgRGVidWcgXSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWF1ZGlvbm9k
ZS1pbnRlcmZhY2UvYXVkaW9ub2RlLWRpc2Nvbm5lY3QtYXVkaW9wYXJhbS5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcv
bWFjL3Njcm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVv
dXQgXQotd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Nj
cm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1l
b3V0IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjEyMDQyIFsg
RGVidWcgXSBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3Jv
bGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401542</attachid>
            <date>2020-06-10 08:04:01 -0700</date>
            <delta_ts>2020-06-16 08:35:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200610080400.patch</filename>
            <type>text/plain</type>
            <size>60463</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5OWM3MzUwYTA4MTQwZmNlY2UxMjg2
NDY1ZmJlYWY2YTQyNmE2YjQuLjgzODY3YTYzYTc3OTk4MWY2Y2RmOGE2NzhlMzNiYWM0MjFmZjkz
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmg6IFJlbW92ZWQgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVO
VElGSUVSUywKKyAgICAgICAgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywgRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4LAorICAgICAgICBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjksIGFuZCBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEwLgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybUhhdmUuaDogUmVtb3ZlZCBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlMgYW5kIGNvcnJlY3RlZCBpT1MgdmVyc2lvbgorICAgICAgICBjaGVja3MgZm9yIEhBVkVfUEFT
U0tJVF9JTlNUQUxMTUVOVFMuCisKIDIwMjAtMDYtMDggIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWRvcHQgcmVhZC1vbmx5IG1vZGUgZm9y
IHByZWZlcmVuY2VzIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNzI3
MTYxNDA4NDU0MDUxMGI3MzUwYmVjNzM2YmM2NzViZTVkYTkyLi42YmVjMTIwOTRiNWNkZTA3ODkz
ZTdiZjEwNDIxNjVlY2E5NzZkNDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAt
MDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQ
YXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNl
bi4KKworICAgICAgICBBZGRlZCBydW50aW1lIGNoZWNrcyB0byBkZXRlcm1pbmUgdGhlIEFwcGxl
IFBheSBBUEkgdmVyc2lvbiB3aGVuIGluc3RhbGxtZW50cyBhcmUgZW5hYmxlZC4KKworICAgICAg
ICBFbmFibGVkIHRlc3RzIGluIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IG9uIGlPUy4KKworICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb25XZWJDb3JlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW1UeXBlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbVR5cGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbDogUmVtb3ZlZCB1c2VzIG9mCisg
ICAgICAgIEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyBhbmQgQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TIChvciByZXBsYWNlZCB3aXRoCisgICAgICAgIEFQUExFX1BBWV9JTlNU
QUxMTUVOVFMpLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25D
b2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KTog
TW92ZWQgdGhlIGNvbXB1dGF0aW9uIG9mIGN1cnJlbnQgQVBJIHZlcnNpb24gZnJvbQorICAgICAg
ICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbiB0byBoZXJlLiBBZGRl
ZCBydW50aW1lIGNoZWNrcyB0byBkZXRlcm1pbmUgdGhlCisgICAgICAgIGxldmVsIG9mIFBhc3NL
aXQgaW5zdGFsbG1lbnRzIHN1cHBvcnQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggaW5mb3Jt
YXRpb24gdG8gdGVsbCBhdAorICAgICAgICBjb21waWxlIHRpbWUuCisKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbik6IENoYW5nZWQg
dG8gY2FsbAorICAgICAgICBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudC4KKworICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VOU0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudElu
c3RhbGxtZW50Q29uZmlndXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uIGNvbnN0KTogUmVtb3ZlZAorICAgICAgICB1c2VzIG9mIEhBVkVfUEFTU0tJVF9JTlNUQUxM
TUVOVF9JVEVNUyBhbmQgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTLiBVc2Vk
CisgICAgICAgIHJ1bnRpbWUgY2hlY2tzIHRvIGRldGVybWluZSBzdXBwb3J0IGZvciBQS1BheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gYW5kCisgICAgICAgIFBLUGF5bWVudEluc3RhbGxt
ZW50SXRlbS4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBzb3VyY2UgZmlsZXMgZm9yIFBheW1l
bnRBUElWZXJzaW9uLgorCiAyMDIwLTA2LTA4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNv
bT4KIAogICAgICAgICBFeHRlbmRlZCBDb2xvcjogUmVuYW1lIENvbG9yOjpsaWdodGVuKCkgYW5k
IENvbG9yOjpkYXJrZW4oKSB0byBDb2xvcjo6bGlnaHRlbmVkKCkgYW5kIENvbG9yOjpkYXJrZW5l
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhZDI0N2JlMjc2ODYxOTQwYzczYTYyMjRkNjRhYWU2
YmU4MjM2NzFkLi5iN2Y5YThmMTQ1M2RlZDA0MmVkMWQ4NTllMTE0MWJlNmE1ZWY5YWU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0
ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4K
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFBhc3NL
aXQgYWRkZWQgU1BJcyBmb3IgQXBwbGUgUGF5IGluc3RhbGxtZW50cyBvdmVyIGEgc2VyaWVzIG9m
IGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEKKyAgICAgICAgbWlub3IgdXBkYXRlcy4gV2ViS2l0
IHRydW5rIGlzIHN0aWxsIGJ1aWx0IGFjcm9zcyBhIHJhbmdlIG9mIGlPUyAxMyBhbmQgbWFjT1Mg
Q2F0YWxpbmEgbWlub3IKKyAgICAgICAgdXBkYXRlIFNES3MgdGhhdCBjb250YWluIG5vbmUsIHNv
bWUsIG9yIGFsbCBvZiB0aGUgaW5zdGFsbG1lbnQgU1BJcy4gSXQncyBub3QgcG9zc2libGUgdG8K
KyAgICAgICAgcmVsaWFibHkgZGV0ZWN0IHRoZSBTREsgbWlub3IgdmVyc2lvbiBhdCBjb21waWxl
LXRpbWUsIHNvIGluc3RlYWQgd2Ugbm93IHVzZSBvdXIgb3duIFNQSQorICAgICAgICBkZWNsYXJh
dGlvbnMgdW5sZXNzIHdlIGtub3cgYWxsIG1pbm9yIHZlcnNpb25zIG9mIHRoZSBtYWpvciBTREsg
dmVyc2lvbiBjb250YWluIGFsbCBvZiB0aGUKKyAgICAgICAgaW5zdGFsbG1lbnRzIGRlZmluaXRp
b25zLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIFBh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaC4KKworICAgICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29m
dExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tOiBVc2VkIFNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUIG9uIGJvdGgKKyAg
ICAgICAgTWFjIGFuZCBpT1MgdG8gc29mdC1saW5rIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmln
dXJhdGlvbiBhbmQgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLgorCisgICAgICAgICogcGFsL3Nw
aS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRTUEkuaDogQWRkZWQuIFdoZW4gYnVpbGRpbmcgYWdh
aW5zdCBhbiBTREsgdGhhdCBpcyBrbm93bgorICAgICAgICB0byBkZWNsYXJlIHRoZSBQYXNzS2l0
IGluc3RhbGxtZW50cyBTUElzLCB0aGlzIGZpbGUgaW5jbHVkZXMgdGhlIFNQSSBoZWFkZXJzLiBP
dGhlcndpc2UsIGl0CisgICAgICAgIGRlY2xhcmVzIHRoZSBTUElzLgorICAgICAgICAqIHBhbC9z
cGkvY29jb2EvUGFzc0tpdFNQSS5oOiBNb3ZlZCBQYXNzS2l0IGluc3RhbGxtZW50cyBTUEkgZGVj
bGFyYXRpb25zIHRvCisgICAgICAgIFBhc3NLaXRJbnN0YWxsbWVudFNQSS5oLgorCiAyMDIwLTA2
LTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJD
b3JlOiBHdWFyZCBfcHJlY29ubmVjdCBkZWNsYXJhdGlvbiB3aXRoIEVOQUJMRShTRVJWRVJfUFJF
Q09OTkVDVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2Eu
aCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRleCA1M2QxOWNiYjBj
OTY2NzE4OGFhYWIyYzhlNzVkNzBkZTZlYjljYmMyLi5iOTU3ZDNmMzYwMmQzMzEyZjBhNTIxMDcw
YmMwNzljMzBhODcxN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJs
ZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC01
NSwxNCArNTUsNiBAQAogI2RlZmluZSBFTkFCTEVfQU5JTUFURURfS0VZQk9BUkRfU0NST0xMSU5H
IDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9J
REVOVElGSUVSUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2Rl
ZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIDEKLSNlbmRpZgot
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykgJiYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BB
WV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiAjZGVmaW5lIEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgpAQCAtNzEsMTggKzYzLDYgQEAK
ICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4KSAmJiBIQVZFKFBBU1NLSVRf
SU5TVEFMTE1FTlRTKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjggMQotI2Vu
ZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkpICYmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1Y5IDEKLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1YxMCkgJiYgSEFWRShQQVNTS0lUX05FV19CVVRUT05fVFlQRVMpCi0jZGVmaW5lIEVOQUJMRV9B
UFBMRV9QQVlfU0VTU0lPTl9WMTAgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQ
TEVfUEFZX1JFTU9URV9VSSkgJiYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShB
UFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSkK
ICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkgMQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oCmluZGV4IDBhOTJlOTAzYTMyM2FmMzA1ZTVlZjE2OWQzMmViOTg0MTMwMGU5MzguLjNk
NjdmOTQyZDI5YzhhYmJlZjdjZjNkY2VmZjMxZGI0ZGNjZTJhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oCkBAIC04OSwxMiArODksNiBAQAogI2RlZmluZSBIQVZFX0FWU1RSRUFNU0VTU0lPTiAxCiAj
ZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9CSUxMSU5H
X0FERFJFU1MpCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9QQVNTS0lU
X1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCi0jZW5kaWYKLSNlbmRpZgotCiAjaWYg
IWRlZmluZWQoVVNFX1VJS0lUX0tFWUJPQVJEX0FERElUSU9OUykgJiYgKFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKQogI2RlZmluZSBVU0VfVUlLSVRfS0VZQk9BUkRfQURE
SVRJT05TIDEKICNlbmRpZgpAQCAtNjE2LDE0ICs2MTAsMTIgQEAKICNkZWZpbmUgSEFWRV9QQVNT
S0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwNDAwKSBcCi0gICAgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCi0j
ZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVF9JREVOVElGSUVSUyAxCisjaWYgUExBVEZP
Uk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCiAjZW5k
aWYKIAotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEzMDAwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEzMDEw
MCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKKyNp
ZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRI
T0RfQklMTElOR19BRERSRVNTIDEKICNlbmRpZgogCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uaWRsCmluZGV4IGYzZGMxNzg5N2I1ZjlmMjk5YjNhZWZiODVjNWEyZjI3ZTRlYzhlYTEuLmM4
NzhjODBhYWUxNTI2ODQ1OTc4NmE3ODlhZGEwYjdhZDQzODg4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsCkBAIC0zNCw5ICszNCw5IEBACiAgICAgRE9NU3RyaW5n
IGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBET01TdHJpbmcgY3VycmVuY3lDb2RlOwogICAgIGJv
b2xlYW4gaXNJblN0b3JlUHVyY2hhc2U7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNU
QUxMTUVOVF9JREVOVElGSUVSU10gRE9NU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllcjsKLSAgICBb
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJRVJTXSBET01TdHJpbmcg
cmVmZXJyZXJJZGVudGlmaWVyOwotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1F
TlRfSVRFTVNdIHNlcXVlbmNlPEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtPiBpdGVtczsKLSAgICBb
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBKU09OIGFwcGxpY2F0aW9u
TWV0YWRhdGE7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNU10g
QXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5lbCA9ICJ1bmtub3du
IjsKKyAgICBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOworICAgIERPTVN0cmluZyByZWZl
cnJlcklkZW50aWZpZXI7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0
ZW1zOworICAgIEpTT04gYXBwbGljYXRpb25NZXRhZGF0YTsKKyAgICBBcHBsZVBheUluc3RhbGxt
ZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb25XZWJDb3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCmluZGV4IDdjMzEzMWJjZDMw
ZDExZDNmYWQwMWQzNTU4YTM1MzY2ZWY4NDg2ZDkuLmM2NTM5YjA0Y2FkODE0Y2M2YzE3ZjdlMGUz
N2NlZTYyNTNlZDQ0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
bldlYkNvcmUuaApAQCAtNDIsMTUgKzQyLDExIEBAIHN0cnVjdCBBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbiB7CiAgICAgU3RyaW5nIGJpbmRpbmdUb3RhbEFtb3VudDsKICAgICBTdHJp
bmcgY3VycmVuY3lDb2RlOwogICAgIGJvb2wgaXNJblN0b3JlUHVyY2hhc2UgeyBmYWxzZSB9Owot
I2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCiAgICAgU3RyaW5n
IG1lcmNoYW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcgcmVmZXJyZXJJZGVudGlmaWVyOwotI2Vu
ZGlmCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKICAgICBWZWN0b3I8
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwogICAgIFN0cmluZyBhcHBsaWNhdGlvbk1l
dGFkYXRhOwogICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHJldGFpbENoYW5u
ZWwgeyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbDo6VW5rbm93biB9OwotI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKaW5kZXggZTZj
YWEyYTBjZTBhMTQwOWY3Zjk0YTM1NWQxYmQwNGU4MWI4NTE5ZC4uZTlmODhjN2UxNzk5NWVkMjk3
NzgwOWMwNmI3NjgxYzI2N2EzMGNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRf
SVRFTVMpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAKICNpbmNsdWRlICJB
cHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KQEAgLTQzLDQgKzQzLDQgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtIHsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9J
TlNUQUxMTUVOVF9JVEVNUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5U
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50SXRlbS5pZGwKaW5kZXggMTU1YTZkNjk5NDIxNzhhYTdiNmNmZmRjNzY4
NjU3OGZmZDFjZGU4Ni4uZGM2MTVlNjBhNDJiZjBhN2MxYjE1NDgxYzVlNmQ3OWZmZWQ2MTRmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50SXRlbS5pZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBbCi0gICAg
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TLAorICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWV9JTlNUQUxMTUVOVFMsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBdIGRp
Y3Rpb25hcnkgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogICAgIEFwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtVHlwZSB0eXBlID0gImdlbmVyaWMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKaW5k
ZXggMmRjZmJlNjhjMmEyMWRmNTY4NTNiY2FkZWE5NzNmYWZlMDRiZGUxNi4uYzMzODFmZDFkYzM1
MmU3YjMzNTNlZGJjMzI0NzE2MGY1OTY3NmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5o
CkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9JTlNUQUxMTUVOVF9JVEVNUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw0ICszOSw0IEBAIGVudW0gY2xhc3MgQXBw
bGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIDogdWludDhfdCB7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCisj
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtVHlwZS5pZGwKaW5kZXggNzM2MzI1NzcxZjViNmY2NWMzOTZhYzUzNTkwZDY4M2MyNzdkMDdh
NS4uYjQwYWMzMDJkZjFhNjE4NWNlM2I5ODdjNDk0OTBjNGU2MzRiNTdkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5
cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW1UeXBlLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25k
aXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQ
TEVfUEFZX0lOU1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUg
ewogICAgICJnZW5lcmljIiwKICAgICAicGhvbmUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbC5oCmluZGV4IDM4Y2I5ZGI0MzIwMWFlOWY3Nzg1NzlkMTQ5YTMwZGZjMTU5YmIyMGYu
LjYxN2UxODQ2OGQ3ZTU5OTk4YjQwNWViOWI5NmI4OTQ3NjhkZjkzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENo
YW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5z
dGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJMRShB
UFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM4LDQg
KzM4LDQgQEAgZW51bSBjbGFzcyBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCA6IHVp
bnQ4X3QgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5T
VEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAppbmRleCBk
MDhiMTAzMTA2NGE1Mzg2ODc3Y2U1M2U1MmI0ODcwZTdlNDUwMzJlLi5lMjUwMDI3MGY2NmJkMmRi
NmI0MzMzMDU0Yzk1NjJhYWZiMDIyZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxD
aGFubmVsLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25kaXRpb25hbD1B
UFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lO
U1RBTExNRU5UUywKIF0gZW51bSBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCB7CiAg
ICAgInVua25vd24iLAogICAgICJhcHAiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYjgyNGRjODE3ZTAy
MTBiOTFjY2RkOWVmYzAxN2U3N2M5NzMzYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmgKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUGF5bWVudEFQSVZlcnNpb24geworICAgIHN0
YXRpYyB1bnNpZ25lZCBjdXJyZW50KCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCmluZGV4
IGFjNzRhNGJmM2I1ZTU5YzMyZjUxZTUzODFjZmQwZmQxZGZhZTZlMDcuLjZkMmI0Y2FlZDAwYWM5
Y2Q0YTVlMDk3ZmE4MWY1Mzk0NzdmMTM5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKQEAg
LTI4LDIzICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAorI2luY2x1ZGUgIlBh
eW1lbnRBUElWZXJzaW9uLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQogewot
ICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9O
X1Y4KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDc7Ci0jZWxp
ZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y5KQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjdXJyZW50VmVyc2lvbiA9IDg7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Yx
MCkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA5OwotI2Vsc2UK
LSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAxMDsKLSNlbmRpZgot
Ci0gICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247CisgICAgQVNTRVJUKHZlcnNp
b24pOworICAgIHJldHVybiB2ZXJzaW9uIDw9IFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KCk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbSBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbi5tbQppbmRleCA1ODA1MWJmY2MwYTg0OGZhYTFmZDg0ZjVlMzRhZTc1ZjQ0MzRlNTUwLi43
ZTIzMTllNjk2YzI5OTE0YjA1ZWIxYjU4ZDQ5YTA3OWNlYjVjNDRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uLm1tCkBAIC04MCw4ICs4MCw2IEBAIHN0YXRpYyBQS1BheW1lbnRT
ZXR1cEZlYXR1cmVUeXBlIHBsYXRmb3JtRmVhdHVyZVR5cGUoQXBwbGVQYXlTZXR1cEZlYXR1cmVU
eXBlIGZlCiAgICAgfQogfQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQot
CiBzdGF0aWMgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlIGFwcGxlUGF5SXRlbVR5cGUoUEtJ
bnN0YWxsbWVudEl0ZW1UeXBlIGl0ZW1UeXBlKQogewogICAgIHN3aXRjaCAoaXRlbVR5cGUpIHsK
QEAgLTE0NCw2ICsxNDIsNyBAQCBzdGF0aWMgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcGxh
dGZvcm1SZXRhaWxDaGFubmVsKEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaQogCiBzdGF0aWMgUmV0
YWluUHRyPGlkPiBtYWtlTlNBcnJheUVsZW1lbnQoY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW0mIGl0ZW0pCiB7CisgICAgQVNTRVJUKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
Q2xhc3MoKSk7CiAgICAgYXV0byBpbnN0YWxsbWVudEl0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9j
UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtSW5zdGFuY2UoKSBpbml0XSk7CiAgICAgW2luc3RhbGxt
ZW50SXRlbSBzZXRJbnN0YWxsbWVudEl0ZW1UeXBlOnBsYXRmb3JtSXRlbVR5cGUoaXRlbS50eXBl
KV07CiAgICAgW2luc3RhbGxtZW50SXRlbSBzZXRBbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGl0ZW0u
YW1vdW50KV07CkBAIC0xNzAsMTAgKzE2OSwxMSBAQCBzdGF0aWMgT3B0aW9uYWw8QXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW0+IG1ha2VWZWN0b3JFbGVtZW50KGNvbnN0IEFwcGxlUGF5SW5zdGFsbAog
ICAgIH07CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0K
IHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBjcmVh
dGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24mIGNvcmVDb25maWd1cmF0aW9uLCBOU0RpY3Rpb25hcnkgKmFwcGxpY2F0aW9uTWV0YWRh
dGEpCiB7CisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bkNsYXNzKCkpCisgICAgICAgIHJldHVybiBuaWw7CisKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uSW5z
dGFuY2UoKSBpbml0XSk7CiAKICAgICBbY29uZmlndXJhdGlvbiBzZXRGZWF0dXJlOnBsYXRmb3Jt
RmVhdHVyZVR5cGUoY29yZUNvbmZpZ3VyYXRpb24uZmVhdHVyZVR5cGUpXTsKQEAgLTE4NSwyOSAr
MTg1LDE1IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiAKICAgICBhdXRvIG1lcmNoYW5kaXNp
bmdJbWFnZURhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29k
ZWRTdHJpbmc6Y29yZUNvbmZpZ3VyYXRpb24ubWVyY2hhbmRpc2luZ0ltYWdlRGF0YSBvcHRpb25z
OjBdKTsKICAgICBbY29uZmlndXJhdGlvbiBzZXRNZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOm1lcmNo
YW5kaXNpbmdJbWFnZURhdGEuZ2V0KCldOwotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
X0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIVtjb25maWd1cmF0aW9u
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0SW5zdGFsbG1lbnRNZXJjaGFudElkZW50
aWZpZXI6KV0gfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
c2V0UmVmZXJyZXJJZGVudGlmaWVyOildKQotICAgICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsK
LSNlbmRpZgogICAgIFtjb25maWd1cmF0aW9uIHNldEluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlm
aWVyOmNvcmVDb25maWd1cmF0aW9uLm1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0UmVmZXJyZXJJZGVudGlmaWVyOmNvcmVDb25maWd1cmF0aW9uLnJlZmVycmVySWRl
bnRpZmllcl07Ci0jZW5kaWYKLSAgICAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRF
TVMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudEl0ZW1zOildCi0gICAgICAgIHx8ICFb
Y29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldEFwcGxpY2F0aW9u
TWV0YWRhdGE6KV0KLSAgICAgICAgfHwgIVtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Ioc2V0UmV0YWlsQ2hhbm5lbDopXSkKKworICAgIGlmICghUEFMOjpnZXRQS1Bh
eW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICByZXR1cm4gY29uZmlndXJhdGlv
bjsKLSNlbmRpZgorCiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1lbnRJdGVtczpjcmVh
dGVOU0FycmF5KGNvcmVDb25maWd1cmF0aW9uLml0ZW1zKS5nZXQoKV07CiAgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0QXBwbGljYXRpb25NZXRhZGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhXTsKICAgICBb
Y29uZmlndXJhdGlvbiBzZXRSZXRhaWxDaGFubmVsOnBsYXRmb3JtUmV0YWlsQ2hhbm5lbChjb3Jl
Q29uZmlndXJhdGlvbi5yZXRhaWxDaGFubmVsKV07Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShh
cHBsaWNhdGlvbk1ldGFkYXRhKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247
CiB9CkBAIC0yMTUsMTQgKzIwMSwxMiBAQCBzdGF0aWMgUmV0YWluUHRyPFBLUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbj4gY3JlYXRlUGxhdGZvcm1Db25maWd1cmF0aW9uKAogRXhjZXB0
aW9uT3I8UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbjo6Y3JlYXRlKGNvbnN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uJiBjb25maWd1cmF0aW9uKQogewogICAgIE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRh
ZGF0YURpY3Rpb25hcnkgPSBuaWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9J
VEVNUykKICAgICBpZiAoIWNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRhZGF0YS5pc051bGwo
KSkgewogICAgICAgICBOU0RhdGEgKmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbY29uZmlndXJhdGlv
bi5hcHBsaWNhdGlvbk1ldGFkYXRhIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29k
aW5nXTsKICAgICAgICAgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBkeW5hbWljX29i
amNfY2FzdDxOU0RpY3Rpb25hcnk+KFtOU0pTT05TZXJpYWxpemF0aW9uIEpTT05PYmplY3RXaXRo
RGF0YTphcHBsaWNhdGlvbk1ldGFkYXRhIG9wdGlvbnM6MCBlcnJvcjpuaWxdKTsKICAgICAgICAg
aWYgKCFhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSkKICAgICAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBUeXBlRXJyb3IsICJhcHBsaWNhdGlvbk1ldGFkYXRhIG11c3QgYmUgYSBKU09O
IG9iamVjdCIgfTsKICAgICB9Ci0jZW5kaWYKIAogICAgIHJldHVybiBQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24sIGFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9u
YXJ5KTsKIH0KQEAgLTI0NSw2ICsyMjksOCBAQCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24gKlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OnBsYXRmb3JtQ29uZgogQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbjo6YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKSBjb25zdAogewogICAgIEFw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsK
KyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xhc3Mo
KSkKKyAgICAgICAgcmV0dXJuIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKIAogICAgIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSA9IGFwcGxlUGF5U2V0dXBGZWF0dXJlVHlw
ZShbbV9jb25maWd1cmF0aW9uIGZlYXR1cmVdKTsKIApAQCAtMjU0LDIzICsyNDAsMTIgQEAgQXBw
bGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJh
dGlvbjo6YXBwbGVQYXlJbnN0YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ub3BlblRv
QnV5VGhyZXNob2xkQW1vdW50ID0gZnJvbURlY2ltYWxOdW1iZXIoW21fY29uZmlndXJhdGlvbiBv
cGVuVG9CdXlUaHJlc2hvbGRBbW91bnRdKTsKIAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tZXJjaGFuZGlzaW5nSW1hZ2VEYXRhID0gW1ttX2NvbmZpZ3VyYXRpb24gbWVyY2hhbmRpc2lu
Z0ltYWdlRGF0YV0gYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdOwotCi0jaWYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTKQotI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBpZiAoIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihpbnN0
YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcildIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IocmVmZXJyZXJJZGVudGlmaWVyKV0pCi0gICAgICAgIHJldHVy
biBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKICAgICBpbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24ubWVyY2hhbnRJZGVudGlmaWVyID0gW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVu
dE1lcmNoYW50SWRlbnRpZmllcl07CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLnJlZmVy
cmVySWRlbnRpZmllciA9IFttX2NvbmZpZ3VyYXRpb24gcmVmZXJyZXJJZGVudGlmaWVyXTsKLSNl
bmRpZgogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKLSNpZiBQTEFU
Rk9STShNQUMpCi0gICAgaWYgKCFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoaW5zdGFsbG1lbnRJdGVtcyldCi0gICAgICAgIHx8ICFbbV9jb25maWd1cmF0aW9u
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25NZXRhZGF0YSldCi0gICAg
ICAgIHx8ICFbbV9jb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocmV0
YWlsQ2hhbm5lbCldKQorICAgIGlmICghUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1D
bGFzcygpKQogICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotI2VuZGlm
CisKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IGFwcGxpY2F0aW9uTWV0YWRhdGFTdHJpbmc7CiAg
ICAgaWYgKE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgPSBbbV9j
b25maWd1cmF0aW9uIGFwcGxpY2F0aW9uTWV0YWRhdGFdKSB7CiAgICAgICAgIGlmIChOU0RhdGEg
KmFwcGxpY2F0aW9uTWV0YWRhdGEgPSBbTlNKU09OU2VyaWFsaXphdGlvbiBkYXRhV2l0aEpTT05P
YmplY3Q6YXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkgb3B0aW9uczpOU0pTT05Xcml0aW5n
U29ydGVkS2V5cyBlcnJvcjpuaWxdKQpAQCAtMjgwLDcgKzI1NSw2IEBAIEFwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246OmFwcGxl
UGF5SW5zdGFsCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1zID0gbWFrZVZlY3Rv
cjxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4oW21fY29uZmlndXJhdGlvbiBpbnN0YWxsbWVudEl0
ZW1zXSk7CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uTWV0YWRhdGEg
PSBhcHBsaWNhdGlvbk1ldGFkYXRhU3RyaW5nLmdldCgpOwogICAgIGluc3RhbGxtZW50Q29uZmln
dXJhdGlvbi5yZXRhaWxDaGFubmVsID0gYXBwbGVQYXlSZXRhaWxDaGFubmVsKFttX2NvbmZpZ3Vy
YXRpb24gcmV0YWlsQ2hhbm5lbF0pOwotI2VuZGlmCiAKICAgICByZXR1cm4gaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhZDUxMGZhMmQyNjU2NjlmYzEzM2Y3NDkzN2I4MTQ5ZTIwZDM2N2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW0KQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorI2ltcG9ydCAiUGF5bWVudEFQSVZlcnNpb24uaCIKKworI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCisKKyNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpCit7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7CisjaWYgSEFWRShQQVNTS0lUX05FV19C
VVRUT05fVFlQRVMpCisgICAgICAgIHJldHVybiAxMDsKKyNlbGlmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCisgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmln
dXJhdGlvbkNsYXNzKCkpIHsKKyAgICAgICAgICAgIGlmIChQQUw6OmdldFBLUGF5bWVudEluc3Rh
bGxtZW50SXRlbUNsYXNzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDk7CisgICAgICAgICAg
ICByZXR1cm4gODsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIHJldHVybiA3OworICAgIH0o
KTsKKyAgICByZXR1cm4gY3VycmVudDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3OTFjMTRhNTZlOTBjZjIwMmY5M2MwOTI5
Mjg5NTM4MjE5NTkyZjA0Li4zNzAyZDlkZmY0NjJmNjEzZDAxMzhmZmRjMGM2YmVkYWU3M2NjOTRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0xNTQsNiArMTU0LDcgQEAKIAkJQTExNzVCNTcxRjZCNDcwNTAwQzRCOUYwIC8qIERl
ZmF1bHRTZWFyY2hQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92
aWRlci5oICovOyB9OwogCQlBMTE3NUI1ODFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJj
aFByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExMTc1QjU2MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3Bw
ICovOyB9OwogCQlBMTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE3NUI1OTFG
NkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi87IH07CisJCUExNjlCMDQxMjQ4
RUYwNTIwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTY5QjA0MDI0OEVGMDM5MDBFRThCN0Ig
LyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovOyB9OwogCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRM
aW5rLmggKi87IH07CiAJCUExRjYzQ0EwMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExp
bmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY2
M0M5RTIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1tICovOyB9OwogCQlBMzBE
NDEyMTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxs
UmluZy5oICovOyB9OwpAQCAtMzQxLDYgKzM0Miw3IEBACiAJCUExMTc1QjU1MUY2QjQ3MDUwMEM0
QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTc1QjU2MUY2
QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Nyb2xsVmlld1NQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU1Njcm9sbFZpZXdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTE2OUIwNDAyNDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUY2M0M5RDIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5r
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3NLaXRTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMUY2M0M5RTIxQTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMzBENDExRTFGMEREMEVBMDBCNzE5NTQgLyogS2lsbFJpbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2lsbFJpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTQ3NCw2ICs0NzYsNyBAQAogCQkJCTBDMkRBMTM4MUYzQkVCNDkw
MERCQzMxNyAvKiBOU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEkuaCAqLywKIAkJCQlDMTVDQkIzMjIz
RjM0QTEyMDAzMDBDQzcgLyogTlNVc2VyRGVmYXVsdHNTUEkuaCAqLywKIAkJCQk1NzBBQjhGODIw
QUY2RTNEMDBCOEJFODcgLyogTlNYUENDb25uZWN0aW9uU1BJLmggKi8sCisJCQkJQTE2OUIwNDAy
NDhFRjAzOTAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCAqLywKIAkJCQkwQzJE
QTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJCTBDMkRBMTNBMUYz
QkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREExM0IxRjNCRUI0OTAw
REJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTg1MCw2ICs4NTMsNyBAQAogCQkJCTBD
Nzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9wZW5HTEVTU1BJLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBMTY5QjA0MTI0OEVGMDUyMDBFRThCN0IgLyogUGFzc0tpdElu
c3RhbGxtZW50c1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjNDOUYyMUE0REJGNzAwNkZC
NDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEMyREExNTUxRjNC
RUI0OTAwREJDMzE3IC8qIFBhc3NLaXRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlF
MUY0NTEzMEYwMEY0RUJCNiAvKiBQSVBTUEkuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggZWFmMWQ5YmUyODhm
NDE1NDdmYTc5MTYzNzBjZDA5OWJiZDM5NTZmNC4uNzdlYWRiMzRmYTEwYzQyNDlhZjVmN2RhNjZk
MzFjY2MyYjc5MDUwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9Q
YXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NL
aXRTb2Z0TGluay5oCkBAIC00OSw5ICs0OSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgUEtTaGlwcGluZ01ldGhvZCkKIAogI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbikKLSNlbmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1T
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudEl0
ZW0pCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9Q
YXNzS2l0U29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5tbQppbmRleCBjMWZmZjkwZDVhZDZiYWYzOGI4NWU5YmFkNTdjZDJjYjRjNzMwMTRi
Li5hYjg3M2I5YzVmYzFlNzJmN2FmZjgzNTc4NDZlNGYzZGYxNjBiNTdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtMzEsNiArMzEs
NyBAQAogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCisK
IFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwg
UGFzc0tpdCwgUEFMX0VYUE9SVCkKIAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24s
IFBBTF9FWFBPUlQpCkBAIC0zOCwxNCArMzksNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwQ29udAog
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNz
S2l0LCBQS1BheW1lbnRTZXR1cEZlYXR1cmUsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNl
dHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
Ci1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBh
c3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNl
bmRpZgotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotU09GVF9MSU5LX0NM
QVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1l
bnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCi0jZW5kaWYKLQogI2Vsc2UgLy8gUExBVEZP
Uk0oTUFDKQogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFM
LCBQYXNzS2l0LCBQQUxfRVhQT1JUKQpAQCAtNTYsMTYgKzQ5LDEzIEBAIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBGZWF0
dXJlLCBQQUxfCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBh
c3NLaXQsIFBLUGF5bWVudFNldHVwUmVxdWVzdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBWaWV3
Q29udHJvbGxlciwgUEFMX0VYUE9SVCkKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
Ci1TT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCkKLSNlbmRpZgorI2Vu
ZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVN
UykKLVNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQorI2lmIEhBVkUoUEFTU0tJVF9J
TlNUQUxMTUVOVFMpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VY
UE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFM
X0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JU
KFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQogI2Vu
ZGlmCiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpCi0KIFNPRlRfTElOS19DTEFTU19GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtDb250YWN0LCBQQUxfRVhQT1JUKQogU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1Bhc3NM
aWJyYXJ5LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnQsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjAxNTdmNjUwOGJmZWZkNDQ5YzAwNzgyNTRjYmFlOTEwMTNjMjIwYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJ
bnN0YWxsbWVudHNTUEkuaApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KKyNl
cnJvciAiUGxlYXNlICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaD4gaW5zdGVh
ZCBvZiB0aGlzIGZpbGUgZGlyZWN0bHkuIgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfSU5T
VEFMTE1FTlRTX0lOX1NESykKKworI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1By
aXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRlLmg+
CisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Qcml2YXRlLmg+CisKKyNlbGlmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5z
dGFsbG1lbnRJdGVtVHlwZSkgeworICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZUdlbmVyaWMgPSAw
LAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVBob25lLAorICAgIFBLSW5zdGFsbG1lbnRJdGVt
VHlwZVBhZCwKKyAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVXYXRjaCwKKyAgICBQS0luc3RhbGxt
ZW50SXRlbVR5cGVNYWMsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3Rh
bGxtZW50UmV0YWlsQ2hhbm5lbCkgeworICAgIFBLSW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsVW5r
bm93biA9IDAsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxBcHAsCisgICAgUEtJbnN0
YWxsbWVudFJldGFpbENoYW5uZWxXZWIsCisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxJ
blN0b3JlLAorfTsKKwordHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVl
c3RUeXBlKSB7CisgICAgUEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCit9Owor
CitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0
IDxOU1NlY3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVu
dEl0ZW0gOiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQ
YXltZW50ICgpIDxOU1NlY3VyZUNvZGluZz4KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U1N0cmluZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47CitAZW5kCisKK0BpbnRlcmZh
Y2UgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICgpCitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1cmVUeXBlIGZlYXR1cmU7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJjaGFuZGlzaW5nSW1hZ2VEYXRhOworQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNpbWFsTnVtYmVyICpvcGVuVG9CdXlUaHJl
c2hvbGRBbW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1i
ZXIgKmJpbmRpbmdUb3RhbEFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0
cmluZyAqY3VycmVuY3lDb2RlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgZ2V0dGVy
PWlzSW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQdXJjaGFzZTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnJlZmVycmVySWRlbnRpZmllcjsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBLUGF5bWVudEluc3RhbGxtZW50
SXRlbSAqPiAqaW5zdGFsbG1lbnRJdGVtczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICphcHBsaWNhdGlvbk1ldGFkYXRhOworQHByb3Bl
cnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWls
Q2hhbm5lbDsKK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0gKCkK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVtVHlwZSBpbnN0
YWxsbWVudEl0ZW1UeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51
bWJlciAqYW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJy
ZW5jeUNvZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1J
ZGVudGlmaWVyOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGVjaW1hbE51bWJlciAq
YXByOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpwcm9ncmFtVGVybXM7
CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3VyZUNvZGluZz4K
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOworQGVuZAor
CitAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgc3Ryb25nKSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVu
dFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBlOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICgpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkg
TlNTdHJpbmcgKmluc3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOworQGVuZAorCisjZW5kaWYgLy8g
SEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCAwMTgwMTdlZDMwMjcxY2MzZTliNTMwN2JmMmU2NzE2
YWQwZTIzNTEwLi45ZWU3MmU3OGNhM2IyNzYzNjBhMzlkYWI5YzY1N2Y2ODMxM2JkYzBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC00NCwy
NCArNDQsMjEgQEAgV1RGX0VYVEVSTl9DX0VORAogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRQ
YXNzLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJv
bGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudE1ldGhvZC5oPgotI2lt
cG9ydCA8UGFzc0tpdC9QS1BheW1lbnRSZXF1ZXN0X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBhc3NL
aXQvUEtQYXltZW50UmVxdWVzdFN0YXR1cy5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRT
ZXR1cENvbmZpZ3VyYXRpb25fV2ViS2l0Lmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNl
dHVwQ29udHJvbGxlci5oPgogI2ltcG9ydCA8UGFzc0tpdC9QS1BheW1lbnRTZXR1cFJlcXVlc3Qu
aD4KLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5o
PgogI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdF9XZWJLaXQuaD4KIAotI2lm
IEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1l
bnRfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRNZXRob2RfUHJp
dmF0ZS5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8UGFz
c0tpdC9QS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIuaD4KICNlbmRpZgogCisjaWYg
IUhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJl
cXVlc3RfUHJpdmF0ZS5oPgorI2VuZGlmCisKICNlbHNlCiAKICNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgpAQCAtMzM2LDQyICszMzMsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJ
bnRlZ2VyLCBQS1BheW1lbnRTZXR1cEZlYXR1cmVTdXBwb3J0ZWRPcHRpb25zKSB7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0FycmF5IDxQS1BheW1lbnRTZXR1cEZlYXR1cmUgKj4g
KnBheW1lbnRTZXR1cEZlYXR1cmVzOwogQGVuZAogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKLQotdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVudEl0ZW1UeXBl
KSB7Ci0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCi0gICAgUEtJbnN0YWxs
bWVudEl0ZW1UeXBlUGhvbmUsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGFkLAotICAgIFBL
SW5zdGFsbG1lbnRJdGVtVHlwZVdhdGNoLAotICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZU1hYwot
fTsKLQotdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVudFJlcXVlc3RUeXBlKSB7
Ci0gICAgUEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudCA9IDUsCi19OwotCi1AaW50ZXJm
YWNlIFBLUGF5bWVudCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgTlNTdHJpbmcgKmluc3RhbGxtZW50QXV0aG9yaXphdGlvblRva2VuOwotQGVuZAotCi1A
aW50ZXJmYWNlIFBLUGF5bWVudE1ldGhvZCAoKSA8TlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJpbmRUb2tlbjsKLUBlbmQKLQotQGludGVyZmFj
ZSBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNTZWN1cmVD
b2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRTZXR1cEZlYXR1
cmVUeXBlIGZlYXR1cmU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEYXRhICptZXJj
aGFuZGlzaW5nSW1hZ2VEYXRhOwotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNEZWNp
bWFsTnVtYmVyICpvcGVuVG9CdXlUaHJlc2hvbGRBbW91bnQ7Ci1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKmJpbmRpbmdUb3RhbEFtb3VudDsKLUBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VycmVuY3lDb2RlOwotQHByb3BlcnR5IChu
b25hdG9taWMsIGFzc2lnbiwgZ2V0dGVyPWlzSW5TdG9yZVB1cmNoYXNlKSBCT09MIGluU3RvcmVQ
dXJjaGFzZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLSW5zdGFsbG1lbnRJdGVt
VHlwZSBpbnN0YWxsbWVudEl0ZW1UeXBlOwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5T
U3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOwotQGVuZAotCi0jZW5kaWYK
LQogQGludGVyZmFjZSBQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gOiBOU09iamVjdCA8TlNTZWN1
cmVDb2RpbmcsIE5TQ29weWluZz4KIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aERpY3Rpb25hcnk6
KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnk7CiBAZW5kCkBAIC0zOTYsMjAgKzM1NywxNSBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291
cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMs
IHN0cm9uZykgTlNTdHJpbmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKLSNpZiBIQVZF
KFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgUEtQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICppbnN0YWxsbWVudENvbmZpZ3VyYXRpb247
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBQS1BheW1lbnRSZXF1ZXN0VHlwZSByZXF1
ZXN0VHlwZTsKKyNpZiBIQVZFKFBBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRp
ZmllcjsKICNlbmRpZgogQGVuZAogCisjaWYgIUhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCiBA
aW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3QgKCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3Np
Z24pIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIEFQSVR5cGU7CiBAZW5kCi0KLSNpZiBIQVZFKFBB
U1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIpCi1AaW50ZXJmYWNlIFBLUGF5bWVudFJl
cXVlc3QgKCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRl
cmZhY2VJZGVudGlmaWVyOwotQGVuZAogI2VuZGlmCiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORApA
QCAtNDUyLDkgKzQwOCw2IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiBAZW5kCiAKIEBpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgOiBQS1BheW1lbnRSZXF1
ZXN0VXBkYXRlCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXI7Ci0jZW5k
aWYKIEBlbmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250YWN0VXBk
YXRlIDogUEtQYXltZW50UmVxdWVzdFVwZGF0ZQpAQCAtNDg0LDMgKzQzNyw3IEBAIE5TX0FTU1VN
RV9OT05OVUxMX0JFR0lOCiB0eXBlZGVmIHZvaWQoXlBLQ2FuTWFrZVBheW1lbnRzQ29tcGxldGlv
bikoQk9PTCBpc1ZhbGlkLCBOU0Vycm9yICopOwogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKKwor
I2RlZmluZSBQQUxfUEFTU0tJVF9TUElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04K
KyNpbXBvcnQgIlBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCIKKyN1bmRlZiBQQUxfUEFTU0tJVF9T
UElfR1VBUkRfQUdBSU5TVF9JTkRJUkVDVF9JTkNMVVNJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IDJhYzdkYTc2OTNmYjgxNWI4NjI3MzgxYTA3YWIyYWYwYjc3ZjExYTIuLjJmOGI0MjYy
YjcwNzYzMjE1NDQxYjA4MTJhM2IzMGE3OGY2NDcyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4
dApAQCAtNjEzLDYgKzYxMyw3IEBAIFdITFNMU3RhbmRhcmRMaWJyYXJ5RnVuY3Rpb25NYXAuY3Bw
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5tbQogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCiAKKyAgICBNb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KICAgICBNb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENv
bnRhY3RDb2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudE1lcmNoYW50
U2Vzc2lvbkNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZDUzMzdjOTU2MDJmNDFmZjlhZDQ1ZjBiZGU3NTY5NTA2YjQ1
ODJlOS4uZTI5NjFkMDllODMxYWY2ZWU2OTQzM2IwNzY5MGVjMjc3NmYzZDI0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzA0
Miw2ICszMDQyLDcgQEAKIAkJQTE2NzdFMEUyMTNFMDJBMDAwQTA4QzM0IC8qIEFkZHJlc3NFcnJv
cnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3
RTBCMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggKi87IH07CiAJCUExNjc3RTEz
MjEzRTAzQzYwMEEwOEMzNCAvKiBKU0FkZHJlc3NFcnJvcnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjc3RTExMjEzRTAzQzUwMEEwOEMzNCAvKiBK
U0FkZHJlc3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTcyMTNFMDNGMTAwQTA4QzM0IC8qIEpT
UGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTE2NzdFMTUyMTNFMDNGMDAwQTA4QzM0IC8qIEpTUGF5ZXJFcnJvckZpZWxkcy5o
ICovOyB9OworCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQy
MjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovOyB9OwogCQlBMTc2M0Yz
RjFFMjA1MjM0MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc2M0YzRDFFMjA1MjM0MDAxRDU4
REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTE3NjNGNDExRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0
d29yay5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTc2M0Y0MDFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAq
LzsgfTsKIAkJQTE3QzgxMjMwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3QzgxMjEw
RjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovOyB9OwpAQCAtMTE2MDYs
NiArMTE2MDcsOCBAQAogCQlBMTY3N0UxNTIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9y
RmllbGRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZp
ZWxkcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTY3N0UxNjIxM0UwM0YwMDBB
MDhDMzQgLyogSlNQYXllckVycm9yRmllbGRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTUGF5ZXJFcnJvckZpZWxkcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExNjc3RTI0MjE0NDUzMjgwMEEwOEMzNCAvKiBKU1BheW1lbnRNZXRob2RDaGFu
Z2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BheW1lbnRNZXRob2RDaGFu
Z2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQy
MjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YXltZW50QVBJVmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5QjA0
NTI0OEYwNDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUExNzYzRjNDMUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1
cHBvcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBcmNo
aXZlRHVtcFN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjNE
MUUyMDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExNzYzRjQwMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDRk5ldHdvcmsuZnJhbWV3b3JrOyBwYXRoID0g
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gU0RLUk9PVDsgfTsKQEAgLTE3NDk5LDYgKzE3NTAyLDcgQEAKIAkJCQkxQThBNjQ0RjFEMTlG
Q0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCAqLywKIAkJCQkx
QThBNjQ1MDFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
aWRsICovLAogCQkJCTFBOEE2NDM3MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50LmggKi8sCisJ
CQkJQTE2OUIwNDIyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi8sCiAJ
CQkJMUFFOTZBODYxRDFBMENFQjAwQjg2NzY4IC8qIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
LmggKi8sCiAJCQkJMUE4QTY0MzgxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0Lmgg
Ki8sCiAJCQkJMUE1OEU4NkIxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvci5j
cHAgKi8sCkBAIC0xNzUyNCw2ICsxNzUyOCw3IEBACiAJCTFBNThFODY5MUQxOUQ4QzAwMEMwRUE3
MyAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQTE2OUIwNDUyNDhGMDQxNzAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uQ29jb2EubW0g
Ki8sCiAJCQkJMUE4QTY0NjkxRDE5RkY4NzAwRDBFMDBGIC8qIFBheW1lbnRDb2NvYS5tbSAqLywK
IAkJCQkxQThBNjQ2QTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3RDb2NvYS5tbSAq
LywKIAkJCQkxQURBNEExQjFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vzc2lv
bkNvY29hLm1tICovLApAQCAtMzI0NDAsNiArMzI0NDUsNyBAQAogCQkJCUExNjc3RTA4MjEzRTAy
NEMwMEEwOEMzNCAvKiBQYXllckVycm9yRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThB
NjQzQTFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFG
NzZCNDMxRjQ0Q0Y3RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBMTY5QjA0MzI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRTk2QTg4MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50QXV0aG9y
aXphdGlvblN0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNzZCNUIxRjQ0RDNCMjAwMTRD
MzE4IC8qIFBheW1lbnRDb21wbGV0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0M0IxRDE5
RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2
ODg3NGU1ZmMyOTAwNDVhOGMxM2ZmYzU5ZWU1ZDlmN2Q3YTBhNWM5Li5lZTgwNmE4NDYxOWYxMDUy
MzljZDY0ZmUxNTU2ZDkxMTg2MGFlODM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjAtMDYt
MDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXld
IEVuYWJsZSBsYXlvdXQgdGVzdHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNjQxNzQxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtcy5odHRwcy5odG1sOiBDaGFuZ2VkIHRvIGZhaWwgaW5zdGVhZCBvZgorICAgICAgICB0aW1l
IG91dCB3aGVuIEFQSSB2ZXJzaW9uIDkgaXNuJ3Qgc3VwcG9ydGVkLgorCisgICAgICAgICogaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNS5odG1sOiBSZW1vdmVkIGEg
Y3VzdG9tIGVsZW1lbnQtY2xpY2tpbmcgZnVuY3Rpb24KKyAgICAgICAgYW5kIHVzZWQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50IGluc3RlYWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnM6IFVuLXNraXBwZWQgaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkuCisg
ICAgICAgIE1hcmtlZCBQYXltZW50UmVxdWVzdC5odHRwcy5odG1sIGFzIFNsb3cuIE1hcmtlZCBB
cHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBhcworICAgICAgICBGYWlsdXJlLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlZCBhIHRy
YWlsaW5nICcvJy4gU2tpcHBlZAorICAgICAgICBBcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0
cHMuaHRtbCBvbiBNb2phdmUgYW5kIG1hcmtlZCBpdCBhcyBGYWlsdXJlIG9uIENhdGFsaW5hLgor
CiAyMDIwLTA2LTA4ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgR2FyZGVuaW5nLCByZW1vdmUgdGVzdHMgcGFzc2luZyBhZnRlciByMjYyNzE2CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9y
Lmh0bWwKaW5kZXggMWY5MzEyNTc1ZTViZjUxMTdhZGYwNzg2ZDIyNjFhNjkzNmQ3YzFhMi4uNjhm
Yjg0YTYwZDZiNWVkNTI1MGRmZjgwNTc5NGE0MmJjZjgwZTQ1NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbApAQCAt
Miw3ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC01NCwyNiArNTUsMTIgQEAKICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVs
ZW1lbnQpIHsKLSAgICAgICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgICAg
ICBsZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAgICAgICB2YXIgc3VwcG9ydHNU
b3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7Ci0gICAgICAgIGlmIChzdXBwb3J0
c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3Jp
cHQpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsg
dWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0p
OyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAgICAgIH0gZWxzZSBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsK
LSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgewotICAgICAgICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiYnV0dG9uIikpOworICAgICAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogICAgIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9uIG9u
Y2xpY2s9J2dvKCknPkdvPC9idXR0b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbAppbmRleCBlYjc1YzQzMGE4N2MzYjI0YTA3ZDA3OGI3
NjU4MWIzOTgzYmRkMDliLi43YjE3Mjk0YTliOThhM2EwMTg2ZDhjNTk1ZmNhOTMwZmE4M2YzOGNk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbApAQCAtNjIs
NiArNjIsMTIgQEAgbGV0IHZhbGlkUmVxdWVzdCA9ICgpID0+IHsKIAogYWN0aXZhdGVUaGVuKCgp
ID0+IHsKIAorICAgIGlmICghQXBwbGVQYXlTZXNzaW9uLnN1cHBvcnRzVmVyc2lvbihhcGlWZXJz
aW9uKSkgeworICAgICAgICB0ZXN0RmFpbGVkKGBUaGlzIGJ1aWxkIGRvZXMgbm90IHN1cHBvcnQg
QVBJIHZlcnNpb24gJHthcGlWZXJzaW9ufS5gKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBkZWJ1ZygnVGVzdCBpbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24uaXRlbXMnKTsKICAgICBzaG91bGRUaHJvdygncmVxdWVzdCA9IHZhbGlkUmVxdWVz
dCgpOyByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IDQ7IG5ldyBBcHBs
ZVBheVNlc3Npb24oYXBpVmVyc2lvbiwgcmVxdWVzdCknKTsKICAgICBzaG91bGRUaHJvdygncmVx
dWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5p
dGVtcyA9ICIiOyBuZXcgQXBwbGVQYXlTZXNzaW9uKGFwaVZlcnNpb24sIHJlcXVlc3QpJyk7CkBA
IC0xMDcsOCArMTEzLDYgQEAgYWN0aXZhdGVUaGVuKCgpID0+IHsKICAgICBkZWJ1ZygnJyk7CiAK
ICAgICBkZWJ1ZygnVGVzdCBwbGF0Zm9ybSBjb252ZXJzaW9uJyk7Ci0gICAgbGV0IHNlc3Npb24g
PSBuZXcgQXBwbGVQYXlTZXNzaW9uKGFwaVZlcnNpb24sIHZhbGlkUmVxdWVzdCgpKTsKLSAgICBz
ZXNzaW9uLmJlZ2luKCk7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcy5sZW5ndGgnLCAnMicpOwogICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24uaXRlbXNbMF0udHlwZScsICdleHBlY3RlZEl0ZW1UeXBlJyk7CiAgICAgc2hv
dWxkQmUoJ2ludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmluc3RhbGxtZW50Q29uZmln
dXJhdGlvbi5pdGVtc1swXS5hbW91bnQnLCAnZXhwZWN0ZWRJdGVtQW1vdW50Jyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24u
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5odG1sCmluZGV4IGYxMGQxYjliNWY5NTI2MmI5N2E1YzZjMWIwZGU0MDM3NzhhM2FlNmMuLjIw
MWU3ZDNjNmMwN2Q0NWE2ZGRjM2U1NmIyYTdhNmIwYzZlN2QxZDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1s
CkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtMjMwLDI2ICsyMzEsMTIgQEAgZnVuY3Rpb24gZ28oKSB7
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50
KSB7Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgIGxldCB5ID0gZWxl
bWVudC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91
Y2hFdmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQ
b2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9
KTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiYnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdn
bygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCmluZGV4IDJh
MDIwM2FmOTllYzM0OTdjNzhiZTRhZDliODI1Y2VmMGQzYWE3MmYuLmE1MWUyMTYwNzI0ZmNmOTE3
Nzg1ODEwZmJkYzNlNTQyOGMwZmNlNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbApAQCAtMiw3ICsy
LDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KQEAgLTczLDI2ICs3NCwxMiBAQCBmdW5jdGlvbiBnbygpIHsKICAgICBmaW5pc2hK
U1Rlc3QoKTsKIH0KIAotZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKLSAgICBsZXQg
eCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIDI7Ci0gICAgbGV0IHkgPSBlbGVtZW50Lm9mZnNldFRv
cCArIDI7Ci0KLSAgICB2YXIgc3VwcG9ydHNUb3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3
aW5kb3c7Ci0gICAgaWYgKHN1cHBvcnRzVG91Y2hFdmVudHMgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkgewotICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2Ny
aXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7
eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtgLCBmdW5jdGlvbiAoKSB7IH0pOwotICAgIH0gZWxz
ZSBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHgsIHkpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VVcCgpOwotICAgIH0KLX0KLQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkgewotICAgIGNsaWNrRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7
CisgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbiIpKTsKIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0
b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWwKaW5kZXggYTE4YzMyN2E3YzE2OTVj
M2EzMDkzZDVhZmI4ZGVkMDRlOGZlYjJhNi4uMmU5YjY5OThiNzE3ODY4YWFjZWI5ODk1NmYwODVi
ZmI1ZmI0NDc2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNC5odG1sCkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+
CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJl
c291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAt
NjEsMjYgKzYyLDEyIEBAIGZ1bmN0aW9uIGdvKCkgewogICAgIGZpbmlzaEpTVGVzdCgpOwogfQog
Ci1mdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkgewotICAgIGxldCB4ID0gZWxlbWVudC5v
ZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAg
IHZhciBzdXBwb3J0c1RvdWNoRXZlbnRzID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsKLSAgICBp
ZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVy
LnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlv
bigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24o
KSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0g
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7Ci0gICAgfQotfQotCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY2xp
Y2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICBVSUhlbHBl
ci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogfQog
CiA8L3NjcmlwdD4KIDxidXR0b24gb25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WNS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uVjUuaHRtbAppbmRleCAzNzg5MGE3YTU4YTEwMGFjYzMyMDkxNzNiNjQw
N2VhNzQwNjBlNjQxLi5iNTYwYTZjM2M5ZmFjYTU5NzdkNGRjMDBhM2YxNDYyNDM3MjJhY2I1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WNS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvblY1Lmh0bWwKQEAgLTIsNyArMiw4IEBACiA8aHRtbD4KIDxoZWFkPgogPG1l
dGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC01NywyNiArNTgsMTIg
QEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGNs
aWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAy
OwotICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1cHBvcnRz
VG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBwb3J0c1Rv
dWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRy
b2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7
YCwgZnVuY3Rpb24gKCkgeyB9KTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9
Ci19Ci0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2YXRlRWxl
bWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2NyaXB0Pgog
PGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MjZiODE4NTY1
NjVkMTg5Y2UwZmVkMDkyZWZjNDcxOTkzM2JlMjBhLi5mN2MzNDc4YzhiZDA2MzI2ODRjNjY3ODJk
ZDBkMzNlOWJjMjcyODMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC00Myw3ICs0MywxMCBAQCBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9y
dC1maXQtY29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1m
aXQtY292ZXIuaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWF1
dG8uaHRtbCBbIFNraXAgXQogCi1odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUJpbGxp
bmdBZGRyZXNzLmh0bWwgWyBQYXNzIF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBd
Cit3ZWJraXQub3JnL2IvMjEyOTc1IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1
ZXN0Lmh0dHBzLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQorCit3ZWJraXQub3JnL2IvMjEyOTk4IGh0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1s
IFsgRmFpbHVyZSBdCiAKIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGUwMzM3
Yjc5OTBkMzRjN2NjMTYwMDZkMDEwZDRlMmQzZjMyOWNhMy4uY2RhZmIzYzJkYmIxMmNhMTUxNGVm
ZDdhY2Y0ZGMxZjEwNDZlMGFjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQsMTMgKzM0LDEzIEBAIGZhc3QvbWVkaWEvbXEtaW52ZXJ0
ZWQtY29sb3JzLWxpdmUtdXBkYXRlLWluLXN1YmZyYW1lcy5odG1sIFsgUGFzcyBdCiBmYXN0L21l
ZGlhL21xLW1vbm9jaHJvbWUtbGl2ZS11cGRhdGUuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9t
cS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIAotaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvIFsgUGFzcyBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBb
IFBhc3MgXQogCi0jIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIHdhcyBmaXJzdCBh
dmFpbGFibGUgaW4gQ2F0YWxpbmEuCisjIEFQUExFX1BBWV9JTlNUQUxMTUVOVFMgd2FzIGZpcnN0
IGF2YWlsYWJsZSBpbiBDYXRhbGluYS4KIFsgTW9qYXZlIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaHR0cHMuaHRtbCBbIFNraXAgXQor
WyBNb2phdmUgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRl
bXMuaHR0cHMuaHRtbCBbIFNraXAgXQogCi0jIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtIGlzIG5v
dCBhdmFpbGFibGUgaW4gTW9qYXZlIG9yIENhdGFsaW5hLgotWyBNb2phdmUgQ2F0YWxpbmEgXSBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRt
bCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzIxMjk5OCBbIENhdGFsaW5hIF0gaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBGYWlsdXJl
IF0KIAogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy5o
dG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0
LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0KQEAgLTEwNDEsNCArMTA0MSw0IEBA
IHdlYmtpdC5vcmcvYi8yMTI3MjEgc3ZnL2N1c3RvbS90ZXh0UGF0aC1jaGFuZ2UtaWQuc3ZnIFsg
UGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTI4MjQgWyBEZWJ1ZyBdIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
YXVkaW9ub2RlLWludGVyZmFjZS9hdWRpb25vZGUtZGlzY29ubmVjdC1hdWRpb3BhcmFtLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0L3Nj
cm9sbGluZy9tYWMvc2Nyb2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBh
c3MgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9sbGlu
Zy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtpdC5vcmcvYi8y
MTIwNDIgWyBEZWJ1ZyBdIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVy
bGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBhc3MgVGltZW91dCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402007</attachid>
            <date>2020-06-16 08:35:28 -0700</date>
            <delta_ts>2020-06-17 08:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200616083527.patch</filename>
            <type>text/plain</type>
            <size>61368</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkZDE0ODlhYmU0MTFlNGVjODEyOTZk
OGZhMTM3MWM4NzczZWQ4MGMuLmU3MTRmNmFjZmU0NzMzYjdmY2M4ZmNlZDY1MjgxMGFiYTQzZDQ5
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmg6IFJlbW92ZWQgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVO
VElGSUVSUywKKyAgICAgICAgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywgRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4LAorICAgICAgICBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjksIGFuZCBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEwLgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybUhhdmUuaDogUmVtb3ZlZCBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlMgYW5kIGNvcnJlY3RlZCBpT1MgdmVyc2lvbgorICAgICAgICBjaGVja3MgZm9yIEhBVkVfUEFT
U0tJVF9JTlNUQUxMTUVOVFMuCisKIDIwMjAtMDYtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBTdG9wIGNhbGxpbmcgdXNlclByZWZlcnJlZExhbmd1YWdlcygp
IGluIHRoZSBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYzFiY2U0MDkwODY0YWNhZGE3MzFmZjA0
M2EyMWVlYzlmY2U4NTk4Li4zMTk3ZGZmNTlhMGY1MmZhMjYxYjU1ZWI0ZWYyZGRmN2JiZDg0ZmQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVz
dHMgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBBZGRlZCBy
dW50aW1lIGNoZWNrcyB0byBkZXRlcm1pbmUgdGhlIEFwcGxlIFBheSBBUEkgdmVyc2lvbiB3aGVu
IGluc3RhbGxtZW50cyBhcmUgZW5hYmxlZC4KKworICAgICAgICBFbmFibGVkIHRlc3RzIGluIGh0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5IG9uIGlPUy4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmg6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmg6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENo
YW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRS
ZXRhaWxDaGFubmVsLmlkbDogUmVtb3ZlZCB1c2VzIG9mCisgICAgICAgIEFQUExFX1BBWV9JTlNU
QUxMTUVOVF9JREVOVElGSUVSUyBhbmQgQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TIChvciBy
ZXBsYWNlZCB3aXRoCisgICAgICAgIEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpLgorCisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50QVBJVmVyc2lvbi5oOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KTogTW92ZWQgdGhlIGNvbXB1dGF0aW9u
IG9mIGN1cnJlbnQgQVBJIHZlcnNpb24gZnJvbQorICAgICAgICBQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQ6OnN1cHBvcnRzVmVyc2lvbiB0byBoZXJlLiBBZGRlZCBydW50aW1lIGNoZWNrcyB0byBk
ZXRlcm1pbmUgdGhlCisgICAgICAgIGxldmVsIG9mIFBhc3NLaXQgaW5zdGFsbG1lbnRzIHN1cHBv
cnQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gdG8gdGVsbCBhdAorICAg
ICAgICBjb21waWxlIHRpbWUuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b29yZGluYXRvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbik6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICBQYXlt
ZW50QVBJVmVyc2lvbjo6Y3VycmVudC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VO
U0FycmF5RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQbGF0Zm9ybUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGNvbnN0KTogUmVtb3ZlZAor
ICAgICAgICB1c2VzIG9mIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUyBhbmQgSEFWRV9Q
QVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTLiBVc2VkCisgICAgICAgIHJ1bnRpbWUgY2hl
Y2tzIHRvIGRldGVybWluZSBzdXBwb3J0IGZvciBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24gYW5kCisgICAgICAgIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbS4KKworICAgICAgICAq
IFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBBZGRlZCBzb3VyY2UgZmlsZXMgZm9yIFBheW1lbnRBUElWZXJzaW9uLgorCiAyMDIw
LTA2LTE2ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjMwNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAwODkyMTFj
NWRlMzlmZjE0Y2I3ZDc5NjQ1MjRlMmM3MWFjNzk3YjcyLi4xNDdhZGRlYmNkNjcyZTE2NWMyZGNm
MjhiNDljMzg3OWU0ZGFjYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAor
MjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0Fw
cGxlIFBheV0gRW5hYmxlIGxheW91dCB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlz
dGVuc2VuLgorCisgICAgICAgIFBhc3NLaXQgYWRkZWQgU1BJcyBmb3IgQXBwbGUgUGF5IGluc3Rh
bGxtZW50cyBvdmVyIGEgc2VyaWVzIG9mIGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEKKyAgICAg
ICAgbWlub3IgdXBkYXRlcy4gV2ViS2l0IHRydW5rIGlzIHN0aWxsIGJ1aWx0IGFjcm9zcyBhIHJh
bmdlIG9mIGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEgbWlub3IKKyAgICAgICAgdXBkYXRlIFNE
S3MgdGhhdCBjb250YWluIG5vbmUsIHNvbWUsIG9yIGFsbCBvZiB0aGUgaW5zdGFsbG1lbnQgU1BJ
cy4gSXQncyBub3QgcG9zc2libGUgdG8KKyAgICAgICAgcmVsaWFibHkgZGV0ZWN0IHRoZSBTREsg
bWlub3IgdmVyc2lvbiBhdCBjb21waWxlLXRpbWUsIHNvIGluc3RlYWQgd2Ugbm93IHVzZSBvdXIg
b3duIFNQSQorICAgICAgICBkZWNsYXJhdGlvbnMgdW5sZXNzIHdlIGtub3cgYWxsIG1pbm9yIHZl
cnNpb25zIG9mIHRoZSBtYWpvciBTREsgdmVyc2lvbiBjb250YWluIGFsbCBvZiB0aGUKKyAgICAg
ICAgaW5zdGFsbG1lbnRzIGRlZmluaXRpb25zLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZGVkIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaC4KKworICAgICAg
ICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFz
c0tpdFNvZnRMaW5rLm1tOiBVc2VkIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFM
X1dJVEhfRVhQT1JUIG9uIGJvdGgKKyAgICAgICAgTWFjIGFuZCBpT1MgdG8gc29mdC1saW5rIFBL
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBhbmQgUEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRTUEkuaDog
QWRkZWQuIFdoZW4gYnVpbGRpbmcgYWdhaW5zdCBhbiBTREsgdGhhdCBpcyBrbm93bgorICAgICAg
ICB0byBkZWNsYXJlIHRoZSBQYXNzS2l0IGluc3RhbGxtZW50cyBTUElzLCB0aGlzIGZpbGUgaW5j
bHVkZXMgdGhlIFNQSSBoZWFkZXJzLiBPdGhlcndpc2UsIGl0CisgICAgICAgIGRlY2xhcmVzIHRo
ZSBTUElzLgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOiBNb3ZlZCBQYXNz
S2l0IGluc3RhbGxtZW50cyBTUEkgZGVjbGFyYXRpb25zIHRvCisgICAgICAgIFBhc3NLaXRJbnN0
YWxsbWVudFNQSS5oLgorCiAyMDIwLTA2LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmUtZW5hYmxlIGRvd25sb2FkIHJlc3VtZSB0ZXN0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDUzZDE5Y2JiMGM5NjY3MTg4
YWFhYjJjOGU3NWQ3MGRlNmViOWNiYzIuLmI5NTdkM2YzNjAyZDMzMTJmMGE1MjEwNzBiYzA3OWMz
MGE4NzE3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTU1LDE0ICs1
NSw2IEBACiAjZGVmaW5lIEVOQUJMRV9BTklNQVRFRF9LRVlCT0FSRF9TQ1JPTExJTkcgMQogI2Vu
ZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5USUZJ
RVJTKSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCi0jZGVmaW5lIEVO
QUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQotI2VuZGlmCi0KLSNpZiAh
ZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKSAmJiBIQVZFKFBBU1NL
SVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1F
TlRfSVRFTVMgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lOU1RB
TExNRU5UUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICNkZWZpbmUgRU5BQkxFX0FQ
UExFX1BBWV9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCkBAIC03MSwxOCArNjMsNiBAQAogI2RlZmlu
ZSBFTkFCTEVfQVBQTEVfUEFZX05FV19CVVRUT05fVFlQRVMgMQogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjgpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOCAxCi0jZW5kaWYKLQot
I2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJiYgSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjkg
MQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEwKSAm
JiBIQVZFKFBBU1NLSVRfTkVXX0JVVFRPTl9UWVBFUykKLSNkZWZpbmUgRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YxMCAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlf
UkVNT1RFX1VJKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKEFQUExFVFYp
ICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpKQogI2RlZmlu
ZSBFTkFCTEVfQVBQTEVfUEFZX1JFTU9URV9VSSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgK
aW5kZXggN2E2NTg4MDViZjk1ZDBiMzVmOWMxMGU4NWIxOGE2MGRhZTI5NmRkMy4uNTViZDhhMTA3
M2E1YTIxNjkwZTdkMTQ3MmYwOTgwY2Y3NDkzYTZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAg
LTg5LDEyICs4OSw2IEBACiAjZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNTSU9OIDEKICNlbmRpZgog
Ci0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVT
UykKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVO
VF9NRVRIT0RfQklMTElOR19BRERSRVNTIDEKLSNlbmRpZgotI2VuZGlmCi0KICNpZiAhZGVmaW5l
ZChVU0VfVUlLSVRfS0VZQk9BUkRfQURESVRJT05TKSAmJiAoUExBVEZPUk0oSU9TKSB8fCBQTEFU
Rk9STShNQUNDQVRBTFlTVCkpCiAjZGVmaW5lIFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElPTlMg
MQogI2VuZGlmCkBAIC02MjYsMTQgKzYyMCwxMiBAQAogI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9V
TkRfSU5URVJGQUNFX0lERU5USUZJRVIgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oSU9TKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzA0MDApIFwKLSAgICB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUg
SEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIDEKKyNpZiBQTEFURk9STShJT1Mp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgogCi0j
aWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTMwMDAwICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwMTAwKSBcCi0g
ICAgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQorI2lmIFBMQVRG
T1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9CSUxM
SU5HX0FERFJFU1MgMQogI2VuZGlmCiAKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFU
Rk9STShNQUNDQVRBTFlTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwK
aW5kZXggZjNkYzE3ODk3YjVmOWYyOTliM2FlZmI4NWM1YTJmMjdlNGVjOGVhMS4uYzg3OGM4MGFh
ZTE1MjY4NDU5Nzg2YTc4OWFkYTBiN2FkNDM4ODgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbi5pZGwKQEAgLTM0LDkgKzM0LDkgQEAKICAgICBET01TdHJpbmcgYmluZGlu
Z1RvdGFsQW1vdW50OwogICAgIERPTVN0cmluZyBjdXJyZW5jeUNvZGU7CiAgICAgYm9vbGVhbiBp
c0luU3RvcmVQdXJjaGFzZTsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5U
X0lERU5USUZJRVJTXSBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOwotICAgIFtDb25kaXRp
b25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlNdIERPTVN0cmluZyByZWZlcnJl
cklkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVN
U10gc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwotICAgIFtDb25kaXRp
b25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEpTT04gYXBwbGljYXRpb25NZXRhZGF0
YTsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBBcHBsZVBh
eUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOworICAg
IERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7CisgICAgRE9NU3RyaW5nIHJlZmVycmVySWRl
bnRpZmllcjsKKyAgICBzZXF1ZW5jZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7Cisg
ICAgSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOworICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRh
aWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJh
dGlvbldlYkNvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKaW5kZXggN2MzMTMxYmNkMzBkMTFkM2Zh
ZDAxZDM1NThhMzUzNjZlZjg0ODZkOS4uYzY1MzliMDRjYWQ4MTRjYzZjMTdmN2UwZTM3Y2VlNjI1
M2VkNDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oCkBAIC00MiwxNSArNDIsMTEgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uIHsKICAgICBTdHJpbmcgYmluZGluZ1RvdGFsQW1vdW50OwogICAgIFN0cmluZyBjdXJy
ZW5jeUNvZGU7CiAgICAgYm9vbCBpc0luU3RvcmVQdXJjaGFzZSB7IGZhbHNlIH07Ci0jaWYgRU5B
QkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKICAgICBTdHJpbmcgbWVyY2hh
bnRJZGVudGlmaWVyOwogICAgIFN0cmluZyByZWZlcnJlcklkZW50aWZpZXI7Ci0jZW5kaWYKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQogICAgIFZlY3RvcjxBcHBsZVBh
eUluc3RhbGxtZW50SXRlbT4gaXRlbXM7CiAgICAgU3RyaW5nIGFwcGxpY2F0aW9uTWV0YWRhdGE7
CiAgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5lbCB7IEFw
cGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsOjpVbmtub3duIH07Ci0jZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaAppbmRleCBlNmNhYTJhMGNl
MGExNDA5ZjdmOTRhMzU1ZDFiZDA0ZTgxYjg1MTlkLi5lOWY4OGM3ZTE3OTk1ZWQyOTc3ODA5YzA2
Yjc2ODFjMjY3YTMwY2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKIAogI2luY2x1ZGUgIkFwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpA
QCAtNDMsNCArNDMsNCBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50SXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5z
dGFsbG1lbnRJdGVtLmlkbAppbmRleCAxNTVhNmQ2OTk0MjE3OGFhN2I2Y2ZmZGM3Njg2NTc4ZmZk
MWNkZTg2Li5kYzYxNWU2MGE0MmJmMGE3YzFiMTU0ODFjNWU2ZDc5ZmZlZDYxNGZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJ
dGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5z
dGFsbG1lbnRJdGVtLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25kaXRp
b25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQTEVf
UEFZX0lOU1RBTExNRU5UUywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gZGljdGlvbmFy
eSBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAgICAgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1U
eXBlIHR5cGUgPSAiZ2VuZXJpYyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaAppbmRleCAyZGNm
YmU2OGMyYTIxZGY1Njg1M2JjYWRlYTk3M2ZhZmUwNGJkZTE2Li5jMzM4MWZkMWRjMzUyZTdiMzM1
M2VkYmMzMjQ3MTYwZjU5Njc2YjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RB
TExNRU5UX0lURU1TKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDQgKzM5LDQgQEAgZW51bSBjbGFzcyBBcHBsZVBheUlu
c3RhbGxtZW50SXRlbVR5cGUgOiB1aW50OF90IHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBl
LmlkbAppbmRleCA3MzYzMjU3NzFmNWI2ZjY1YzM5NmFjNTM1OTBkNjgzYzI3N2QwN2E1Li5iNDBh
YzMwMmRmMWE2MTg1Y2UzYjk4N2M0OTQ5MGM0ZTYzNGI1N2RhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
SXRlbVR5cGUuaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlf
SU5TVEFMTE1FTlRTLAogXSBlbnVtIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZSB7CiAgICAg
ImdlbmVyaWMiLAogICAgICJwaG9uZSIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
LmgKaW5kZXggMzhjYjlkYjQzMjAxYWU5Zjc3ODU3OWQxNDlhMzBkZmMxNTliYjIwZi4uNjE3ZTE4
NDY4ZDdlNTk5OThiNDA1ZWI5Yjk2Yjg5NDc2OGRmOTM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgsNCArMzgsNCBA
QCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIDogdWludDhfdCB7
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
SU5TVEFMTE1FTlRfSVRFTVMpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVO
VFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsCmluZGV4IGQwOGIxMDMx
MDY0YTUzODY4NzdjZTUzZTUyYjQ4NzBlN2U0NTAzMmUuLmUyNTAwMjcwZjY2YmQyZGI2YjQzMzMw
NTRjOTU2MmFhZmIwMjJkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwu
aWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExFX1BB
WV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1F
TlRTLAogXSBlbnVtIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHsKICAgICAidW5r
bm93biIsCiAgICAgImFwcCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRBUElWZXJzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RiODI0ZGM4MTdlMDIxMGI5MWNj
ZGQ5ZWZjMDE3ZTc3Yzk3MzNiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudEFQSVZlcnNpb24uaApAQCAtMCwwICsxLDM4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQYXltZW50QVBJVmVyc2lvbiB7CisgICAgc3RhdGljIHVu
c2lnbmVkIGN1cnJlbnQoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKaW5kZXggYWM3NGE0
YmYzYjVlNTljMzJmNTFlNTM4MWNmZDBmZDFkZmFlNmUwNy4uNmQyYjRjYWVkMDBhYzljZDRhNWUw
OTdmYTgxZjUzOTQ3N2YxMzkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcApAQCAtMjgsMjMg
KzI4LDE0IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCisjaW5jbHVkZSAiUGF5bWVudEFQ
SVZlcnNpb24uaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBib29sIFBheW1lbnRDb29yZGlu
YXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCiB7Ci0gICAgQVNT
RVJUKHZlcnNpb24gPiAwKTsKLQotI2lmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjgpCi0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNzsKLSNlbGlmICFFTkFC
TEUoQVBQTEVfUEFZX1NFU1NJT05fVjkpCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJl
bnRWZXJzaW9uID0gODsKLSNlbGlmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjEwKQotICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDk7Ci0jZWxzZQotICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDEwOwotI2VuZGlmCi0KLSAgICBy
ZXR1cm4gdmVyc2lvbiA8PSBjdXJyZW50VmVyc2lvbjsKKyAgICBBU1NFUlQodmVyc2lvbik7Cisg
ICAgcmV0dXJuIHZlcnNpb24gPD0gUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1t
CmluZGV4IDU4MDUxYmZjYzBhODQ4ZmFhMWZkODRmNWUzNGFlNzVmNDQzNGU1NTAuLjdlMjMxOWU2
OTZjMjk5MTRiMDVlYjFiNThkNDlhMDc5Y2ViNWM0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24ubW0KQEAgLTgwLDggKzgwLDYgQEAgc3RhdGljIFBLUGF5bWVudFNldHVwRmVh
dHVyZVR5cGUgcGxhdGZvcm1GZWF0dXJlVHlwZShBcHBsZVBheVNldHVwRmVhdHVyZVR5cGUgZmUK
ICAgICB9CiB9CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0KIHN0YXRp
YyBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgYXBwbGVQYXlJdGVtVHlwZShQS0luc3RhbGxt
ZW50SXRlbVR5cGUgaXRlbVR5cGUpCiB7CiAgICAgc3dpdGNoIChpdGVtVHlwZSkgewpAQCAtMTQ0
LDYgKzE0Miw3IEBAIHN0YXRpYyBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCBwbGF0Zm9ybVJl
dGFpbENoYW5uZWwoQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpCiAKIHN0YXRpYyBSZXRhaW5QdHI8
aWQ+IG1ha2VOU0FycmF5RWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSYgaXRl
bSkKIHsKKyAgICBBU1NFUlQoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygp
KTsKICAgICBhdXRvIGluc3RhbGxtZW50SXRlbSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1l
bnRJbnN0YWxsbWVudEl0ZW1JbnN0YW5jZSgpIGluaXRdKTsKICAgICBbaW5zdGFsbG1lbnRJdGVt
IHNldEluc3RhbGxtZW50SXRlbVR5cGU6cGxhdGZvcm1JdGVtVHlwZShpdGVtLnR5cGUpXTsKICAg
ICBbaW5zdGFsbG1lbnRJdGVtIHNldEFtb3VudDp0b0RlY2ltYWxOdW1iZXIoaXRlbS5hbW91bnQp
XTsKQEAgLTE3MCwxMCArMTY5LDExIEBAIHN0YXRpYyBPcHRpb25hbDxBcHBsZVBheUluc3RhbGxt
ZW50SXRlbT4gbWFrZVZlY3RvckVsZW1lbnQoY29uc3QgQXBwbGVQYXlJbnN0YWxsCiAgICAgfTsK
IH0KIAotI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3RhdGlj
IFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24+IGNyZWF0ZVBsYXRm
b3JtQ29uZmlndXJhdGlvbihjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYg
Y29yZUNvbmZpZ3VyYXRpb24sIE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YSkKIHsK
KyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xhc3Mo
KSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKwogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25JbnN0YW5jZSgp
IGluaXRdKTsKIAogICAgIFtjb25maWd1cmF0aW9uIHNldEZlYXR1cmU6cGxhdGZvcm1GZWF0dXJl
VHlwZShjb3JlQ29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSldOwpAQCAtMTg1LDI5ICsxODUsMTUg
QEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24+IGNy
ZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIAogICAgIGF1dG8gbWVyY2hhbmRpc2luZ0ltYWdl
RGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmlu
Zzpjb3JlQ29uZmlndXJhdGlvbi5tZXJjaGFuZGlzaW5nSW1hZ2VEYXRhIG9wdGlvbnM6MF0pOwog
ICAgIFtjb25maWd1cmF0aW9uIHNldE1lcmNoYW5kaXNpbmdJbWFnZURhdGE6bWVyY2hhbmRpc2lu
Z0ltYWdlRGF0YS5nZXQoKV07Ci0KLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJ
RklFUlMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRpb24gcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjop
XSB8fCAhW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRSZWZl
cnJlcklkZW50aWZpZXI6KV0pCi0gICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uOwotI2VuZGlm
CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI6Y29y
ZUNvbmZpZ3VyYXRpb24ubWVyY2hhbnRJZGVudGlmaWVyXTsKICAgICBbY29uZmlndXJhdGlvbiBz
ZXRSZWZlcnJlcklkZW50aWZpZXI6Y29yZUNvbmZpZ3VyYXRpb24ucmVmZXJyZXJJZGVudGlmaWVy
XTsKLSNlbmRpZgotICAgIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50SXRlbXM6KV0KLSAgICAgICAgfHwgIVtjb25maWd1
cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0QXBwbGljYXRpb25NZXRhZGF0
YTopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihzZXRSZXRhaWxDaGFubmVsOildKQorCisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudElu
c3RhbGxtZW50SXRlbUNsYXNzKCkpCiAgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uOwotI2Vu
ZGlmCisKICAgICBbY29uZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudEl0ZW1zOmNyZWF0ZU5TQXJy
YXkoY29yZUNvbmZpZ3VyYXRpb24uaXRlbXMpLmdldCgpXTsKICAgICBbY29uZmlndXJhdGlvbiBz
ZXRBcHBsaWNhdGlvbk1ldGFkYXRhOmFwcGxpY2F0aW9uTWV0YWRhdGFdOwogICAgIFtjb25maWd1
cmF0aW9uIHNldFJldGFpbENoYW5uZWw6cGxhdGZvcm1SZXRhaWxDaGFubmVsKGNvcmVDb25maWd1
cmF0aW9uLnJldGFpbENoYW5uZWwpXTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGFwcGxpY2F0
aW9uTWV0YWRhdGEpOwotI2VuZGlmCiAKICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKIH0KQEAg
LTIxNSwxNCArMjAxLDEyIEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiBFeGNlcHRpb25PcjxQ
YXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uOjpjcmVhdGUoY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpb24pCiB7CiAgICAgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhRGlj
dGlvbmFyeSA9IG5pbDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQog
ICAgIGlmICghY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhLmlzTnVsbCgpKSB7CiAg
ICAgICAgIE5TRGF0YSAqYXBwbGljYXRpb25NZXRhZGF0YSA9IFtjb25maWd1cmF0aW9uLmFwcGxp
Y2F0aW9uTWV0YWRhdGEgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwog
ICAgICAgICBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSA9IGR5bmFtaWNfb2JqY19jYXN0
PE5TRGljdGlvbmFyeT4oW05TSlNPTlNlcmlhbGl6YXRpb24gSlNPTk9iamVjdFdpdGhEYXRhOmFw
cGxpY2F0aW9uTWV0YWRhdGEgb3B0aW9uczowIGVycm9yOm5pbF0pOwogICAgICAgICBpZiAoIWFw
cGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5KQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgImFwcGxpY2F0aW9uTWV0YWRhdGEgbXVzdCBiZSBhIEpTT04gb2JqZWN0
IiB9OwogICAgIH0KLSNlbmRpZgogCiAgICAgcmV0dXJuIFBheW1lbnRJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24oY29uZmlndXJhdGlvbiwgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkpOwog
fQpAQCAtMjQ1LDYgKzIyOSw4IEBAIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiAq
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6cGxhdGZvcm1Db25mCiBBcHBsZVBheUlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbiBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjph
cHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbigpIGNvbnN0CiB7CiAgICAgQXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOworICAgIGlm
ICghUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQorICAg
ICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwogCiAgICAgaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uLmZlYXR1cmVUeXBlID0gYXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlKFttX2Nv
bmZpZ3VyYXRpb24gZmVhdHVyZV0pOwogCkBAIC0yNTQsMjMgKzI0MCwxMiBAQCBBcHBsZVBheUlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbiBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjph
cHBsZVBheUluc3RhbAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5vcGVuVG9CdXlUaHJl
c2hvbGRBbW91bnQgPSBmcm9tRGVjaW1hbE51bWJlcihbbV9jb25maWd1cmF0aW9uIG9wZW5Ub0J1
eVRocmVzaG9sZEFtb3VudF0pOwogCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1lcmNo
YW5kaXNpbmdJbWFnZURhdGEgPSBbW21fY29uZmlndXJhdGlvbiBtZXJjaGFuZGlzaW5nSW1hZ2VE
YXRhXSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07Ci0KLSNpZiBIQVZFKFBBU1NL
SVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICgh
W21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxtZW50
TWVyY2hhbnRJZGVudGlmaWVyKV0gfHwgIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3RvcihyZWZlcnJlcklkZW50aWZpZXIpXSkKLSAgICAgICAgcmV0dXJuIGluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlv
bi5tZXJjaGFudElkZW50aWZpZXIgPSBbbV9jb25maWd1cmF0aW9uIGluc3RhbGxtZW50TWVyY2hh
bnRJZGVudGlmaWVyXTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmVmZXJyZXJJZGVu
dGlmaWVyID0gW21fY29uZmlndXJhdGlvbiByZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlmCiAK
LSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JNKE1B
QykKLSAgICBpZiAoIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rv
cihpbnN0YWxsbWVudEl0ZW1zKV0KLSAgICAgICAgfHwgIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbk1ldGFkYXRhKV0KLSAgICAgICAgfHwg
IVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihyZXRhaWxDaGFu
bmVsKV0pCisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNzKCkp
CiAgICAgICAgIHJldHVybiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwogICAg
IFJldGFpblB0cjxOU1N0cmluZz4gYXBwbGljYXRpb25NZXRhZGF0YVN0cmluZzsKICAgICBpZiAo
TlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSA9IFttX2NvbmZpZ3Vy
YXRpb24gYXBwbGljYXRpb25NZXRhZGF0YV0pIHsKICAgICAgICAgaWYgKE5TRGF0YSAqYXBwbGlj
YXRpb25NZXRhZGF0YSA9IFtOU0pTT05TZXJpYWxpemF0aW9uIGRhdGFXaXRoSlNPTk9iamVjdDph
cHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSBvcHRpb25zOk5TSlNPTldyaXRpbmdTb3J0ZWRL
ZXlzIGVycm9yOm5pbF0pCkBAIC0yODAsNyArMjU1LDYgQEAgQXBwbGVQYXlJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJbnN0
YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSBtYWtlVmVjdG9yPEFwcGxl
UGF5SW5zdGFsbG1lbnRJdGVtPihbbV9jb25maWd1cmF0aW9uIGluc3RhbGxtZW50SXRlbXNdKTsK
ICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRhZGF0YSA9IGFwcGxp
Y2F0aW9uTWV0YWRhdGFTdHJpbmcuZ2V0KCk7CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
LnJldGFpbENoYW5uZWwgPSBhcHBsZVBheVJldGFpbENoYW5uZWwoW21fY29uZmlndXJhdGlvbiBy
ZXRhaWxDaGFubmVsXSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBpbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb247CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFkNTEw
ZmEyZDI2NTY2OWZjMTMzZjc0OTM3YjgxNDllMjBkMzY3YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2Nv
YS5tbQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJQYXltZW50QVBJVmVyc2lvbi5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKwor
I2ltcG9ydCA8cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3Vuc2lnbmVkIFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KCkKK3sKKyAgICBzdGF0
aWMgdW5zaWduZWQgY3VycmVudCA9IFtdIHsKKyNpZiBIQVZFKFBBU1NLSVRfTkVXX0JVVFRPTl9U
WVBFUykKKyAgICAgICAgcmV0dXJuIDEwOworI2VsaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
UykKKyAgICAgICAgaWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
Q2xhc3MoKSkgeworICAgICAgICAgICAgaWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtQ2xhc3MoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gOTsKKyAgICAgICAgICAgIHJldHVy
biA4OworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIDc7CisgICAgfSgpOworICAg
IHJldHVybiBjdXJyZW50OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc5MWMxNGE1NmU5MGNmMjAyZjkzYzA5MjkyODk1Mzgy
MTk1OTJmMDQuLjM3MDJkOWRmZjQ2MmY2MTNkMDEzOGZmZGMwYzZiZWRhZTczY2M5NGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTE1NCw2ICsxNTQsNyBAQAogCQlBMTE3NUI1NzFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNl
YXJjaFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVyLmgg
Ki87IH07CiAJCUExMTc1QjU4MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJvdmlk
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEx
NzVCNTYxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgKi87IH07
CiAJCUExMTc1QjVBMUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1QjU5MUY2QjRBODQw
MEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLzsgfTsKKwkJQTE2OUIwNDEyNDhFRjA1MjAw
RUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAvKiBQYXNz
S2l0SW5zdGFsbG1lbnRzU1BJLmggKi87IH07CiAJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQzQiAv
KiBQYXNzS2l0U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExRjYzQzlEMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsuaCAq
LzsgfTsKIAkJQTFGNjNDQTAyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjYzQzlFMjFB
NERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsubW0gKi87IH07CiAJCUEzMEQ0MTIxMUYw
REQwRUEwMEI3MTk1NCAvKiBLaWxsUmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5nLmgg
Ki87IH07CkBAIC0zNDEsNiArMzQyLDcgQEAKIAkJQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYwIC8q
IERlZmF1bHRTZWFyY2hQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0U2VhcmNoUHJv
dmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExNzVCNTYxRjZCNDcwNTAw
QzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
ZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5TU2Nyb2xsVmlld1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTY5
QjA0MDI0OEVGMDM5MDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUExRjYzQzlEMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExRjYzQzlFMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBQYXNzS2l0U29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxsUmluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBLaWxsUmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDc0LDYgKzQ3Niw3IEBACiAJCQkJMEMyREExMzgxRjNCRUI0OTAwREJDMzE3
IC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUMxNUNCQjMyMjNGMzRBMTIw
MDMwMENDNyAvKiBOU1VzZXJEZWZhdWx0c1NQSS5oICovLAogCQkJCTU3MEFCOEY4MjBBRjZFM0Qw
MEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCAqLywKKwkJCQlBMTY5QjA0MDI0OEVGMDM5
MDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovLAogCQkJCTBDMkRBMTM5MUYz
QkVCNDkwMERCQzMxNyAvKiBQYXNzS2l0U1BJLmggKi8sCiAJCQkJMEMyREExM0ExRjNCRUI0OTAw
REJDMzE3IC8qIHB0aHJlYWRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQjFGM0JFQjQ5MDBEQkMzMTcg
LyogUXVhcnR6Q29yZVNQSS5oICovLApAQCAtODUwLDYgKzg1Myw3IEBACiAJCQkJMEM3Nzg1OUQx
RjQ1MTMwRjAwRjRFQkI2IC8qIE5TV2luZG93U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzBB
QjhGOTIwQUY2RTNEMDBCOEJFODcgLyogTlNYUENDb25uZWN0aW9uU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzVBRjkxRjFGNDNBNEM3MDAyRUFDMDIgLyogT3BlbkdMRVNTUEkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUExNjlCMDQxMjQ4RUYwNTIwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFsbG1l
bnRzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2RkI0M0IgLyog
UGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFGM0JFQjQ5MDBE
QkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUUxRjQ1MTMw
RjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAppbmRleCBlYWYxZDliZTI4OGY0MTU0N2Zh
NzkxNjM3MGNkMDk5YmJkMzk1NmY0Li43N2VhZGIzNGZhMTBjNDI0OWFmNWY3ZGE2NmQzMWNjYzJi
NzkwNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLmgKQEAgLTQ5LDkgKzQ5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQ
S1NoaXBwaW5nTWV0aG9kKQogCiAjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIFNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uKQotI2VuZGlmCi0KLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCiBTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSkKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5r
Lm1tCmluZGV4IGMxZmZmOTBkNWFkNmJhZjM4Yjg1ZTliYWQ1N2NkMmNiNGM3MzAxNGIuLmFiODcz
YjljNWZjMWU3MmY3YWZmODM1Nzg0NmU0ZjNkZjE2MGI1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC0zMSw2ICszMSw3IEBACiAj
aW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKKwogU09GVF9M
SU5LX1BSSVZBVEVfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQQUxfRVhQT1JUKQogCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRI
X0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwQ29uZmlndXJhdGlvbiwgUEFMX0VY
UE9SVCkKQEAgLTM4LDE0ICszOSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElP
TkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb250CiBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
UGF5bWVudFNldHVwRmVhdHVyZSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09V
UkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBSZXF1
ZXN0LCBQQUxfRVhQT1JUKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLVNPRlRf
TElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQotI2VuZGlmCi0K
LSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3Rh
bGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKLSNlbmRpZgotCiAjZWxzZSAvLyBQTEFURk9STShNQUMp
CiAKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NL
aXQsIFBBTF9FWFBPUlQpCkBAIC01NiwxNiArNDksMTMgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cEZlYXR1cmUsIFBB
TF8KIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwg
UEtQYXltZW50U2V0dXBSZXF1ZXN0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFZpZXdDb250cm9s
bGVyLCBQQUxfRVhQT1JUKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLVNPRlRf
TElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQotI2VuZGlmCisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQotU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1l
bnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCisjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JU
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQ
YXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCiAjZW5kaWYKIAot
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKLQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lU
SF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS0NvbnRhY3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGFzc0xpYnJhcnks
IFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IFBhc3NLaXQsIFBLUGF5bWVudCwgUEFMX0VYUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudHNTUEkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMDE1N2Y2NTA4YmZlZmQ0NDljMDA3ODI1NGNiYWU5MTAxM2MyMjBhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3RhbGxt
ZW50c1NQSS5oCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBB
TF9QQVNTS0lUX1NQSV9HVUFSRF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgorI2Vycm9yICJQ
bGVhc2UgI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oPiBpbnN0ZWFkIG9mIHRo
aXMgZmlsZSBkaXJlY3RseS4iCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVO
VFNfSU5fU0RLKQorCisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0ZS5o
PgorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50TWV0aG9kX1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5oPgorI2ltcG9y
dCA8UGFzc0tpdENvcmUvUEtQYXltZW50X1ByaXZhdGUuaD4KKworI2VsaWYgSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UUykKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxsbWVu
dEl0ZW1UeXBlKSB7CisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCisgICAg
UEtJbnN0YWxsbWVudEl0ZW1UeXBlUGhvbmUsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGFk
LAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVdhdGNoLAorICAgIFBLSW5zdGFsbG1lbnRJdGVt
VHlwZU1hYywKK307CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFsbG1lbnRS
ZXRhaWxDaGFubmVsKSB7CisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxVbmtub3duID0g
MCwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbEFwcCwKKyAgICBQS0luc3RhbGxtZW50
UmV0YWlsQ2hhbm5lbFdlYiwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbEluU3RvcmUs
Cit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUp
IHsKKyAgICBQS1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50ID0gNSwKK307CisKK0BpbnRl
cmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIDogTlNPYmplY3QgPE5TU2Vj
dXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSA6
IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1lbnQg
KCkgPE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5n
ICppbnN0YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbjsKK0BlbmQKKworQGludGVyZmFjZSBQS1Bh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVyZVR5cGUgZmVhdHVyZTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5kaXNpbmdJbWFnZURhdGE7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKm9wZW5Ub0J1eVRocmVzaG9sZEFt
b3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAqYmlu
ZGluZ1RvdGFsQW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpj
dXJyZW5jeUNvZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNJblN0
b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNoYXNlOworQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOworQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtICo+
ICppbnN0YWxsbWVudEl0ZW1zOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGljdGlv
bmFyeTxOU1N0cmluZyAqLCBpZD4gKmFwcGxpY2F0aW9uTWV0YWRhdGE7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVs
OworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSAoKQorQHByb3Bl
cnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGluc3RhbGxtZW50
SXRlbVR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVtYmVyICph
bW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5Q29k
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbUlkZW50aWZp
ZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVtYmVyICphcHI7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1UZXJtczsKK0BlbmQK
KworQGludGVyZmFjZSBQS1BheW1lbnRNZXRob2QgKCkgPE5TU2VjdXJlQ29kaW5nPgorQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpiaW5kVG9rZW47CitAZW5kCisKK0BpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikg
UEtQYXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBz
dHJvbmcpIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiAqaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVxdWVz
dFR5cGUgcmVxdWVzdFR5cGU7CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdFBh
eW1lbnRNZXRob2RVcGRhdGUgKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmlu
ZyAqaW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXI7CitAZW5kCisKKyNlbmRpZiAvLyBIQVZFKFBB
U1NLSVRfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2Ev
UGFzc0tpdFNQSS5oCmluZGV4IDAxODAxN2VkMzAyNzFjYzNlOWI1MzA3YmYyZTY3MTZhZDBlMjM1
MTAuLjllZTcyZTc4Y2EzYjI3NjM2MGEzOWRhYjljNjU3ZjY4MzEzYmRjMGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTQ0LDI0ICs0NCwy
MSBAQCBXVEZfRVhURVJOX0NfRU5ECiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFBhc3MuaD4K
ICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyX1By
aXZhdGUuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50TWV0aG9kLmg+Ci0jaW1wb3J0IDxQ
YXNzS2l0L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tpdC9QS1Bh
eW1lbnRSZXF1ZXN0U3RhdHVzLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwQ29u
ZmlndXJhdGlvbl9XZWJLaXQuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBDb250
cm9sbGVyLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwUmVxdWVzdC5oPgotI2lt
cG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CiAjaW1w
b3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0X1dlYktpdC5oPgogCi0jaWYgSEFWRShQ
QVNTS0lUX0lOU1RBTExNRU5UUykKLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24uaD4KLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRlLmg+
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0IDxQYXNzS2l0L1BL
UGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NL
aXQvUEtQYXltZW50U2V0dXBWaWV3Q29udHJvbGxlci5oPgogI2VuZGlmCiAKKyNpZiAhSEFWRShQ
QVNTS0lUX0lOU1RBTExNRU5UUykKKyNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Q
cml2YXRlLmg+CisjZW5kaWYKKwogI2Vsc2UKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CkBAIC0zMzYsNDIgKzMzMyw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVnZXIs
IFBLUGF5bWVudFNldHVwRmVhdHVyZVN1cHBvcnRlZE9wdGlvbnMpIHsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzdHJvbmcpIE5TQXJyYXkgPFBLUGF5bWVudFNldHVwRmVhdHVyZSAqPiAqcGF5bWVu
dFNldHVwRmVhdHVyZXM7CiBAZW5kCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQot
Ci10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUpIHsKLSAg
ICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKLSAgICBQS0luc3RhbGxtZW50SXRl
bVR5cGVQaG9uZSwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCi0gICAgUEtJbnN0YWxs
bWVudEl0ZW1UeXBlV2F0Y2gsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjCi19OwotCi10
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKLSAgICBQ
S1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50ID0gNSwKLX07Ci0KLUBpbnRlcmZhY2UgUEtQ
YXltZW50ICgpIDxOU1NlY3VyZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U1N0cmluZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47Ci1AZW5kCi0KLUBpbnRlcmZh
Y2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3VyZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOwotQGVuZAotCi1AaW50ZXJmYWNlIFBLUGF5
bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4K
LUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVyZVR5cGUg
ZmVhdHVyZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5kaXNp
bmdJbWFnZURhdGE7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1i
ZXIgKm9wZW5Ub0J1eVRocmVzaG9sZEFtb3VudDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJv
bmcpIE5TRGVjaW1hbE51bWJlciAqYmluZGluZ1RvdGFsQW1vdW50OwotQHByb3BlcnR5IChub25h
dG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJyZW5jeUNvZGU7Ci1AcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduLCBnZXR0ZXI9aXNJblN0b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNoYXNl
OwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGlu
c3RhbGxtZW50SXRlbVR5cGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcg
Kmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOwotQHByb3BlcnR5IChub25hdG9taWMsIGNv
cHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7Ci1AZW5kCi0KLSNlbmRpZgotCiBAaW50
ZXJmYWNlIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbiA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGlu
ZywgTlNDb3B5aW5nPgogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGljdGlvbmFyeTooTlNEaWN0
aW9uYXJ5ICopZGljdGlvbmFyeTsKIEBlbmQKQEAgLTM5NiwyMCArMzU3LDE1IEBAIHR5cGVkZWYg
TlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgewogQHByb3BlcnR5IChu
b25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRp
ZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBs
aWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25n
KSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOwotI2lmIEhBVkUoUEFTU0tJ
VF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBQS1BheW1lbnRJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLUBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVlc3RUeXBlIHJlcXVlc3RUeXBl
OworI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOwog
I2VuZGlmCiBAZW5kCiAKKyNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIEBpbnRlcmZh
Y2UgUEtQYXltZW50UmVxdWVzdCAoKQogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQ
YXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsKIEBlbmQKLQotI2lmIEhBVkUoUEFTU0tJVF9C
T1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKLUBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdCAo
KQotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlk
ZW50aWZpZXI7Ci1AZW5kCiAjZW5kaWYKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECkBAIC00NTIs
OSArNDA4LDYgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBlbmQKIAogQGludGVyZmFjZSBQ
S1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRh
dGUKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudEdyb3VwSWRlbnRpZmllcjsKLSNlbmRpZgogQGVu
ZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgOiBQ
S1BheW1lbnRSZXF1ZXN0VXBkYXRlCkBAIC00ODQsMyArNDM3LDcgQEAgTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KIHR5cGVkZWYgdm9pZCheUEtDYW5NYWtlUGF5bWVudHNDb21wbGV0aW9uKShCT09M
IGlzVmFsaWQsIE5TRXJyb3IgKik7CiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORAorCisjZGVmaW5l
IFBBTF9QQVNTS0lUX1NQSV9HVUFSRF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgorI2ltcG9y
dCAiUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIgorI3VuZGVmIFBBTF9QQVNTS0lUX1NQSV9HVUFS
RF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXgg
YTI1Mjg2ZTBhNjgzMTZlMDE3YzkxNDBiOTA0ODJiZGUwODU5MTAyYi4uOGMxZDY2M2IxMWY4Y2E4
MzI3NjJmMGFiNDcwOWFlYjEwYzY3ZjVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC02
MTMsNiArNjEzLDcgQEAgV0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5jcHAKICAgICBN
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLm1tCiAgICAgTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50U2Vzc2lvbi5jcHAKIAorICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2Ev
UGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5
bWVudENvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFjdENv
Y29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50TWVyY2hhbnRTZXNzaW9u
Q29jb2EubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA1MjY1ZGI1ODM4MmE4OTA2MGIzNjMxNTZiZjhmMTdmNDAzMmI1ODgxLi5m
NzU4ZjA3MjFkZmViMGMyYjc2YzQ2OGY1YzFkNDMzYzllZTg3MGVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMDI2LDYgKzMw
MjYsNyBAQAogCQlBMTY3N0UwRTIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9ycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2NzdFMEIyMTNF
MDJBMDAwQTA4QzM0IC8qIEFkZHJlc3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTMyMTNFMDND
NjAwQTA4QzM0IC8qIEpTQWRkcmVzc0Vycm9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2NzdFMTEyMTNFMDNDNTAwQTA4QzM0IC8qIEpTQWRkcmVz
c0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxNzIxM0UwM0YxMDBBMDhDMzQgLyogSlNQYXllckVy
cm9yRmllbGRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTY3N0UxNTIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9yRmllbGRzLmggKi87IH07
CisJCUExNjlCMDQzMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2OUIwNDIyNDhGMDM3
QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi87IH07CiAJCUExNzYzRjNGMUUyMDUy
MzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNzYzRjNEMUUyMDUyMzQwMDFENThERSAvKiBX
ZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlBMTc2M0Y0MTFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3JrLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExNzYzRjQwMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrICovOyB9Owog
CQlBMTdDODEyMzBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTdDODEyMTBGMkE1Q0Y3
MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi87IH07CkBAIC0xMTU3OCw2ICsxMTU3
OSw4IEBACiAJCUExNjc3RTE1MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVsZHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQYXllckVycm9yRmllbGRzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNjc3RTE2MjEzRTAzRjAwMEEwOEMzNCAv
KiBKU1BheWVyRXJyb3JGaWVsZHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNQYXllckVycm9yRmllbGRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTE2NzdFMjQyMTQ0NTMyODAwQTA4QzM0IC8qIEpTUGF5bWVudE1ldGhvZENoYW5nZUV2ZW50
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGF5bWVudE1ldGhvZENoYW5nZUV2ZW50
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2OUIwNDIyNDhGMDM3
QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRB
UElWZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQ1MjQ4RjA0
MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTE3NjNGM0MxRTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkFyY2hpdmVEdW1w
U3VwcG9ydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3NjNGM0QxRTIwNTIz
NDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTE3NjNGNDAxRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFtZXdv
cmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFw
cGVyLmZyYW1ld29yazsgbmFtZSA9IENGTmV0d29yay5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtS
T09UOyB9OwpAQCAtMTc0NzAsNiArMTc0NzMsNyBAQAogCQkJCTFBOEE2NDRGMUQxOUZDRkIwMEQw
RTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oICovLAogCQkJCTFBOEE2NDUw
MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgKi8s
CiAJCQkJMUE4QTY0MzcxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnQuaCAqLywKKwkJCQlBMTY5
QjA0MjI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCAqLywKIAkJCQkxQUU5
NkE4NjFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaCAqLywK
IAkJCQkxQThBNjQzODFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3QuaCAqLywKIAkJ
CQkxQTU4RTg2QjFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywK
QEAgLTE3NDk1LDYgKzE3NDk5LDcgQEAKIAkJMUE1OEU4NjkxRDE5RDhDMDAwQzBFQTczIC8qIGNv
Y29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBMTY5
QjA0NTI0OEYwNDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbSAqLywKIAkJ
CQkxQThBNjQ2OTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENvY29hLm1tICovLAogCQkJCTFB
OEE2NDZBMUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdENvY29hLm1tICovLAogCQkJ
CTFBREE0QTFCMUQyMkYyQzAwMDVBOUExNSAvKiBQYXltZW50TWVyY2hhbnRTZXNzaW9uQ29jb2Eu
bW0gKi8sCkBAIC0yOTk5Miw2ICsyOTk5Nyw3IEBACiAJCQkJRURFM0E1MDAwQzdBNDMwNjAwOTU2
QTM3IC8qIENvbG9yTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0FDNkFFOTI0N0YwODJGMDBF
NjFENTkgLyogQ29sb3JNYXRyaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTkzODJERjU4MTBBOEQ1
QzkwMDkyNTY1MiAvKiBDb2xvclNwYWNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QzAyOUM2RTI0
OTNDOEY4MDAyNjgyMDQgLyogQ29sb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZFQUY2
NkIyM0JGQzM5RTAwNDAzMERBIC8qIENvbG9yVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0RENDU0RTEyMzZDOTVDMDA5QTc5ODUgLyogQ29sdW1uSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDNFREQ2N0YxQjQ4NURCRjAwNjQwRTc1IC8qIENvbWJpbmVkRmlsdGVyc0FscGhhYmV0
LmggaW4gSGVhZGVycyAqLywKQEAgLTMyNDEwLDYgKzMyNDE2LDcgQEAKIAkJCQlBMTY3N0UwODIx
M0UwMjRDMDBBMDhDMzQgLyogUGF5ZXJFcnJvckZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUE4QTY0M0ExRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExRjc2QjQzMUY0NENGN0YwMDE0QzMxOCAvKiBQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQTE2OUIwNDMyNDhGMDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4ODFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1
dGhvcml6YXRpb25TdGF0dXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjc2QjVCMUY0NEQzQjIw
MDE0QzMxOCAvKiBQYXltZW50Q29tcGxldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDNC
MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MzExMCw3ICszMzExNyw2IEBACiAJCQkJRkUzNkZEMTgxNkM3ODI2NTAwRjg4N0MxIC8qIFNRTFRy
YW5zYWN0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFMzZGRDE3MTZDNzgyNjUwMEY4
ODdDMSAvKiBTUUxUcmFuc2FjdGlvblN0YXRlTWFjaGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUEyRTZFNUEwQ0M1NTIxMzAwNEEyMDYyIC8qIFNRTFZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk3QzAyOUM2RTI0OTNDOEY4MDAyNjgyMDQgLyogQ29sb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGMTk5NjMwODI0NUU1OTAwMUU5QUJDIC8qIFNTTEtleUdlbmVyYXRvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjZCOTk5OTExODAzQjNDOTAwRDAxMTIxIC8qIFN0YWNrQWxsb2NhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdGQTYyRDBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGlj
Tm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJkOGM2OTc5MTE2Yjc4ZDA2NjFlM2Zj
M2I3YTgxNWRiOTQwNmZkYzEuLjIzZDQwODI2NTlhNjNkZWJhNjNjYmQwMjk3MDhmZDM5ZTk5NDNl
YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rl
c0BhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0ZXN0cyBv
biBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWw6IENoYW5n
ZWQgdG8gZmFpbCBpbnN0ZWFkIG9mCisgICAgICAgIHRpbWUgb3V0IHdoZW4gQVBJIHZlcnNpb24g
OSBpc24ndCBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9B
cHBsZVBheUVycm9yLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uVjMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25WNC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvblY1Lmh0bWw6IFJlbW92ZWQgYSBjdXN0b20gZWxlbWVudC1jbGlja2lu
ZyBmdW5jdGlvbgorICAgICAgICBhbmQgdXNlZCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQgaW5z
dGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczogVW4t
c2tpcHBlZCBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS4KKyAgICAgICAgTWFya2VkIFBheW1lbnRS
ZXF1ZXN0Lmh0dHBzLmh0bWwgYXMgU2xvdy4gTWFya2VkIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVt
cy5odHRwcy5odG1sIGFzCisgICAgICAgIEZhaWx1cmUuCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGEgdHJhaWxpbmcgJy8nLiBTa2lwcGVkCisg
ICAgICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIG9uIE1vamF2ZSBhbmQg
bWFya2VkIGl0IGFzIEZhaWx1cmUgb24gQ2F0YWxpbmEuCisKIDIwMjAtMDYtMTYgIEphc29uIExh
d3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyB3azJdIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctbWFpbi1m
cmFtZS5odG1sIGlzIGZsYWt5IHRpbWluZyBvdXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9yLmh0bWwKaW5kZXggMWY5MzEyNTc1
ZTViZjUxMTdhZGYwNzg2ZDIyNjFhNjkzNmQ3YzFhMi4uNjhmYjg0YTYwZDZiNWVkNTI1MGRmZjgw
NTc5NGE0MmJjZjgwZTQ1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbApAQCAtMiw3ICsyLDggQEAKIDxodG1sPgog
PGhlYWQ+CiAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgotICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxzY3JpcHQ+CkBAIC01NCwyNiArNTUsMTIgQEAKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKLSAgICAgICAgbGV0
IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgICAgICBsZXQgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgMjsKLQotICAgICAgICB2YXIgc3VwcG9ydHNUb3VjaEV2ZW50cyA9ICJUb3VjaEV2
ZW50IiBpbiB3aW5kb3c7Ci0gICAgICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRv
dy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRh
cEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgp
IHsgfSk7Ci0gICAgICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlRG93bigpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotICAg
ICAgICB9Ci0gICAgfQotCiAgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgICAg
ICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9u
IikpOwogICAgIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0
b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMu
aHRtbAppbmRleCBlYjc1YzQzMGE4N2MzYjI0YTA3ZDA3OGI3NjU4MWIzOTgzYmRkMDliLi43YjE3
Mjk0YTliOThhM2EwMTg2ZDhjNTk1ZmNhOTMwZmE4M2YzOGNkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbApAQCAtNjIsNiArNjIsMTIgQEAgbGV0IHZhbGlk
UmVxdWVzdCA9ICgpID0+IHsKIAogYWN0aXZhdGVUaGVuKCgpID0+IHsKIAorICAgIGlmICghQXBw
bGVQYXlTZXNzaW9uLnN1cHBvcnRzVmVyc2lvbihhcGlWZXJzaW9uKSkgeworICAgICAgICB0ZXN0
RmFpbGVkKGBUaGlzIGJ1aWxkIGRvZXMgbm90IHN1cHBvcnQgQVBJIHZlcnNpb24gJHthcGlWZXJz
aW9ufS5gKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBkZWJ1ZygnVGVzdCBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMnKTsKICAg
ICBzaG91bGRUaHJvdygncmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0Lmluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9IDQ7IG5ldyBBcHBsZVBheVNlc3Npb24oYXBpVmVyc2lv
biwgcmVxdWVzdCknKTsKICAgICBzaG91bGRUaHJvdygncmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgp
OyByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtcyA9ICIiOyBuZXcgQXBwbGVQ
YXlTZXNzaW9uKGFwaVZlcnNpb24sIHJlcXVlc3QpJyk7CkBAIC0xMDcsOCArMTEzLDYgQEAgYWN0
aXZhdGVUaGVuKCgpID0+IHsKICAgICBkZWJ1ZygnJyk7CiAKICAgICBkZWJ1ZygnVGVzdCBwbGF0
Zm9ybSBjb252ZXJzaW9uJyk7Ci0gICAgbGV0IHNlc3Npb24gPSBuZXcgQXBwbGVQYXlTZXNzaW9u
KGFwaVZlcnNpb24sIHZhbGlkUmVxdWVzdCgpKTsKLSAgICBzZXNzaW9uLmJlZ2luKCk7CiAgICAg
c2hvdWxkQmUoJ2ludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbi5pdGVtcy5sZW5ndGgnLCAnMicpOwogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXNbMF0u
dHlwZScsICdleHBlY3RlZEl0ZW1UeXBlJyk7CiAgICAgc2hvdWxkQmUoJ2ludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pdGVtc1swXS5hbW91
bnQnLCAnZXhwZWN0ZWRJdGVtQW1vdW50Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sCmluZGV4IGYxMGQxYjli
NWY5NTI2MmI5N2E1YzZjMWIwZGU0MDM3NzhhM2FlNmMuLjIwMWU3ZDNjNmMwN2Q0NWE2ZGRjM2U1
NmIyYTdhNmIwYzZlN2QxZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5odG1sCkBAIC0yLDcgKzIsOCBAQAogPGh0
bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0
LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpA
QCAtMjMwLDI2ICsyMzEsMTIgQEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZmluaXNoSlNUZXN0KCk7
CiB9CiAKLWZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgbGV0IHggPSBlbGVt
ZW50Lm9mZnNldExlZnQgKyAyOwotICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOwot
Ci0gICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93Owot
ICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RS
dW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1
bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5j
dGlvbigpIHsgfSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9KTsKLSAgICB9IGVsc2UgaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5
KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
ICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgIFVJ
SGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7
CiB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCmluZGV4IDJhMDIwM2FmOTllYzM0OTdjNzhiZTRh
ZDliODI1Y2VmMGQzYWE3MmYuLmE1MWUyMTYwNzI0ZmNmOTE3Nzg1ODEwZmJkYzNlNTQyOGMwZmNl
NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblYzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbApAQCAtMiw3ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+
CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTczLDI2ICs3
NCwxMiBAQCBmdW5jdGlvbiBnbygpIHsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotZnVuY3Rp
b24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKLSAgICBsZXQgeCA9IGVsZW1lbnQub2Zmc2V0TGVm
dCArIDI7Ci0gICAgbGV0IHkgPSBlbGVtZW50Lm9mZnNldFRvcCArIDI7Ci0KLSAgICB2YXIgc3Vw
cG9ydHNUb3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7Ci0gICAgaWYgKHN1cHBv
cnRzVG91Y2hFdmVudHMgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgdGVzdFJ1bm5lci5ydW5VSVNj
cmlwdCkgewotICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVp
Q29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsg
fSkoKTtgLCBmdW5jdGlvbiAoKSB7IH0pOwotICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwotICAgICAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwot
ICAgIH0KLX0KLQogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGNsaWNrRWxlbWVu
dChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CisgICAgVUlIZWxwZXIuYWN0aXZh
dGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKIH0KIAogPC9zY3Jp
cHQ+CiA8YnV0dG9uIG9uY2xpY2s9J2dvKCknPkdvPC9idXR0b24+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uVjQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvblY0Lmh0bWwKaW5kZXggYTE4YzMyN2E3YzE2OTVjM2EzMDkzZDVhZmI4ZGVkMDRlOGZl
YjJhNi4uMmU5YjY5OThiNzE3ODY4YWFjZWI5ODk1NmYwODViZmI1ZmI0NDc2NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WNC5odG1sCkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtNjEsMjYgKzYyLDEyIEBAIGZ1bmN0
aW9uIGdvKCkgewogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiBjbGlja0VsZW1l
bnQoZWxlbWVudCkgewotICAgIGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICBs
ZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKLQotICAgIHZhciBzdXBwb3J0c1RvdWNoRXZl
bnRzID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsKLSAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50
cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNp
bmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0
aW9uICgpIHsgfSk7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCiB3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOwogfQogCiA8L3NjcmlwdD4KIDxidXR0b24g
b25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjUuaHRt
bAppbmRleCAzNzg5MGE3YTU4YTEwMGFjYzMyMDkxNzNiNjQwN2VhNzQwNjBlNjQxLi5iNTYwYTZj
M2M5ZmFjYTU5NzdkNGRjMDBhM2YxNDYyNDM3MjJhY2I1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY1Lmh0bWwK
QEAgLTIsNyArMiw4IEBACiA8aHRtbD4KIDxoZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC01NywyNiArNTgsMTIgQEAgZnVuY3Rpb24gZ28oKSB7CiAg
ICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7
Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAyOwotICAgIGxldCB5ID0gZWxlbWVu
dC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hF
dmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50
ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1bm5l
ci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2lu
dCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9KTsK
LSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0g
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigi
YnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdnbygp
Jz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyOTI4YTdlMDc1YzY5NGM0YjRkYmU5ZTA5NTcxMDRh
MGM2ZWYxY2FiLi5hNzliNDMxZDc4YTExNTE3NmQxZWIxNTQyYzA4MjhlNzVhNzdhZTYzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC00Myw3
ICs0MywxMCBAQCBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY29udGFpbi5odG1sIFsg
U2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY292ZXIuaHRtbCBbIFNraXAg
XQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWF1dG8uaHRtbCBbIFNraXAgXQogCi1o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUJpbGxpbmdBZGRyZXNzLmh0bWwgWyBQYXNz
IF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5IFsgUGFzcyBdCit3ZWJraXQub3JnL2IvMjEyOTc1
IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwgWyBQYXNz
IFRpbWVvdXQgXQorCit3ZWJraXQub3JnL2IvMjEyOTk4IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiAKIGh0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWYwMDQ4ZTJlODY5OThiZjVhNGJmODZiZjkz
MjE2MTgxYTlmMmIzMS4uZWE1YmFiYmExZGIxMjc2Y2Y3MGFiMzIyNDc3ZDA3M2YzNDk3NmMzNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MzQsMTMgKzM0LDEzIEBAIGZhc3QvbWVkaWEvbXEtaW52ZXJ0ZWQtY29sb3JzLWxpdmUtdXBkYXRl
LWluLXN1YmZyYW1lcy5odG1sIFsgUGFzcyBdCiBmYXN0L21lZGlhL21xLW1vbm9jaHJvbWUtbGl2
ZS11cGRhdGUuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1wcmVmZXJzLXJlZHVjZWQtbW90
aW9uLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIAotaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
IFsgUGFzcyBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFBhc3MgXQogCi0jIEFwcGxlUGF5
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIHdhcyBmaXJzdCBhdmFpbGFibGUgaW4gQ2F0YWxpbmEu
CisjIEFQUExFX1BBWV9JTlNUQUxMTUVOVFMgd2FzIGZpcnN0IGF2YWlsYWJsZSBpbiBDYXRhbGlu
YS4KIFsgTW9qYXZlIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24uaHR0cHMuaHRtbCBbIFNraXAgXQorWyBNb2phdmUgXSBodHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBbIFNraXAg
XQogCi0jIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtIGlzIG5vdCBhdmFpbGFibGUgaW4gTW9qYXZl
IG9yIENhdGFsaW5hLgotWyBNb2phdmUgQ2F0YWxpbmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9y
Zy9iLzIxMjk5OCBbIENhdGFsaW5hIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIAogZmFzdC92aXN1YWwtdmll
d3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zp
c3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLWhlYWRlci1mb290ZXIu
aHRtbCAgWyBQYXNzIF0KQEAgLTEwMzQsNCArMTAzNCw0IEBAIHdlYmtpdC5vcmcvYi8yMTI4MjQg
WyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1
ZGlvCiB3ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9tYWMvc2Ny
b2xsYmFycy9vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3
ZWJraXQub3JnL2IvMjEyMDQyIFsgRGVidWcgXSBmYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFy
cy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQog
Ci13ZWJraXQub3JnL2IvMjEzMjEyIFsgTW9qYXZlIFJlbGVhc2UgXSB3ZWJnbC8yLjAuMC9jb25m
b3JtYW5jZTIvdGV4dHVyZXMvY2FudmFzX3N1Yl9yZWN0YW5nbGUvdGV4LTJkLXJnYjE2Zi1yZ2It
aGFsZl9mbG9hdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCit3ZWJraXQub3JnL2IvMjEzMjEyIFsgTW9qYXZlIFJlbGVhc2UgXSB3ZWJnbC8yLjAuMC9j
b25mb3JtYW5jZTIvdGV4dHVyZXMvY2FudmFzX3N1Yl9yZWN0YW5nbGUvdGV4LTJkLXJnYjE2Zi1y
Z2ItaGFsZl9mbG9hdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402107</attachid>
            <date>2020-06-17 08:00:43 -0700</date>
            <delta_ts>2020-06-17 08:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212955-20200617080043.patch</filename>
            <type>text/plain</type>
            <size>60400</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE0ZGRmMDVjZGJjODllODhkOWVjODRl
YzRlNzUwMjI5NjczMjEzMTUuLjNmODVlOGQ2ZmVmOTZhNzZmMzExYzE4NWIwM2Q2MjdkMDBkYWYz
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIEVuYWJsZSBsYXlvdXQgdGVzdHMgb24g
bW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMjk1NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzQxNTY+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmg6IFJlbW92ZWQgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVO
VElGSUVSUywKKyAgICAgICAgRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywgRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y4LAorICAgICAgICBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjksIGFuZCBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEwLgorICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybUhhdmUuaDogUmVtb3ZlZCBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklF
UlMgYW5kIGNvcnJlY3RlZCBpT1MgdmVyc2lvbgorICAgICAgICBjaGVja3MgZm9yIEhBVkVfUEFT
U0tJVF9JTlNUQUxMTUVOVFMuCisKIDIwMjAtMDYtMTYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgRml4IGJ1aWxkIHdpdGggIUhBVkUoTUFDSElO
RV9DT05URVhUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFhNjJjNWMyYTRiYTc3N2I4ZTA3ODU1ODVkMmE3MWJk
NmFiMGVhMGUuLmI5MGM1NmI3ZTFkNTE3OGE0YTJiNGZmM2NkMmZiZjA1OWY4Yjc4ODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0ZXN0cyBvbiBt
b3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEyOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEFkZGVkIHJ1bnRpbWUg
Y2hlY2tzIHRvIGRldGVybWluZSB0aGUgQXBwbGUgUGF5IEFQSSB2ZXJzaW9uIHdoZW4gaW5zdGFs
bG1lbnRzIGFyZSBlbmFibGVkLgorCisgICAgICAgIEVuYWJsZWQgdGVzdHMgaW4gaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkgb24gaU9TLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmg6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGw6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5o
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENo
YW5uZWwuaWRsOiBSZW1vdmVkIHVzZXMgb2YKKyAgICAgICAgQVBQTEVfUEFZX0lOU1RBTExNRU5U
X0lERU5USUZJRVJTIGFuZCBBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMgKG9yIHJlcGxhY2Vk
IHdpdGgKKyAgICAgICAgQVBQTEVfUEFZX0lOU1RBTExNRU5UUykuCisKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6
UGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQpOiBNb3ZlZCB0aGUgY29tcHV0YXRpb24gb2YgY3Vy
cmVudCBBUEkgdmVyc2lvbiBmcm9tCisgICAgICAgIFBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
c3VwcG9ydHNWZXJzaW9uIHRvIGhlcmUuIEFkZGVkIHJ1bnRpbWUgY2hlY2tzIHRvIGRldGVybWlu
ZSB0aGUKKyAgICAgICAgbGV2ZWwgb2YgUGFzc0tpdCBpbnN0YWxsbWVudHMgc3VwcG9ydCBzaW5j
ZSB3ZSBkb24ndCBoYXZlIGVub3VnaCBpbmZvcm1hdGlvbiB0byB0ZWxsIGF0CisgICAgICAgIGNv
bXBpbGUgdGltZS4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvckNsaWVu
dDo6c3VwcG9ydHNWZXJzaW9uKTogQ2hhbmdlZCB0byBjYWxsCisgICAgICAgIFBheW1lbnRBUElW
ZXJzaW9uOjpjdXJyZW50LgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoV2ViQ29yZTo6bWFrZU5TQXJyYXlF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6
YXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gY29uc3QpOiBSZW1vdmVkCisgICAgICAg
IHVzZXMgb2YgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TIGFuZCBIQVZFX1BBU1NLSVRf
SU5TVEFMTE1FTlRfSURFTlRJRklFUlMuIFVzZWQKKyAgICAgICAgcnVudGltZSBjaGVja3MgdG8g
ZGV0ZXJtaW5lIHN1cHBvcnQgZm9yIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBh
bmQKKyAgICAgICAgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLgorCisgICAgICAgICogU291cmNl
c0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IEFkZGVkIHNvdXJjZSBmaWxlcyBmb3IgUGF5bWVudEFQSVZlcnNpb24uCisKIDIwMjAtMDYtMTcg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXUZsb2F0c10g
Q2xlYW51cCBGbG9hdEF2b2lkZXIgaW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAwODky
MTFjNWRlMzlmZjE0Y2I3ZDc5NjQ1MjRlMmM3MWFjNzk3YjcyLi4xNDdhZGRlYmNkNjcyZTE2NWMy
ZGNmMjhiNDljMzg3OWU0ZGFjYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBA
QAorMjAyMC0wNi0wOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAg
W0FwcGxlIFBheV0gRW5hYmxlIGxheW91dCB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS82NDE3NDE1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENo
cmlzdGVuc2VuLgorCisgICAgICAgIFBhc3NLaXQgYWRkZWQgU1BJcyBmb3IgQXBwbGUgUGF5IGlu
c3RhbGxtZW50cyBvdmVyIGEgc2VyaWVzIG9mIGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEKKyAg
ICAgICAgbWlub3IgdXBkYXRlcy4gV2ViS2l0IHRydW5rIGlzIHN0aWxsIGJ1aWx0IGFjcm9zcyBh
IHJhbmdlIG9mIGlPUyAxMyBhbmQgbWFjT1MgQ2F0YWxpbmEgbWlub3IKKyAgICAgICAgdXBkYXRl
IFNES3MgdGhhdCBjb250YWluIG5vbmUsIHNvbWUsIG9yIGFsbCBvZiB0aGUgaW5zdGFsbG1lbnQg
U1BJcy4gSXQncyBub3QgcG9zc2libGUgdG8KKyAgICAgICAgcmVsaWFibHkgZGV0ZWN0IHRoZSBT
REsgbWlub3IgdmVyc2lvbiBhdCBjb21waWxlLXRpbWUsIHNvIGluc3RlYWQgd2Ugbm93IHVzZSBv
dXIgb3duIFNQSQorICAgICAgICBkZWNsYXJhdGlvbnMgdW5sZXNzIHdlIGtub3cgYWxsIG1pbm9y
IHZlcnNpb25zIG9mIHRoZSBtYWpvciBTREsgdmVyc2lvbiBjb250YWluIGFsbCBvZiB0aGUKKyAg
ICAgICAgaW5zdGFsbG1lbnRzIGRlZmluaXRpb25zLgorCisgICAgICAgICogUEFMLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaC4KKworICAg
ICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2Ev
UGFzc0tpdFNvZnRMaW5rLm1tOiBVc2VkIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElP
TkFMX1dJVEhfRVhQT1JUIG9uIGJvdGgKKyAgICAgICAgTWFjIGFuZCBpT1MgdG8gc29mdC1saW5r
IFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBhbmQgUEtQYXltZW50SW5zdGFsbG1l
bnRJdGVtLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRTUEku
aDogQWRkZWQuIFdoZW4gYnVpbGRpbmcgYWdhaW5zdCBhbiBTREsgdGhhdCBpcyBrbm93bgorICAg
ICAgICB0byBkZWNsYXJlIHRoZSBQYXNzS2l0IGluc3RhbGxtZW50cyBTUElzLCB0aGlzIGZpbGUg
aW5jbHVkZXMgdGhlIFNQSSBoZWFkZXJzLiBPdGhlcndpc2UsIGl0CisgICAgICAgIGRlY2xhcmVz
IHRoZSBTUElzLgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOiBNb3ZlZCBQ
YXNzS2l0IGluc3RhbGxtZW50cyBTUEkgZGVjbGFyYXRpb25zIHRvCisgICAgICAgIFBhc3NLaXRJ
bnN0YWxsbWVudFNQSS5oLgorCiAyMDIwLTA2LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmUtZW5hYmxlIGRvd25sb2FkIHJlc3VtZSB0
ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDUzZDE5Y2JiMGM5NjY3
MTg4YWFhYjJjOGU3NWQ3MGRlNmViOWNiYzIuLmI5NTdkM2YzNjAyZDMzMTJmMGE1MjEwNzBiYzA3
OWMzMGE4NzE3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29j
b2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTU1LDE0
ICs1NSw2IEBACiAjZGVmaW5lIEVOQUJMRV9BTklNQVRFRF9LRVlCT0FSRF9TQ1JPTExJTkcgMQog
I2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lERU5U
SUZJRVJTKSAmJiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCi0jZGVmaW5l
IEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMgMQotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKSAmJiBIQVZFKFBB
U1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFM
TE1FTlRfSVRFTVMgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICNkZWZpbmUgRU5BQkxF
X0FQUExFX1BBWV9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCkBAIC03MSwxOCArNjMsNiBAQAogI2Rl
ZmluZSBFTkFCTEVfQVBQTEVfUEFZX05FV19CVVRUT05fVFlQRVMgMQogI2VuZGlmCiAKLSNpZiAh
ZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjgpICYmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCi0jZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOCAxCi0jZW5kaWYK
LQotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WOSkgJiYgSEFWRShQQVNT
S0lUX0lOU1RBTExNRU5UX0lURU1TKQotI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjkgMQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjEw
KSAmJiBIQVZFKFBBU1NLSVRfTkVXX0JVVFRPTl9UWVBFUykKLSNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1YxMCAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9Q
QVlfUkVNT1RFX1VJKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKEFQUExF
VFYpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpKQogI2Rl
ZmluZSBFTkFCTEVfQVBQTEVfUEFZX1JFTU9URV9VSSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZl
LmgKaW5kZXggN2E2NTg4MDViZjk1ZDBiMzVmOWMxMGU4NWIxOGE2MGRhZTI5NmRkMy4uNTViZDhh
MTA3M2E1YTIxNjkwZTdkMTQ3MmYwOTgwY2Y3NDkzYTZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgK
QEAgLTg5LDEyICs4OSw2IEBACiAjZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNTSU9OIDEKICNlbmRp
ZgogCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQURE
UkVTUykKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZ
TUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTIDEKLSNlbmRpZgotI2VuZGlmCi0KICNpZiAhZGVm
aW5lZChVU0VfVUlLSVRfS0VZQk9BUkRfQURESVRJT05TKSAmJiAoUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShNQUNDQVRBTFlTVCkpCiAjZGVmaW5lIFVTRV9VSUtJVF9LRVlCT0FSRF9BRERJVElP
TlMgMQogI2VuZGlmCkBAIC02MjYsMTQgKzYyMCwxMiBAQAogI2RlZmluZSBIQVZFX1BBU1NLSVRf
Qk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMzA0MDApIFwKLSAgICB8fCAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZp
bmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UX0lERU5USUZJRVJTIDEKKyNpZiBQTEFURk9STShJ
T1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgog
Ci0jaWYgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTMwMDAwICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTMwMTAwKSBc
Ci0gICAgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQorI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9C
SUxMSU5HX0FERFJFU1MgMQogI2VuZGlmCiAKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShNQUNDQVRBTFlTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5p
ZGwKaW5kZXggZjNkYzE3ODk3YjVmOWYyOTliM2FlZmI4NWM1YTJmMjdlNGVjOGVhMS4uYzg3OGM4
MGFhZTE1MjY4NDU5Nzg2YTc4OWFkYTBiN2FkNDM4ODgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbi5pZGwKQEAgLTM0LDkgKzM0LDkgQEAKICAgICBET01TdHJpbmcgYmlu
ZGluZ1RvdGFsQW1vdW50OwogICAgIERPTVN0cmluZyBjdXJyZW5jeUNvZGU7CiAgICAgYm9vbGVh
biBpc0luU3RvcmVQdXJjaGFzZTsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExN
RU5UX0lERU5USUZJRVJTXSBET01TdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyOwotICAgIFtDb25k
aXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSURFTlRJRklFUlNdIERPTVN0cmluZyByZWZl
cnJlcklkZW50aWZpZXI7Ci0gICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9J
VEVNU10gc2VxdWVuY2U8QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0+IGl0ZW1zOwotICAgIFtDb25k
aXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVNdIEpTT04gYXBwbGljYXRpb25NZXRh
ZGF0YTsKLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TXSBBcHBs
ZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFubmVsID0gInVua25vd24iOwor
ICAgIERPTVN0cmluZyBtZXJjaGFudElkZW50aWZpZXI7CisgICAgRE9NU3RyaW5nIHJlZmVycmVy
SWRlbnRpZmllcjsKKyAgICBzZXF1ZW5jZTxBcHBsZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7
CisgICAgSlNPTiBhcHBsaWNhdGlvbk1ldGFkYXRhOworICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRS
ZXRhaWxDaGFubmVsIHJldGFpbENoYW5uZWwgPSAidW5rbm93biI7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmln
dXJhdGlvbldlYkNvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKaW5kZXggN2MzMTMxYmNkMzBkMTFk
M2ZhZDAxZDM1NThhMzUzNjZlZjg0ODZkOS4uYzY1MzliMDRjYWQ4MTRjYzZjMTdmN2UwZTM3Y2Vl
NjI1M2VkNDRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2Vi
Q29yZS5oCkBAIC00MiwxNSArNDIsMTEgQEAgc3RydWN0IEFwcGxlUGF5SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uIHsKICAgICBTdHJpbmcgYmluZGluZ1RvdGFsQW1vdW50OwogICAgIFN0cmluZyBj
dXJyZW5jeUNvZGU7CiAgICAgYm9vbCBpc0luU3RvcmVQdXJjaGFzZSB7IGZhbHNlIH07Ci0jaWYg
RU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JREVOVElGSUVSUykKICAgICBTdHJpbmcgbWVy
Y2hhbnRJZGVudGlmaWVyOwogICAgIFN0cmluZyByZWZlcnJlcklkZW50aWZpZXI7Ci0jZW5kaWYK
LSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQogICAgIFZlY3RvcjxBcHBs
ZVBheUluc3RhbGxtZW50SXRlbT4gaXRlbXM7CiAgICAgU3RyaW5nIGFwcGxpY2F0aW9uTWV0YWRh
dGE7CiAgICAgQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwgcmV0YWlsQ2hhbm5lbCB7
IEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsOjpVbmtub3duIH07Ci0jZW5kaWYKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaAppbmRleCBlNmNhYTJh
MGNlMGExNDA5ZjdmOTRhMzU1ZDFiZDA0ZTgxYjg1MTlkLi5lOWY4OGM3ZTE3OTk1ZWQyOTc3ODA5
YzA2Yjc2ODFjMjY3YTMwY2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5oCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVN
UykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKIAogI2luY2x1ZGUgIkFwcGxl
UGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpAQCAtNDMsNCArNDMsNCBAQCBzdHJ1Y3QgQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0gewogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RB
TExNRU5UX0lURU1TKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3Rh
bGxtZW50SXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtLmlkbAppbmRleCAxNTVhNmQ2OTk0MjE3OGFhN2I2Y2ZmZGM3Njg2NTc4
ZmZkMWNkZTg2Li5kYzYxNWU2MGE0MmJmMGE3YzFiMTU0ODFjNWU2ZDc5ZmZlZDYxNGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRJdGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtLmlkbApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIFsKLSAgICBDb25k
aXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMsCisgICAgQ29uZGl0aW9uYWw9QVBQ
TEVfUEFZX0lOU1RBTExNRU5UUywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gZGljdGlv
bmFyeSBBcHBsZVBheUluc3RhbGxtZW50SXRlbSB7CiAgICAgQXBwbGVQYXlJbnN0YWxsbWVudEl0
ZW1UeXBlIHR5cGUgPSAiZ2VuZXJpYyI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaAppbmRleCAy
ZGNmYmU2OGMyYTIxZGY1Njg1M2JjYWRlYTk3M2ZhZmUwNGJkZTE2Li5jMzM4MWZkMWRjMzUyZTdi
MzM1M2VkYmMzMjQ3MTYwZjU5Njc2YjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lO
U1RBTExNRU5UX0lURU1TKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDQgKzM5LDQgQEAgZW51bSBjbGFzcyBBcHBsZVBh
eUluc3RhbGxtZW50SXRlbVR5cGUgOiB1aW50OF90IHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUykKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1U
eXBlLmlkbAppbmRleCA3MzYzMjU3NzFmNWI2ZjY1YzM5NmFjNTM1OTBkNjgzYzI3N2QwN2E1Li5i
NDBhYzMwMmRmMWE2MTg1Y2UzYjk4N2M0OTQ5MGM0ZTYzNGI1N2RhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxt
ZW50SXRlbVR5cGUuaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlv
bmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9Q
QVlfSU5TVEFMTE1FTlRTLAogXSBlbnVtIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZSB7CiAg
ICAgImdlbmVyaWMiLAogICAgICJwaG9uZSIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFu
bmVsLmgKaW5kZXggMzhjYjlkYjQzMjAxYWU5Zjc3ODU3OWQxNDlhMzBkZmMxNTliYjIwZi4uNjE3
ZTE4NDY4ZDdlNTk5OThiNDA1ZWI5Yjk2Yjg5NDc2OGRmOTM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5l
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxs
bWVudFJldGFpbENoYW5uZWwuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRfSVRFTVMpCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9JTlNUQUxMTUVOVFMpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgsNCArMzgs
NCBAQCBlbnVtIGNsYXNzIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIDogdWludDhf
dCB7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfSU5TVEFMTE1FTlRfSVRFTVMpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxM
TUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsCmluZGV4IGQwOGIx
MDMxMDY0YTUzODY4NzdjZTUzZTUyYjQ4NzBlN2U0NTAzMmUuLmUyNTAwMjcwZjY2YmQyZGI2YjQz
MzMwNTRjOTU2MmFhZmIwMjJkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwuaWRsCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogWwotICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9JTlNUQUxMTUVOVF9JVEVNUywKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFM
TE1FTlRTLAogXSBlbnVtIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsIHsKICAgICAi
dW5rbm93biIsCiAgICAgImFwcCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRBUElWZXJzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RiODI0ZGM4MTdlMDIxMGI5
MWNjZGQ5ZWZjMDE3ZTc3Yzk3MzNiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEFQSVZlcnNpb24uaApAQCAtMCwwICsxLDM4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQYXltZW50QVBJVmVyc2lvbiB7CisgICAgc3RhdGlj
IHVuc2lnbmVkIGN1cnJlbnQoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKaW5kZXggYWM3
NGE0YmYzYjVlNTljMzJmNTFlNTM4MWNmZDBmZDFkZmFlNmUwNy4uNmQyYjRjYWVkMDBhYzljZDRh
NWUwOTdmYTgxZjUzOTQ3N2YxMzkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcApAQCAtMjgs
MjMgKzI4LDE0IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCisjaW5jbHVkZSAiUGF5bWVu
dEFQSVZlcnNpb24uaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBib29sIFBheW1lbnRDb29y
ZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCiB7Ci0gICAg
QVNTRVJUKHZlcnNpb24gPiAwKTsKLQotI2lmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjgp
Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNzsKLSNlbGlmICFF
TkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjkpCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1
cnJlbnRWZXJzaW9uID0gODsKLSNlbGlmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjEwKQot
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDk7Ci0jZWxzZQotICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDEwOwotI2VuZGlmCi0KLSAg
ICByZXR1cm4gdmVyc2lvbiA8PSBjdXJyZW50VmVyc2lvbjsKKyAgICBBU1NFUlQodmVyc2lvbik7
CisgICAgcmV0dXJuIHZlcnNpb24gPD0gUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
Lm1tCmluZGV4IDU4MDUxYmZjYzBhODQ4ZmFhMWZkODRmNWUzNGFlNzVmNDQzNGU1NTAuLjdlMjMx
OWU2OTZjMjk5MTRiMDVlYjFiNThkNDlhMDc5Y2ViNWM0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24ubW0KQEAgLTgwLDggKzgwLDYgQEAgc3RhdGljIFBLUGF5bWVudFNldHVw
RmVhdHVyZVR5cGUgcGxhdGZvcm1GZWF0dXJlVHlwZShBcHBsZVBheVNldHVwRmVhdHVyZVR5cGUg
ZmUKICAgICB9CiB9CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi0KIHN0
YXRpYyBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUgYXBwbGVQYXlJdGVtVHlwZShQS0luc3Rh
bGxtZW50SXRlbVR5cGUgaXRlbVR5cGUpCiB7CiAgICAgc3dpdGNoIChpdGVtVHlwZSkgewpAQCAt
MTQ0LDYgKzE0Miw3IEBAIHN0YXRpYyBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCBwbGF0Zm9y
bVJldGFpbENoYW5uZWwoQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpCiAKIHN0YXRpYyBSZXRhaW5Q
dHI8aWQ+IG1ha2VOU0FycmF5RWxlbWVudChjb25zdCBBcHBsZVBheUluc3RhbGxtZW50SXRlbSYg
aXRlbSkKIHsKKyAgICBBU1NFUlQoUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFz
cygpKTsKICAgICBhdXRvIGluc3RhbGxtZW50SXRlbSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1Bh
eW1lbnRJbnN0YWxsbWVudEl0ZW1JbnN0YW5jZSgpIGluaXRdKTsKICAgICBbaW5zdGFsbG1lbnRJ
dGVtIHNldEluc3RhbGxtZW50SXRlbVR5cGU6cGxhdGZvcm1JdGVtVHlwZShpdGVtLnR5cGUpXTsK
ICAgICBbaW5zdGFsbG1lbnRJdGVtIHNldEFtb3VudDp0b0RlY2ltYWxOdW1iZXIoaXRlbS5hbW91
bnQpXTsKQEAgLTE3MCwxMCArMTY5LDExIEBAIHN0YXRpYyBPcHRpb25hbDxBcHBsZVBheUluc3Rh
bGxtZW50SXRlbT4gbWFrZVZlY3RvckVsZW1lbnQoY29uc3QgQXBwbGVQYXlJbnN0YWxsCiAgICAg
fTsKIH0KIAotI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykKLQogc3Rh
dGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24+IGNyZWF0ZVBs
YXRmb3JtQ29uZmlndXJhdGlvbihjb25zdCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlv
biYgY29yZUNvbmZpZ3VyYXRpb24sIE5TRGljdGlvbmFyeSAqYXBwbGljYXRpb25NZXRhZGF0YSkK
IHsKKyAgICBpZiAoIVBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xh
c3MoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKwogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25JbnN0YW5j
ZSgpIGluaXRdKTsKIAogICAgIFtjb25maWd1cmF0aW9uIHNldEZlYXR1cmU6cGxhdGZvcm1GZWF0
dXJlVHlwZShjb3JlQ29uZmlndXJhdGlvbi5mZWF0dXJlVHlwZSldOwpAQCAtMTg1LDI5ICsxODUs
MTUgQEAgc3RhdGljIFJldGFpblB0cjxQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24+
IGNyZWF0ZVBsYXRmb3JtQ29uZmlndXJhdGlvbigKIAogICAgIGF1dG8gbWVyY2hhbmRpc2luZ0lt
YWdlRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0
cmluZzpjb3JlQ29uZmlndXJhdGlvbi5tZXJjaGFuZGlzaW5nSW1hZ2VEYXRhIG9wdGlvbnM6MF0p
OwogICAgIFtjb25maWd1cmF0aW9uIHNldE1lcmNoYW5kaXNpbmdJbWFnZURhdGE6bWVyY2hhbmRp
c2luZ0ltYWdlRGF0YS5nZXQoKV07Ci0KLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSURF
TlRJRklFUlMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlmICghW2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRJbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmll
cjopXSB8fCAhW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRS
ZWZlcnJlcklkZW50aWZpZXI6KV0pCi0gICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uOwotI2Vu
ZGlmCiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0SW5zdGFsbG1lbnRNZXJjaGFudElkZW50aWZpZXI6
Y29yZUNvbmZpZ3VyYXRpb24ubWVyY2hhbnRJZGVudGlmaWVyXTsKICAgICBbY29uZmlndXJhdGlv
biBzZXRSZWZlcnJlcklkZW50aWZpZXI6Y29yZUNvbmZpZ3VyYXRpb24ucmVmZXJyZXJJZGVudGlm
aWVyXTsKLSNlbmRpZgotICAgIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVF9JVEVNUykK
LSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFbY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKHNldEluc3RhbGxtZW50SXRlbXM6KV0KLSAgICAgICAgfHwgIVtjb25m
aWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0QXBwbGljYXRpb25NZXRh
ZGF0YTopXQotICAgICAgICB8fCAhW2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihzZXRSZXRhaWxDaGFubmVsOildKQorCisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVu
dEluc3RhbGxtZW50SXRlbUNsYXNzKCkpCiAgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uOwot
I2VuZGlmCisKICAgICBbY29uZmlndXJhdGlvbiBzZXRJbnN0YWxsbWVudEl0ZW1zOmNyZWF0ZU5T
QXJyYXkoY29yZUNvbmZpZ3VyYXRpb24uaXRlbXMpLmdldCgpXTsKICAgICBbY29uZmlndXJhdGlv
biBzZXRBcHBsaWNhdGlvbk1ldGFkYXRhOmFwcGxpY2F0aW9uTWV0YWRhdGFdOwogICAgIFtjb25m
aWd1cmF0aW9uIHNldFJldGFpbENoYW5uZWw6cGxhdGZvcm1SZXRhaWxDaGFubmVsKGNvcmVDb25m
aWd1cmF0aW9uLnJldGFpbENoYW5uZWwpXTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGFwcGxp
Y2F0aW9uTWV0YWRhdGEpOwotI2VuZGlmCiAKICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKIH0K
QEAgLTIxNSwxNCArMjAxLDEyIEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uPiBjcmVhdGVQbGF0Zm9ybUNvbmZpZ3VyYXRpb24oCiBFeGNlcHRpb25P
cjxQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBQYXltZW50SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uOjpjcmVhdGUoY29uc3QgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRh
RGljdGlvbmFyeSA9IG5pbDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1T
KQogICAgIGlmICghY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbk1ldGFkYXRhLmlzTnVsbCgpKSB7
CiAgICAgICAgIE5TRGF0YSAqYXBwbGljYXRpb25NZXRhZGF0YSA9IFtjb25maWd1cmF0aW9uLmFw
cGxpY2F0aW9uTWV0YWRhdGEgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmdd
OwogICAgICAgICBhcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSA9IGR5bmFtaWNfb2JqY19j
YXN0PE5TRGljdGlvbmFyeT4oW05TSlNPTlNlcmlhbGl6YXRpb24gSlNPTk9iamVjdFdpdGhEYXRh
OmFwcGxpY2F0aW9uTWV0YWRhdGEgb3B0aW9uczowIGVycm9yOm5pbF0pOwogICAgICAgICBpZiAo
IWFwcGxpY2F0aW9uTWV0YWRhdGFEaWN0aW9uYXJ5KQogICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgImFwcGxpY2F0aW9uTWV0YWRhdGEgbXVzdCBiZSBhIEpTT04gb2Jq
ZWN0IiB9OwogICAgIH0KLSNlbmRpZgogCiAgICAgcmV0dXJuIFBheW1lbnRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbiwgYXBwbGljYXRpb25NZXRhZGF0YURpY3Rpb25hcnkp
OwogfQpAQCAtMjQ1LDYgKzIyOSw4IEBAIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
biAqUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6cGxhdGZvcm1Db25mCiBBcHBsZVBh
eUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
OjphcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbigpIGNvbnN0CiB7CiAgICAgQXBwbGVQ
YXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOworICAg
IGlmICghUEFMOjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKQor
ICAgICAgICByZXR1cm4gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwogCiAgICAgaW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uLmZlYXR1cmVUeXBlID0gYXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlKFtt
X2NvbmZpZ3VyYXRpb24gZmVhdHVyZV0pOwogCkBAIC0yNTQsMjMgKzI0MCwxMiBAQCBBcHBsZVBh
eUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
OjphcHBsZVBheUluc3RhbAogICAgIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5vcGVuVG9CdXlU
aHJlc2hvbGRBbW91bnQgPSBmcm9tRGVjaW1hbE51bWJlcihbbV9jb25maWd1cmF0aW9uIG9wZW5U
b0J1eVRocmVzaG9sZEFtb3VudF0pOwogCiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1l
cmNoYW5kaXNpbmdJbWFnZURhdGEgPSBbW21fY29uZmlndXJhdGlvbiBtZXJjaGFuZGlzaW5nSW1h
Z2VEYXRhXSBiYXNlNjRFbmNvZGVkU3RyaW5nV2l0aE9wdGlvbnM6MF07Ci0KLSNpZiBIQVZFKFBB
U1NLSVRfSU5TVEFMTE1FTlRfSURFTlRJRklFUlMpCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGlm
ICghW21fY29uZmlndXJhdGlvbiByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3RhbGxt
ZW50TWVyY2hhbnRJZGVudGlmaWVyKV0gfHwgIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3RvcihyZWZlcnJlcklkZW50aWZpZXIpXSkKLSAgICAgICAgcmV0dXJuIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLSNlbmRpZgogICAgIGluc3RhbGxtZW50Q29uZmlndXJh
dGlvbi5tZXJjaGFudElkZW50aWZpZXIgPSBbbV9jb25maWd1cmF0aW9uIGluc3RhbGxtZW50TWVy
Y2hhbnRJZGVudGlmaWVyXTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ucmVmZXJyZXJJ
ZGVudGlmaWVyID0gW21fY29uZmlndXJhdGlvbiByZWZlcnJlcklkZW50aWZpZXJdOwotI2VuZGlm
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UX0lURU1TKQotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBpZiAoIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihpbnN0YWxsbWVudEl0ZW1zKV0KLSAgICAgICAgfHwgIVttX2NvbmZpZ3VyYXRpb24gcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbk1ldGFkYXRhKV0KLSAgICAgICAg
fHwgIVttX2NvbmZpZ3VyYXRpb24gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihyZXRhaWxD
aGFubmVsKV0pCisgICAgaWYgKCFQQUw6OmdldFBLUGF5bWVudEluc3RhbGxtZW50SXRlbUNsYXNz
KCkpCiAgICAgICAgIHJldHVybiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKKwog
ICAgIFJldGFpblB0cjxOU1N0cmluZz4gYXBwbGljYXRpb25NZXRhZGF0YVN0cmluZzsKICAgICBp
ZiAoTlNEaWN0aW9uYXJ5ICphcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSA9IFttX2NvbmZp
Z3VyYXRpb24gYXBwbGljYXRpb25NZXRhZGF0YV0pIHsKICAgICAgICAgaWYgKE5TRGF0YSAqYXBw
bGljYXRpb25NZXRhZGF0YSA9IFtOU0pTT05TZXJpYWxpemF0aW9uIGRhdGFXaXRoSlNPTk9iamVj
dDphcHBsaWNhdGlvbk1ldGFkYXRhRGljdGlvbmFyeSBvcHRpb25zOk5TSlNPTldyaXRpbmdTb3J0
ZWRLZXlzIGVycm9yOm5pbF0pCkBAIC0yODAsNyArMjU1LDYgQEAgQXBwbGVQYXlJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24gUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbjo6YXBwbGVQYXlJ
bnN0YWwKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSBtYWtlVmVjdG9yPEFw
cGxlUGF5SW5zdGFsbG1lbnRJdGVtPihbbV9jb25maWd1cmF0aW9uIGluc3RhbGxtZW50SXRlbXNd
KTsKICAgICBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25NZXRhZGF0YSA9IGFw
cGxpY2F0aW9uTWV0YWRhdGFTdHJpbmcuZ2V0KCk7CiAgICAgaW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uLnJldGFpbENoYW5uZWwgPSBhcHBsZVBheVJldGFpbENoYW5uZWwoW21fY29uZmlndXJhdGlv
biByZXRhaWxDaGFubmVsXSk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBpbnN0YWxsbWVudENvbmZp
Z3VyYXRpb247CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFk
NTEwZmEyZDI2NTY2OWZjMTMzZjc0OTM3YjgxNDllMjBkMzY3YgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25D
b2NvYS5tbQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgi
CisjaW1wb3J0ICJQYXltZW50QVBJVmVyc2lvbi5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkK
KworI2ltcG9ydCA8cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3Vuc2lnbmVkIFBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KCkKK3sKKyAgICBz
dGF0aWMgdW5zaWduZWQgY3VycmVudCA9IFtdIHsKKyNpZiBIQVZFKFBBU1NLSVRfTkVXX0JVVFRP
Tl9UWVBFUykKKyAgICAgICAgcmV0dXJuIDEwOworI2VsaWYgSEFWRShQQVNTS0lUX0lOU1RBTExN
RU5UUykKKyAgICAgICAgaWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uQ2xhc3MoKSkgeworICAgICAgICAgICAgaWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1l
bnRJdGVtQ2xhc3MoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gOTsKKyAgICAgICAgICAgIHJl
dHVybiA4OworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIDc7CisgICAgfSgpOwor
ICAgIHJldHVybiBjdXJyZW50OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BB
TC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc5MWMxNGE1NmU5MGNmMjAyZjkzYzA5MjkyODk1
MzgyMTk1OTJmMDQuLjM3MDJkOWRmZjQ2MmY2MTNkMDEzOGZmZGMwYzZiZWRhZTczY2M5NGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTE1NCw2ICsxNTQsNyBAQAogCQlBMTE3NUI1NzFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVs
dFNlYXJjaFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTE3NUI1NTFGNkI0NzA1MDBDNEI5RjAgLyogRGVmYXVsdFNlYXJjaFByb3ZpZGVy
LmggKi87IH07CiAJCUExMTc1QjU4MUY2QjQ3MDUwMEM0QjlGMCAvKiBEZWZhdWx0U2VhcmNoUHJv
dmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTExNzVCNTYxRjZCNDcwNTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgKi87
IH07CiAJCUExMTc1QjVBMUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMTc1QjU5MUY2QjRB
ODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLzsgfTsKKwkJQTE2OUIwNDEyNDhFRjA1
MjAwRUU4QjdCIC8qIFBhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNjlCMDQwMjQ4RUYwMzkwMEVFOEI3QiAvKiBQ
YXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggKi87IH07CiAJCUExRjYzQzlGMjFBNERCRjcwMDZGQjQz
QiAvKiBQYXNzS2l0U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExRjYzQzlEMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsu
aCAqLzsgfTsKIAkJQTFGNjNDQTAyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjYzQzlF
MjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsubW0gKi87IH07CiAJCUEzMEQ0MTIx
MUYwREQwRUEwMEI3MTk1NCAvKiBLaWxsUmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTMwRDQxMUUxRjBERDBFQTAwQjcxOTU0IC8qIEtpbGxSaW5n
LmggKi87IH07CkBAIC0zNDEsNiArMzQyLDcgQEAKIAkJQTExNzVCNTUxRjZCNDcwNTAwQzRCOUYw
IC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWZhdWx0U2VhcmNo
UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExNzVCNTYxRjZCNDcw
NTAwQzRCOUYwIC8qIERlZmF1bHRTZWFyY2hQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEZWZhdWx0U2VhcmNoUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE5TU2Nyb2xsVmlld1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
MTY5QjA0MDI0OEVGMDM5MDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExRjYzQzlEMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFzc0tpdFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUExRjYzQzlFMjFBNERCRjcwMDZGQjQzQiAvKiBQYXNzS2l0U29mdExpbmsubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBQYXNzS2l0U29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUEzMEQ0MTFFMUYwREQwRUEwMEI3MTk1NCAvKiBLaWxsUmluZy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBLaWxsUmluZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDc0LDYgKzQ3Niw3IEBACiAJCQkJMEMyREExMzgxRjNCRUI0OTAwREJD
MzE3IC8qIE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUMxNUNCQjMyMjNGMzRB
MTIwMDMwMENDNyAvKiBOU1VzZXJEZWZhdWx0c1NQSS5oICovLAogCQkJCTU3MEFCOEY4MjBBRjZF
M0QwMEI4QkU4NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCAqLywKKwkJCQlBMTY5QjA0MDI0OEVG
MDM5MDBFRThCN0IgLyogUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oICovLAogCQkJCTBDMkRBMTM5
MUYzQkVCNDkwMERCQzMxNyAvKiBQYXNzS2l0U1BJLmggKi8sCiAJCQkJMEMyREExM0ExRjNCRUI0
OTAwREJDMzE3IC8qIHB0aHJlYWRTUEkuaCAqLywKIAkJCQkwQzJEQTEzQjFGM0JFQjQ5MDBEQkMz
MTcgLyogUXVhcnR6Q29yZVNQSS5oICovLApAQCAtODUwLDYgKzg1Myw3IEBACiAJCQkJMEM3Nzg1
OUQxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TV2luZG93U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
NzBBQjhGOTIwQUY2RTNEMDBCOEJFODcgLyogTlNYUENDb25uZWN0aW9uU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwQzVBRjkxRjFGNDNBNEM3MDAyRUFDMDIgLyogT3BlbkdMRVNTUEkuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUExNjlCMDQxMjQ4RUYwNTIwMEVFOEI3QiAvKiBQYXNzS2l0SW5zdGFs
bG1lbnRzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2RkI0M0Ig
LyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFGM0JFQjQ5
MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUUxRjQ1
MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAppbmRleCBlYWYxZDliZTI4OGY0MTU0
N2ZhNzkxNjM3MGNkMDk5YmJkMzk1NmY0Li43N2VhZGIzNGZhMTBjNDI0OWFmNWY3ZGE2NmQzMWNj
YzJiNzkwNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NL
aXRTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNv
ZnRMaW5rLmgKQEAgLTQ5LDkgKzQ5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFM
LCBQS1NoaXBwaW5nTWV0aG9kKQogCiAjaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIFNP
RlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uKQotI2VuZGlmCi0KLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCiBT
T0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSkK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NL
aXRTb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLm1tCmluZGV4IGMxZmZmOTBkNWFkNmJhZjM4Yjg1ZTliYWQ1N2NkMmNiNGM3MzAxNGIuLmFi
ODczYjljNWZjMWU3MmY3YWZmODM1Nzg0NmU0ZjNkZjE2MGI1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKKwogU09G
VF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNz
S2l0LCBQQUxfRVhQT1JUKQogCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9X
SVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudFNldHVwQ29uZmlndXJhdGlvbiwgUEFM
X0VYUE9SVCkKQEAgLTM4LDE0ICszOSw2IEBAIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09Q
VElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBDb250CiBTT0ZU
X0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQs
IFBLUGF5bWVudFNldHVwRmVhdHVyZSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50U2V0dXBS
ZXF1ZXN0LCBQQUxfRVhQT1JUKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLVNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tp
dCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQotI2VuZGlm
Ci0KLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRfSVRFTVMpCi1TT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudElu
c3RhbGxtZW50SXRlbSwgUEFMX0VYUE9SVCkKLSNlbmRpZgotCiAjZWxzZSAvLyBQTEFURk9STShN
QUMpCiAKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBh
c3NLaXQsIFBBTF9FWFBPUlQpCkBAIC01NiwxNiArNDksMTMgQEAgU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cEZlYXR1cmUs
IFBBTF8KIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tp
dCwgUEtQYXltZW50U2V0dXBSZXF1ZXN0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFZpZXdDb250
cm9sbGVyLCBQQUxfRVhQT1JUKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLVNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXlt
ZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQT1JUKQotI2VuZGlmCisjZW5kaWYg
Ly8gUExBVEZPUk0oTUFDKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UX0lURU1TKQot
U09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1Bh
eW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCisjaWYgSEFWRShQQVNTS0lUX0lOU1RB
TExNRU5UUykKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JU
KFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLCBQQUxfRVhQ
T1JUKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFM
LCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQpCiAjZW5kaWYK
IAotI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKLQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS0NvbnRhY3QsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGFzc0xpYnJh
cnksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQ
QUwsIFBhc3NLaXQsIFBLUGF5bWVudCwgUEFMX0VYUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudHNTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudHNTUEkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMDE1N2Y2NTA4YmZlZmQ0NDljMDA3ODI1NGNiYWU5MTAxM2MyMjBhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdEluc3Rh
bGxtZW50c1NQSS5oCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFBBTF9QQVNTS0lUX1NQSV9HVUFSRF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgorI2Vycm9y
ICJQbGVhc2UgI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oPiBpbnN0ZWFkIG9m
IHRoaXMgZmlsZSBkaXJlY3RseS4iCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFNfSU5fU0RLKQorCisjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0
ZS5oPgorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50TWV0aG9kX1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudFJlcXVlc3RTdGF0dXNfUHJpdmF0ZS5oPgorI2lt
cG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50X1ByaXZhdGUuaD4KKworI2VsaWYgSEFWRShQQVNT
S0lUX0lOU1RBTExNRU5UUykKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtJbnN0YWxs
bWVudEl0ZW1UeXBlKSB7CisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJpYyA9IDAsCisg
ICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlUGhvbmUsCisgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBl
UGFkLAorICAgIFBLSW5zdGFsbG1lbnRJdGVtVHlwZVdhdGNoLAorICAgIFBLSW5zdGFsbG1lbnRJ
dGVtVHlwZU1hYywKK307CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLSW5zdGFsbG1l
bnRSZXRhaWxDaGFubmVsKSB7CisgICAgUEtJbnN0YWxsbWVudFJldGFpbENoYW5uZWxVbmtub3du
ID0gMCwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbEFwcCwKKyAgICBQS0luc3RhbGxt
ZW50UmV0YWlsQ2hhbm5lbFdlYiwKKyAgICBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbEluU3Rv
cmUsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5
cGUpIHsKKyAgICBQS1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50ID0gNSwKK307CisKK0Bp
bnRlcmZhY2UgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIDogTlNPYmplY3QgPE5T
U2VjdXJlQ29kaW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50SXRl
bSA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4KK0BlbmQKKworQGludGVyZmFjZSBQS1BheW1l
bnQgKCkgPE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3Ry
aW5nICppbnN0YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbjsKK0BlbmQKKworQGludGVyZmFjZSBQ
S1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBhc3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVyZVR5cGUgZmVhdHVyZTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5kaXNpbmdJbWFnZURhdGE7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxOdW1iZXIgKm9wZW5Ub0J1eVRocmVzaG9s
ZEFtb3VudDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TRGVjaW1hbE51bWJlciAq
YmluZGluZ1RvdGFsQW1vdW50OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5n
ICpjdXJyZW5jeUNvZGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNJ
blN0b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNoYXNlOworQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudE1lcmNoYW50SWRlbnRpZmllcjsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcmVmZXJyZXJJZGVudGlmaWVyOworQHBy
b3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8UEtQYXltZW50SW5zdGFsbG1lbnRJdGVt
ICo+ICppbnN0YWxsbWVudEl0ZW1zOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGlj
dGlvbmFyeTxOU1N0cmluZyAqLCBpZD4gKmFwcGxpY2F0aW9uTWV0YWRhdGE7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgYXNzaWduKSBQS0luc3RhbGxtZW50UmV0YWlsQ2hhbm5lbCByZXRhaWxDaGFu
bmVsOworQGVuZAorCitAaW50ZXJmYWNlIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSAoKQorQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1UeXBlIGluc3RhbGxt
ZW50SXRlbVR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVtYmVy
ICphbW91bnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1cnJlbmN5
Q29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqcHJvZ3JhbUlkZW50
aWZpZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEZWNpbWFsTnVtYmVyICphcHI7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnByb2dyYW1UZXJtczsKK0Bl
bmQKKworQGludGVyZmFjZSBQS1BheW1lbnRNZXRob2QgKCkgPE5TU2VjdXJlQ29kaW5nPgorQHBy
b3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpiaW5kVG9rZW47CitAZW5kCisKK0Bp
bnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
bikgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiAqaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVx
dWVzdFR5cGUgcmVxdWVzdFR5cGU7CitAZW5kCisKK0BpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVz
dFBheW1lbnRNZXRob2RVcGRhdGUgKCkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0
cmluZyAqaW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXI7CitAZW5kCisKKyNlbmRpZiAvLyBIQVZF
KFBBU1NLSVRfSU5TVEFMTE1FTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvUGFzc0tpdFNQSS5oCmluZGV4IDAxODAxN2VkMzAyNzFjYzNlOWI1MzA3YmYyZTY3MTZhZDBl
MjM1MTAuLjllZTcyZTc4Y2EzYjI3NjM2MGEzOWRhYjljNjU3ZjY4MzEzYmRjMGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTQ0LDI0ICs0
NCwyMSBAQCBXVEZfRVhURVJOX0NfRU5ECiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFBhc3Mu
aD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVy
X1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50TWV0aG9kLmg+Ci0jaW1wb3J0
IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGFzc0tpdC9Q
S1BheW1lbnRSZXF1ZXN0U3RhdHVzLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVw
Q29uZmlndXJhdGlvbl9XZWJLaXQuaD4KICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBD
b250cm9sbGVyLmg+CiAjaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFNldHVwUmVxdWVzdC5oPgot
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CiAj
aW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRSZXF1ZXN0X1dlYktpdC5oPgogCi0jaWYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UUykKLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudF9Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24uaD4KLSNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUGF5bWVudE1ldGhvZF9Qcml2YXRl
Lmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW1wb3J0IDxQYXNzS2l0
L1BLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBh
c3NLaXQvUEtQYXltZW50U2V0dXBWaWV3Q29udHJvbGxlci5oPgogI2VuZGlmCiAKKyNpZiAhSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UUykKKyNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVz
dF9Qcml2YXRlLmg+CisjZW5kaWYKKwogI2Vsc2UKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CkBAIC0zMzYsNDIgKzMzMyw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU0ludGVn
ZXIsIFBLUGF5bWVudFNldHVwRmVhdHVyZVN1cHBvcnRlZE9wdGlvbnMpIHsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzdHJvbmcpIE5TQXJyYXkgPFBLUGF5bWVudFNldHVwRmVhdHVyZSAqPiAqcGF5
bWVudFNldHVwRmVhdHVyZXM7CiBAZW5kCiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRT
KQotCi10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5cGUpIHsK
LSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKLSAgICBQS0luc3RhbGxtZW50
SXRlbVR5cGVQaG9uZSwKLSAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVQYWQsCi0gICAgUEtJbnN0
YWxsbWVudEl0ZW1UeXBlV2F0Y2gsCi0gICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlTWFjCi19Owot
Ci10eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdFR5cGUpIHsKLSAg
ICBQS1BheW1lbnRSZXF1ZXN0VHlwZUluc3RhbGxtZW50ID0gNSwKLX07Ci0KLUBpbnRlcmZhY2Ug
UEtQYXltZW50ICgpIDxOU1NlY3VyZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
KSBOU1N0cmluZyAqaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47Ci1AZW5kCi0KLUBpbnRl
cmZhY2UgUEtQYXltZW50TWV0aG9kICgpIDxOU1NlY3VyZUNvZGluZz4KLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYmluZFRva2VuOwotQGVuZAotCi1AaW50ZXJmYWNlIFBL
UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGlu
Zz4KLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFNldHVwRmVhdHVyZVR5
cGUgZmVhdHVyZTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0RhdGEgKm1lcmNoYW5k
aXNpbmdJbWFnZURhdGE7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU0RlY2ltYWxO
dW1iZXIgKm9wZW5Ub0J1eVRocmVzaG9sZEFtb3VudDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
dHJvbmcpIE5TRGVjaW1hbE51bWJlciAqYmluZGluZ1RvdGFsQW1vdW50OwotQHByb3BlcnR5IChu
b25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXJyZW5jeUNvZGU7Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduLCBnZXR0ZXI9aXNJblN0b3JlUHVyY2hhc2UpIEJPT0wgaW5TdG9yZVB1cmNo
YXNlOwotQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtJbnN0YWxsbWVudEl0ZW1UeXBl
IGluc3RhbGxtZW50SXRlbVR5cGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJp
bmcgKmluc3RhbGxtZW50TWVyY2hhbnRJZGVudGlmaWVyOwotQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHkpIE5TU3RyaW5nICpyZWZlcnJlcklkZW50aWZpZXI7Ci1AZW5kCi0KLSNlbmRpZgotCiBA
aW50ZXJmYWNlIFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbiA6IE5TT2JqZWN0IDxOU1NlY3VyZUNv
ZGluZywgTlNDb3B5aW5nPgogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGljdGlvbmFyeTooTlNE
aWN0aW9uYXJ5ICopZGljdGlvbmFyeTsKIEBlbmQKQEAgLTM5NiwyMCArMzU3LDE1IEBAIHR5cGVk
ZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1BheW1lbnRSZXF1ZXN0VHlwZSkgewogQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRl
bnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VB
cHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ry
b25nKSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOwotI2lmIEhBVkUoUEFT
U0tJVF9JTlNUQUxMTUVOVFMpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBQS1BheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gKmluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLUGF5bWVudFJlcXVlc3RUeXBlIHJlcXVlc3RU
eXBlOworI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJZGVudGlmaWVy
OwogI2VuZGlmCiBAZW5kCiAKKyNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIEBpbnRl
cmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikg
UEtQYXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsKIEBlbmQKLQotI2lmIEhBVkUoUEFTU0tJ
VF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKLUBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVz
dCAoKQotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFj
ZUlkZW50aWZpZXI7Ci1AZW5kCiAjZW5kaWYKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECkBAIC00
NTIsOSArNDA4LDYgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBlbmQKIAogQGludGVyZmFj
ZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RV
cGRhdGUKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICppbnN0YWxsbWVudEdyb3VwSWRlbnRpZmllcjsKLSNlbmRpZgog
QGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUg
OiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRlCkBAIC00ODQsMyArNDM3LDcgQEAgTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIHR5cGVkZWYgdm9pZCheUEtDYW5NYWtlUGF5bWVudHNDb21wbGV0aW9uKShC
T09MIGlzVmFsaWQsIE5TRXJyb3IgKik7CiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORAorCisjZGVm
aW5lIFBBTF9QQVNTS0lUX1NQSV9HVUFSRF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgorI2lt
cG9ydCAiUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oIgorI3VuZGVmIFBBTF9QQVNTS0lUX1NQSV9H
VUFSRF9BR0FJTlNUX0lORElSRUNUX0lOQ0xVU0lPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggYTI1Mjg2ZTBhNjgzMTZlMDE3YzkxNDBiOTA0ODJiZGUwODU5MTAyYi4uOGMxZDY2M2IxMWY4
Y2E4MzI3NjJmMGFiNDcwOWFlYjEwYzY3ZjVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBA
IC02MTMsNiArNjEzLDcgQEAgV0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5jcHAKICAg
ICBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLm1tCiAgICAgTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5jcHAKIAorICAgIE1vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvY29jb2Ev
UGF5bWVudENvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFj
dENvY29hLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50TWVyY2hhbnRTZXNz
aW9uQ29jb2EubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCAyNTY3NmFmM2M1Mjg5ZGZmZTgyYWEyMThiZjE1MjNlZDE4M2YyM2Y2
Li5lOTY3MTJiYmU2MTAwYTk2ZTBjNDQ0ZTUyNGMyYTgxNWY1NTM3Yzg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMDI1LDYg
KzMwMjUsNyBAQAogCQlBMTY3N0UwRTIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9ycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2NzdFMEIy
MTNFMDJBMDAwQTA4QzM0IC8qIEFkZHJlc3NFcnJvcnMuaCAqLzsgfTsKIAkJQTE2NzdFMTMyMTNF
MDNDNjAwQTA4QzM0IC8qIEpTQWRkcmVzc0Vycm9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2NzdFMTEyMTNFMDNDNTAwQTA4QzM0IC8qIEpTQWRk
cmVzc0Vycm9ycy5oICovOyB9OwogCQlBMTY3N0UxNzIxM0UwM0YxMDBBMDhDMzQgLyogSlNQYXll
ckVycm9yRmllbGRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTY3N0UxNTIxM0UwM0YwMDBBMDhDMzQgLyogSlNQYXllckVycm9yRmllbGRzLmggKi87
IH07CisJCUExNjlCMDQzMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE2OUIwNDIyNDhG
MDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi87IH07CiAJCUExNzYzRjNGMUUy
MDUyMzQwMDFENThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNzYzRjNEMUUyMDUyMzQwMDFENThERSAv
KiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlBMTc2M0Y0MTFFMjA1ODZFMDAxRDU4REUgLyogQ0ZOZXR3b3Jr
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExNzYzRjQwMUUyMDU4NkUwMDFENThERSAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrICovOyB9
OwogCQlBMTdDODEyMzBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTdDODEyMTBGMkE1
Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi87IH07CkBAIC0xMTU3NSw2ICsx
MTU3Niw4IEBACiAJCUExNjc3RTE1MjEzRTAzRjAwMEEwOEMzNCAvKiBKU1BheWVyRXJyb3JGaWVs
ZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQYXllckVycm9yRmllbGRz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNjc3RTE2MjEzRTAzRjAwMEEwOEMz
NCAvKiBKU1BheWVyRXJyb3JGaWVsZHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNQYXllckVycm9yRmllbGRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTE2NzdFMjQyMTQ0NTMyODAwQTA4QzM0IC8qIEpTUGF5bWVudE1ldGhvZENoYW5nZUV2
ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUGF5bWVudE1ldGhvZENoYW5nZUV2
ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE2OUIwNDIyNDhG
MDM3QjAwRUU4QjdCIC8qIFBheW1lbnRBUElWZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1l
bnRBUElWZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExNjlCMDQ1MjQ4
RjA0MTcwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbkNvY29hLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTE3NjNGM0MxRTIwNTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9y
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkFyY2hpdmVE
dW1wU3VwcG9ydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3NjNGM0QxRTIw
NTIzNDAwMUQ1OERFIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTE3NjNGNDAxRTIwNTg2RTAwMUQ1OERFIC8qIENGTmV0d29yay5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3
cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENGTmV0d29yay5mcmFtZXdvcms7IHBhdGggPSBTeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBT
REtST09UOyB9OwpAQCAtMTc0NjcsNiArMTc0NzAsNyBAQAogCQkJCTFBOEE2NDRGMUQxOUZDRkIw
MEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oICovLAogCQkJCTFBOEE2
NDUwMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwg
Ki8sCiAJCQkJMUE4QTY0MzcxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnQuaCAqLywKKwkJCQlB
MTY5QjA0MjI0OEYwMzdCMDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb24uaCAqLywKIAkJCQkx
QUU5NkE4NjFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaCAq
LywKIAkJCQkxQThBNjQzODFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3QuaCAqLywK
IAkJCQkxQTU4RTg2QjFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCAq
LywKQEAgLTE3NDkyLDYgKzE3NDk2LDcgQEAKIAkJMUE1OEU4NjkxRDE5RDhDMDAwQzBFQTczIC8q
IGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlB
MTY5QjA0NTI0OEYwNDE3MDBFRThCN0IgLyogUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbSAqLywK
IAkJCQkxQThBNjQ2OTFEMTlGRjg3MDBEMEUwMEYgLyogUGF5bWVudENvY29hLm1tICovLAogCQkJ
CTFBOEE2NDZBMUQxOUZGODcwMEQwRTAwRiAvKiBQYXltZW50Q29udGFjdENvY29hLm1tICovLAog
CQkJCTFBREE0QTFCMUQyMkYyQzAwMDVBOUExNSAvKiBQYXltZW50TWVyY2hhbnRTZXNzaW9uQ29j
b2EubW0gKi8sCkBAIC0zMjQwNSw2ICszMjQxMCw3IEBACiAJCQkJQTE2NzdFMDgyMTNFMDI0QzAw
QTA4QzM0IC8qIFBheWVyRXJyb3JGaWVsZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDNB
MUQxOUZDNTMwMEQwRTAwRiAvKiBQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY3NkI0
MzFGNDRDRjdGMDAxNEMzMTggLyogUGF5bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUExNjlCMDQzMjQ4RjAzN0IwMEVFOEI3QiAvKiBQYXltZW50QVBJVmVyc2lvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFOTZBODgxRDFBMENFQjAwQjg2NzY4IC8qIFBheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY3NkI1QjFGNDREM0IyMDAxNEMzMTgg
LyogUGF5bWVudENvbXBsZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQzQjFEMTlGQzUz
MDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDExNTYw
YjdjMjlhYTFhOGFkYWE3MDk1NTlhNTAwZDFjNTY2ZmNmOTguLjAzOGNkMjdlNWUwMTUwYzUyMzEy
OWU3MzRjMTc4Y2Y5ZDhmM2VhYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMC0wNi0wOCAg
QW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFBheV0gRW5h
YmxlIGxheW91dCB0ZXN0cyBvbiBtb3JlIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS82NDE3NDE1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1z
Lmh0dHBzLmh0bWw6IENoYW5nZWQgdG8gZmFpbCBpbnN0ZWFkIG9mCisgICAgICAgIHRpbWUgb3V0
IHdoZW4gQVBJIHZlcnNpb24gOSBpc24ndCBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9yLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNC5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY1Lmh0bWw6IFJlbW92ZWQgYSBjdXN0
b20gZWxlbWVudC1jbGlja2luZyBmdW5jdGlvbgorICAgICAgICBhbmQgdXNlZCBVSUhlbHBlci5h
Y3RpdmF0ZUVsZW1lbnQgaW5zdGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9uczogVW4tc2tpcHBlZCBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS4KKyAgICAg
ICAgTWFya2VkIFBheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwgYXMgU2xvdy4gTWFya2VkIEFwcGxl
UGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIGFzCisgICAgICAgIEZhaWx1cmUuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmVkIGEgdHJhaWxp
bmcgJy8nLiBTa2lwcGVkCisgICAgICAgIEFwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5o
dG1sIG9uIE1vamF2ZSBhbmQgbWFya2VkIGl0IGFzIEZhaWx1cmUgb24gQ2F0YWxpbmEuCisKIDIw
MjAtMDYtMTcgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLiBVcGRhdGUgYmFzZWxpbmVzIGFuZCB0
ZXN0IGV4cGVjdGF0aW9ucyBhZnRlciByMjYzMTQzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sCmluZGV4IDFmOTMxMjU3
NWU1YmY1MTE3YWRmMDc4NmQyMjYxYTY5MzZkN2MxYTIuLjY4ZmI4NGE2MGQ2YjVlZDUyNTBkZmY4
MDU3OTRhNDJiY2Y4MGU0NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheUVycm9yLmh0bWwKQEAgLTIsNyArMiw4IEBACiA8aHRtbD4K
IDxoZWFkPgogICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CiA8c2NyaXB0PgpAQCAtNTQsMjYgKzU1LDEyIEBACiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwog
ICAgIH0KIAotICAgIGZ1bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgICAgIGxl
dCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICAgICAgbGV0IHkgPSBlbGVtZW50Lm9m
ZnNldFRvcCArIDI7Ci0KLSAgICAgICAgdmFyIHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hF
dmVudCIgaW4gd2luZG93OwotICAgICAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5k
b3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5zaW5nbGVU
YXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtgLCBmdW5jdGlvbiAo
KSB7IH0pOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewotICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKLSAg
ICAgICAgfQotICAgIH0KLQogICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAg
ICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICAg
ICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRv
biIpKTsKICAgICB9CiAKIDwvc2NyaXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0
dG9uPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBz
Lmh0bWwKaW5kZXggZWI3NWM0MzBhODdjM2IyNGEwN2QwNzhiNzY1ODFiMzk4M2JkZDA5Yi4uN2Ix
NzI5NGE5Yjk4YTNhMDE4NmQ4YzU5NWZjYTkzMGZhODNmMzhjZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0
dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwKQEAgLTYyLDYgKzYyLDEyIEBAIGxldCB2YWxp
ZFJlcXVlc3QgPSAoKSA9PiB7CiAKIGFjdGl2YXRlVGhlbigoKSA9PiB7CiAKKyAgICBpZiAoIUFw
cGxlUGF5U2Vzc2lvbi5zdXBwb3J0c1ZlcnNpb24oYXBpVmVyc2lvbikpIHsKKyAgICAgICAgdGVz
dEZhaWxlZChgVGhpcyBidWlsZCBkb2VzIG5vdCBzdXBwb3J0IEFQSSB2ZXJzaW9uICR7YXBpVmVy
c2lvbn0uYCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgZGVidWcoJ1Rlc3QgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1zJyk7CiAg
ICAgc2hvdWxkVGhyb3coJ3JlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5pbnN0YWxs
bWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSA0OyBuZXcgQXBwbGVQYXlTZXNzaW9uKGFwaVZlcnNp
b24sIHJlcXVlc3QpJyk7CiAgICAgc2hvdWxkVGhyb3coJ3JlcXVlc3QgPSB2YWxpZFJlcXVlc3Qo
KTsgcmVxdWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXMgPSAiIjsgbmV3IEFwcGxl
UGF5U2Vzc2lvbihhcGlWZXJzaW9uLCByZXF1ZXN0KScpOwpAQCAtMTA3LDggKzExMyw2IEBAIGFj
dGl2YXRlVGhlbigoKSA9PiB7CiAgICAgZGVidWcoJycpOwogCiAgICAgZGVidWcoJ1Rlc3QgcGxh
dGZvcm0gY29udmVyc2lvbicpOwotICAgIGxldCBzZXNzaW9uID0gbmV3IEFwcGxlUGF5U2Vzc2lv
bihhcGlWZXJzaW9uLCB2YWxpZFJlcXVlc3QoKSk7Ci0gICAgc2Vzc2lvbi5iZWdpbigpOwogICAg
IHNob3VsZEJlKCdpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24uaXRlbXMubGVuZ3RoJywgJzInKTsKICAgICBzaG91bGRCZSgnaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLml0ZW1zWzBd
LnR5cGUnLCAnZXhwZWN0ZWRJdGVtVHlwZScpOwogICAgIHNob3VsZEJlKCdpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24uaXRlbXNbMF0uYW1v
dW50JywgJ2V4cGVjdGVkSXRlbUFtb3VudCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbAppbmRleCBmMTBkMWI5
YjVmOTUyNjJiOTdhNWM2YzFiMGRlNDAzNzc4YTNhZTZjLi4yMDFlN2QzYzZjMDdkNDVhNmRkYzNl
NTZiMmE3YTZiMGM2ZTdkMWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaHRtbApAQCAtMiw3ICsyLDggQEAKIDxo
dG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4K
QEAgLTIzMCwyNiArMjMxLDEyIEBAIGZ1bmN0aW9uIGdvKCkgewogICAgIGZpbmlzaEpTVGVzdCgp
OwogfQogCi1mdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkgewotICAgIGxldCB4ID0gZWxl
bWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsK
LQotICAgIHZhciBzdXBwb3J0c1RvdWNoRXZlbnRzID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsK
LSAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0
UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChm
dW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVu
Y3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7Ci0gICAgfSBlbHNlIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwg
eSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0g
ICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKKyAgICBV
SUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikp
OwogfQogCiA8L3NjcmlwdD4KIDxidXR0b24gb25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9BcHBsZVBheVNlc3Npb25WMy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbAppbmRleCAyYTAyMDNhZjk5ZWMzNDk3Yzc4YmU0
YWQ5YjgyNWNlZjBkM2FhNzJmLi5hNTFlMjE2MDcyNGZjZjkxNzc4NTgxMGZiZGMzZTU0MjhjMGZj
ZTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKQEAgLTIsNyArMiw4IEBACiA8aHRtbD4KIDxoZWFk
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+CkBAIC03MywyNiAr
NzQsMTIgQEAgZnVuY3Rpb24gZ28oKSB7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0
aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExl
ZnQgKyAyOwotICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOwotCi0gICAgdmFyIHN1
cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OwotICAgIGlmIChzdXBw
b3J0c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlT
Y3JpcHQpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1
aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7
IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9KTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgewotICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKLSAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
LSAgICB9Ci19Ci0KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBjbGlja0VsZW1l
bnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworICAgIFVJSGVscGVyLmFjdGl2
YXRlRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CiB9CiAKIDwvc2Ny
aXB0PgogPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvblY0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVNlc3Npb25WNC5odG1sCmluZGV4IGExOGMzMjdhN2MxNjk1YzNhMzA5M2Q1YWZiOGRlZDA0ZThm
ZWIyYTYuLjJlOWI2OTk4YjcxNzg2OGFhY2ViOTg5NTZmMDg1YmZiNWZiNDQ3NjYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uVjQuaHRtbApAQCAtMiw3ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KQEAgLTYxLDI2ICs2MiwxMiBAQCBmdW5j
dGlvbiBnbygpIHsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotZnVuY3Rpb24gY2xpY2tFbGVt
ZW50KGVsZW1lbnQpIHsKLSAgICBsZXQgeCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIDI7Ci0gICAg
bGV0IHkgPSBlbGVtZW50Lm9mZnNldFRvcCArIDI7Ci0KLSAgICB2YXIgc3VwcG9ydHNUb3VjaEV2
ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7Ci0gICAgaWYgKHN1cHBvcnRzVG91Y2hFdmVu
dHMgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkgewotICAg
ICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJvbGxlci5z
aW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtgLCBmdW5j
dGlvbiAoKSB7IH0pOwotICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0gICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwotICAgICAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwotICAgIH0KLX0KLQog
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGNsaWNrRWxlbWVudChkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJidXR0b24iKSk7CisgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpKTsKIH0KIAogPC9zY3JpcHQ+CiA8YnV0dG9u
IG9uY2xpY2s9J2dvKCknPkdvPC9idXR0b24+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY1Lmh0
bWwKaW5kZXggMzc4OTBhN2E1OGExMDBhY2MzMjA5MTczYjY0MDdlYTc0MDYwZTY0MS4uYjU2MGE2
YzNjOWZhY2E1OTc3ZDRkYzAwYTNmMTQ2MjQzNzIyYWNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNS5odG1s
CkBAIC0yLDcgKzIsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8c2NyaXB0PgpAQCAtNTcsMjYgKzU4LDEyIEBAIGZ1bmN0aW9uIGdvKCkgewog
ICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkg
ewotICAgIGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGVsZW1l
bnQub2Zmc2V0VG9wICsgMjsKLQotICAgIHZhciBzdXBwb3J0c1RvdWNoRXZlbnRzID0gIlRvdWNo
RXZlbnQiIGluIHdpbmRvdzsKLSAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAmJiB3aW5kb3cu
dGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7Ci0gICAgICAgIHRlc3RSdW5u
ZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9p
bnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9uICgpIHsgfSk7
Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oeCwgeSk7Ci0gICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwot
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgfQotfQotCiB3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7Ci0gICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
ImJ1dHRvbiIpKTsKKyAgICBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiYnV0dG9uIikpOwogfQogCiA8L3NjcmlwdD4KIDxidXR0b24gb25jbGljaz0nZ28o
KSc+R288L2J1dHRvbj4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjkyOGE3ZTA3NWM2OTRjNGI0ZGJlOWUwOTU3MTA0
YTBjNmVmMWNhYi4uYTc5YjQzMWQ3OGExMTUxNzZkMWViMTU0MmMwODI4ZTc1YTc3YWU2MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDMs
NyArNDMsMTAgQEAgZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvbnRhaW4uaHRtbCBb
IFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtZml0LWNvdmVyLmh0bWwgWyBTa2lw
IF0KIGZhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LWZpdC1hdXRvLmh0bWwgWyBTa2lwIF0KIAot
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlCaWxsaW5nQWRkcmVzcy5odG1sIFsgUGFz
cyBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFBhc3MgXQord2Via2l0Lm9yZy9iLzIxMjk3
NSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KKword2Via2l0Lm9yZy9iLzIxMjk5OCBodHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQogCiBodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVmMDA0OGUyZTg2OTk4YmY1YTRiZjg2YmY5
MzIxNjE4MWE5ZjJiMzEuLmVhNWJhYmJhMWRiMTI3NmNmNzBhYjMyMjQ3N2QwNzNmMzQ5NzZjMzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM0LDEzICszNCwxMyBAQCBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVwZGF0
ZS1pbi1zdWJmcmFtZXMuaHRtbCBbIFBhc3MgXQogZmFzdC9tZWRpYS9tcS1tb25vY2hyb21lLWxp
dmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2VkLW1v
dGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKLWh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
LyBbIFBhc3MgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBQYXNzIF0KIAotIyBBcHBsZVBh
eUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiB3YXMgZmlyc3QgYXZhaWxhYmxlIGluIENhdGFsaW5h
LgorIyBBUFBMRV9QQVlfSU5TVEFMTE1FTlRTIHdhcyBmaXJzdCBhdmFpbGFibGUgaW4gQ2F0YWxp
bmEuCiBbIE1vamF2ZSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK1sgTW9qYXZlIF0gaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBTa2lw
IF0KIAotIyBBcHBsZVBheUluc3RhbGxtZW50SXRlbSBpcyBub3QgYXZhaWxhYmxlIGluIE1vamF2
ZSBvciBDYXRhbGluYS4KLVsgTW9qYXZlIENhdGFsaW5hIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5v
cmcvYi8yMTI5OTggWyBDYXRhbGluYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiAKIGZhc3QvdmlzdWFsLXZp
ZXdwb3J0L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBhc3MgXQogZmFzdC92
aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1oZWFkZXItZm9vdGVy
Lmh0bWwgIFsgUGFzcyBdCkBAIC0xMDM0LDQgKzEwMzQsNCBAQCB3ZWJraXQub3JnL2IvMjEyODI0
IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1h
dWRpbwogd2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Nj
cm9sbGJhcnMvb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQog
d2Via2l0Lm9yZy9iLzIxMjA0MiBbIERlYnVnIF0gZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJh
cnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJldmVhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IAotd2Via2l0Lm9yZy9iLzIxMzIxMiBbIE1vamF2ZSBSZWxlYXNlIF0gd2ViZ2wvMi4wLjAvY29u
Zm9ybWFuY2UyL3RleHR1cmVzL2NhbnZhc19zdWJfcmVjdGFuZ2xlL3RleC0yZC1yZ2IxNmYtcmdi
LWhhbGZfZmxvYXQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQord2Via2l0Lm9yZy9iLzIxMzIxMiBbIE1vamF2ZSBSZWxlYXNlIF0gd2ViZ2wvMi4wLjAv
Y29uZm9ybWFuY2UyL3RleHR1cmVzL2NhbnZhc19zdWJfcmVjdGFuZ2xlL3RleC0yZC1yZ2IxNmYt
cmdiLWhhbGZfZmxvYXQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>
<flag name="commit-queue"
          id="417538"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>