<?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>245766</bug_id>
          
          <creation_ts>2022-09-27 21:51:08 -0700</creation_ts>
          <short_desc>[LFC][IFC] Enable non-replaced out-of-flow positioned content for IFC</short_desc>
          <delta_ts>2022-10-15 18:48:25 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1901679</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-09-27 21:51:08 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1901680</commentid>
    <comment_count>1</comment_count>
      <attachid>462670</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-09-27 21:57:01 -0700</bug_when>
    <thetext>Created attachment 462670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902267</commentid>
    <comment_count>2</comment_count>
      <attachid>462722</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-09-29 21:01:40 -0700</bug_when>
    <thetext>Created attachment 462722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902553</commentid>
    <comment_count>3</comment_count>
      <attachid>462739</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-09-30 17:14:28 -0700</bug_when>
    <thetext>Created attachment 462739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902721</commentid>
    <comment_count>4</comment_count>
      <attachid>462765</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-10-02 11:04:41 -0700</bug_when>
    <thetext>Created attachment 462765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903331</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-04 21:52:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/100794661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904265</commentid>
    <comment_count>6</comment_count>
      <attachid>462884</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-10-08 10:11:45 -0700</bug_when>
    <thetext>Created attachment 462884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905799</commentid>
    <comment_count>7</comment_count>
      <attachid>463000</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-10-14 18:52:18 -0700</bug_when>
    <thetext>Created attachment 463000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905856</commentid>
    <comment_count>8</comment_count>
      <attachid>463008</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-10-15 08:20:32 -0700</bug_when>
    <thetext>Created attachment 463008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905893</commentid>
    <comment_count>9</comment_count>
      <attachid>463011</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-10-15 13:23:51 -0700</bug_when>
    <thetext>Created attachment 463011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905931</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-15 18:48:24 -0700</bug_when>
    <thetext>Committed 255598@main (7c0ba36865de): &lt;https://commits.webkit.org/255598@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463011.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462670</attachid>
            <date>2022-09-27 21:57:01 -0700</date>
            <delta_ts>2022-09-29 21:01:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20220927215700.patch</filename>
            <type>text/plain</type>
            <size>7004</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5MmE5MzZjNTdiNzg3NGNhN2Y1NjdiMWMxN2U5OGI2Njk0ZDUwMWJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBU
dWUsIDI3IFNlcCAyMDIyIDIxOjUxOjE3IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gW0xGQ11bSUZD
XSBFbmFibGUgbm9uLXJlcGxhY2VkIG91dC1vZi1mbG93IHBvc2l0aW9uZWQgY29udGVudAogZm9y
IElGQyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ1NzY2CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZW5hYmxlcyBob3Jpem9udGFsL2x0
ciBvdXQtb2YtZmxvdyBjb250ZW50IGZvciBJRkMuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHA6CkZp
eCBjYXNlcyB3aGVyZSBwcmV2aW91cyBpbmZsb3cgYm94J3MgKG9mIHdoaWNoIHRoZSBvdXQtb2Yt
ZmxvdyBib3ggaXMgYmFzZWQgb2ZmKSBjb250ZW50IGlzIGNvbGxhcHNlZCBhbmQgZG9lcyBub3Qg
Z2VuZXJhdGUgYW55IGRpc3BsYXkgYm94LiBJbiBzdWNoIGNhc2VzIHdlIGdvIGFuZCB1c2UgdGhl
IHByZXZpb3VzIGJveCdzIHByZXZpb3VzIHNpYmxpbmcgKGFuZCBzbyBvbikuCgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93QmxvY2tMZXZlbEJveCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdy
YXRpb246OmNhblVzZUZvckNoaWxkKToKLS0tCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdH
ZW9tZXRyeS5jcHAgICAgICAgfCA1NCArKysrKysrKysrKy0tLS0tLS0tCiAuLi4vaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAgfCAgNCArLQogMiBmaWxlcyBjaGFuZ2Vk
LCAzMyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAppbmRleCBkM2UzNjZkODBiOGMuLjUy
NTU2YWNmYTk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5n
R2VvbWV0cnkuY3BwCkBAIC0xOTgsMzIgKzE5OCw0MiBAQCBzdGF0aWMgc3RkOjp0dXBsZTxjb25z
dCBJbmxpbmVEaXNwbGF5OjpCb3gqLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gqPiBwcmV2aW91
cwogICAgIC8vIEJvdGggcHJldmlvdXMgZmxvYXQgYW5kIG91dC1vZi1mbG93IGJveGVzIGFyZSBz
a2lwcGVkIGhlcmUuIEEgc2VyaWVzIG9mIGFkam9pbmluZyBvdXQtb2YtZmxvdyBib3hlcyBzaG91
bGQgYWxsIGJlIHBsYWNlZAogICAgIC8vIGF0IHRoZSBzYW1lIHN0YXRpYyBwb3NpdGlvbiAodGhl
eSBkb24ndCBhZmZlY3QgbmV4dC1zaWJsaW5nIHBvc2l0aW9ucykgYW5kIHdoaWxlIGZsb2F0cyBk
byBwYXJ0aWNpcGF0ZSBpbiB0aGUgaW5saW5lIGxheW91dAogICAgIC8vIHRoZWlyIHBvc2l0aW9u
cyBoYXZlIGFscmVhZHkgYmVlbiB0YWtlbiBpbnRvIGFjY291bnQgZHVyaW5nIHRoZSBpbmxpbmUg
bGF5b3V0LgotICAgIGF1dG8gcHJldmlvdXNJbkZsb3dCb3ggPSBbJl0gKCkgLT4gY29uc3QgQm94
KiB7Ci0gICAgICAgIGlmIChhdXRvKiBwcmV2aW91c0luRmxvd1NpYmxpbmcgPSBvdXRPZkZsb3dC
b3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCkpCisgICAgYXV0byBwcmV2aW91c0luRmxvd0JveE9m
ID0gWyZdIChjb25zdCBCb3gmIGxheW91dEJveCkgLT4gY29uc3QgQm94KiB7CisgICAgICAgIGlm
IChhdXRvKiBwcmV2aW91c0luRmxvd1NpYmxpbmcgPSBsYXlvdXRCb3gucHJldmlvdXNJbkZsb3dT
aWJsaW5nKCkpCiAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNJbkZsb3dTaWJsaW5nOwogICAg
ICAgICAvLyBQYXJlbnQgaXMgZWl0aGVyIHRoZSByb290IGhlcmUgb3IgYW5vdGhlciBpbmxpbmUg
Ym94IChlLmcuIDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9zcGFuPikK
LSAgICAgICAgYXV0byYgcGFyZW50ID0gb3V0T2ZGbG93Qm94LnBhcmVudCgpOworICAgICAgICBh
dXRvJiBwYXJlbnQgPSBsYXlvdXRCb3gucGFyZW50KCk7CiAgICAgICAgIHJldHVybiBwYXJlbnQu
aXNJbmxpbmVCb3goKSA/ICZwYXJlbnQgOiBudWxscHRyOwotICAgIH0oKTsKLQotICAgIGlmICgh
cHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgY29udGVu
dC4gSXQgc2l0cyBvbiB0aGUgZWRnZSBvZiB0aGUgZmlyc3Qgcm9vdCBpbmxpbmUgYm94LiBXZSBk
b24ndCBuZWVkIHRvIHByb3ZpZGUgdGhlIG5leHQgZGlzcGxheSBib3guCi0gICAgICAgIHJldHVy
biB7IG51bGxwdHIsIG51bGxwdHIgfTsKLSAgICB9CisgICAgfTsKIAotICAgIC8vIFRoaXMgaXMg
c3VwcG9zZWQgdG8gZmluZCB0aGUgbGFzdCBkaXNwbGF5IGJveCBvZiB0aGUgImluZmxvd0JveCIg
YW5kIHJldHVybiBpdCB3aXRoIHRoZSBuZXh0IGRpc3BsYXkgYm94IChmaXJzdCBib3ggb2YgdGhl
IG5leHQgaW5mbG93IGNvbnRlbnQpLgotICAgIGF1dG8gZm91bmRGaXJzdERpc3BsYXlCb3ggPSBm
YWxzZTsKLSAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgZGlzcGxheUJveGVzLnNp
emUoKTsgKytpbmRleCkgewotICAgICAgICBpZiAoZGlzcGxheUJveGVzW2luZGV4XS5pc1Jvb3RJ
bmxpbmVCb3goKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoZm91bmRGaXJz
dERpc3BsYXlCb3ggJiYgJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgIT0gcHJldmlv
dXNJbkZsb3dCb3gpIHsKLSAgICAgICAgICAgIEFTU0VSVChpbmRleCk7Ci0gICAgICAgICAgICBy
ZXR1cm4geyAmZGlzcGxheUJveGVzW2luZGV4IC0gMV0sICZkaXNwbGF5Qm94ZXNbaW5kZXhdIH07
Ci0gICAgICAgIH0KLSAgICAgICAgZm91bmRGaXJzdERpc3BsYXlCb3ggPSBmb3VuZEZpcnN0RGlz
cGxheUJveCB8fCAmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3goKSA9PSBwcmV2aW91c0lu
Rmxvd0JveDsKKyAgICAvLyBGSVhNRTogQnVpbGQgYSBmaXN0L2xhc3QgaGFzaG1hcCBmb3IgdGhl
c2UgaW5saW5lIGJveGVzLgorICAgIGF1dG8qIGNhbmRpZGF0ZUJveCA9ICZvdXRPZkZsb3dCb3g7
CisgICAgd2hpbGUgKGF1dG8qIHByZXZpb3VzSW5GbG93Qm94ID0gcHJldmlvdXNJbkZsb3dCb3hP
ZigqY2FuZGlkYXRlQm94KSkgeworICAgICAgICAvLyBUaGlzIGlzIHN1cHBvc2VkIHRvIGZpbmQg
dGhlIGxhc3QgZGlzcGxheSBib3ggb2YgdGhlICJpbmZsb3dCb3giIGFuZCByZXR1cm4gaXQgdG9n
ZXRoZXIgd2l0aCB0aGUgbmV4dCBkaXNwbGF5IGJveCAoZmlyc3QgYm94IG9mIHRoZSBuZXh0IGlu
ZmxvdyBjb250ZW50KS4KKyAgICAgICAgYXV0byBsYXN0QW5kRmlyc3REaXNwbGF5Qm94SW5kZXhl
cyA9IFsmXSAoKSAtPiBzdGQ6OnR1cGxlPHN0ZDo6b3B0aW9uYWw8c2l6ZV90Piwgc3RkOjpvcHRp
b25hbDxzaXplX3Q+PiB7CisgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94SW5kZXhPZlBy
ZXZpb3VzSW5GbG93ID0gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsgfTsKKyAgICAgICAgICAgIGF1
dG8gZmlyc3REaXNwbGF5Qm94SW5kZXhPZk5leHRJbkZsb3cgPSBzdGQ6Om9wdGlvbmFsPHNpemVf
dD4geyB9OworICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGRpc3Bs
YXlCb3hlcy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgICAgICAgICBpZiAoZGlzcGxheUJv
eGVzW2luZGV4XS5pc1Jvb3RJbmxpbmVCb3goKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICAgICAgaWYgKCZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgp
ID09IHByZXZpb3VzSW5GbG93Qm94KSB7CisgICAgICAgICAgICAgICAgICAgIGxhc3REaXNwbGF5
Qm94SW5kZXhPZlByZXZpb3VzSW5GbG93ID0gaW5kZXg7CisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAobGFzdERpc3Bs
YXlCb3hJbmRleE9mUHJldmlvdXNJbkZsb3cgJiYgJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0
Qm94KCkgIT0gcHJldmlvdXNJbkZsb3dCb3gpIHsKKyAgICAgICAgICAgICAgICAgICAgZmlyc3RE
aXNwbGF5Qm94SW5kZXhPZk5leHRJbkZsb3cgPSBpbmRleDsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0
dXJuIHsgbGFzdERpc3BsYXlCb3hJbmRleE9mUHJldmlvdXNJbkZsb3csIGZpcnN0RGlzcGxheUJv
eEluZGV4T2ZOZXh0SW5GbG93IH07CisgICAgICAgIH07CisgICAgICAgIGF1dG8gW2xhc3REaXNw
bGF5Qm94SW5kZXhPZlByZXZpb3VzSW5GbG93LCBmaXJzdERpc3BsYXlCb3hJbmRleE9mTmV4dElu
Zmxvd10gPSBsYXN0QW5kRmlyc3REaXNwbGF5Qm94SW5kZXhlcygpOworICAgICAgICAvLyBOb3Rl
IHRoYXQgdGhlIHByZXZpb3VzIGluZmxvdyBtYXkgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgY29sbGFw
c2VkIChubyBnZW5lcmF0ZWQgZGlzcGxheSBib3gpLgorICAgICAgICBpZiAobGFzdERpc3BsYXlC
b3hJbmRleE9mUHJldmlvdXNJbkZsb3cpCisgICAgICAgICAgICByZXR1cm4geyAmZGlzcGxheUJv
eGVzWypsYXN0RGlzcGxheUJveEluZGV4T2ZQcmV2aW91c0luRmxvd10sIGZpcnN0RGlzcGxheUJv
eEluZGV4T2ZOZXh0SW5mbG93ID8gJmRpc3BsYXlCb3hlc1sqZmlyc3REaXNwbGF5Qm94SW5kZXhP
Zk5leHRJbmZsb3ddIDogbnVsbHB0ciB9OworICAgICAgICBjYW5kaWRhdGVCb3ggPSBwcmV2aW91
c0luRmxvd0JveDsKICAgICB9Ci0gICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94KQotICAgICAg
ICByZXR1cm4geyAmZGlzcGxheUJveGVzW2Rpc3BsYXlCb3hlcy5zaXplKCkgLSAxXSwgbnVsbHB0
ciB9OworICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGNvbnRlbnQuIEl0IHNpdHMgb24gdGhlIGVk
Z2Ugb2YgdGhlIGZpcnN0IHJvb3QgaW5saW5lIGJveC4gV2UgZG9uJ3QgbmVlZCB0byBwcm92aWRl
IHRoZSBuZXh0IGRpc3BsYXkgYm94LgogICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsK
IH0KIApAQCAtMjY2LDcgKzI3Niw3IEBAIExheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeTo6c3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjCiAKIExheW91
dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3RhdGljUG9zaXRpb25Gb3JPdXRPZkZs
b3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94KSBjb25zdAogewotICAgIEFT
U0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUJsb2NrVHlwZSgpKTsK
KyAgICBBU1NFUlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNEaXNwbGF5QmxvY2tMZXZlbCgpKTsK
IAogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZm9ybWF0
dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkNvdmVyYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAppbmRleCBkZDBmOTRlZGE4MTAuLmEwYjU4Zjdm
ZTAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApAQCAtMzg3LDkgKzM4Nyw3IEBA
IHN0YXRpYyBPcHRpb25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JDaGlsZChjb25zdCBS
ZW5kZXJPYmplY3QmIGNoaWxkLCBJbmNsCiAgICAgICAgIGlmIChyZW5kZXJlci5zdHlsZSgpLnNo
YXBlT3V0c2lkZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAocmVu
ZGVyZXIuaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIGlmICghaXM8UmVu
ZGVyUmVwbGFjZWQ+KHJlbmRlcmVyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgICAgICBpZiAoIXJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpLmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSkKKyAgICAgICAgICAgIGlmICghcmVuZGVyZXIucGFyZW50KCktPnN0eWxlKCku
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8ICFyZW5kZXJlci5wYXJlbnQoKS0+c3R5bGUoKS5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIC8vIFRoaXMgc2ltcGx5IGNoZWNrcyB0aGUgbm90LXlldCBzdXBwb3J0ZWQg
Y2FzZSB3aGVuIHRoZSBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkCiAgICAgICAgICAgICAvLyBjb250
ZW50IGhhcyBhIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmUgY29udGFpbmluZyBibG9jayAo
aGFzIHRvIGNhbGwgY29udGFpbmVyIHRvIG5vdCBza2lwIFJlbmRlcklubGluZXMpLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462722</attachid>
            <date>2022-09-29 21:01:40 -0700</date>
            <delta_ts>2022-09-30 17:14:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20220929210139.patch</filename>
            <type>text/plain</type>
            <size>18910</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA3MzEzMDEzMTM1ZTYyYTI3NmU1ZjI4NmQyNzI4OWRiNDQ4NTA2ZGRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBU
aHUsIDI5IFNlcCAyMDIyIDIxOjAwOjIzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gW0xGQ11bSUZD
XSBFbmFibGUgbm9uLXJlcGxhY2VkIG91dC1vZi1mbG93IHBvc2l0aW9uZWQgY29udGVudAogZm9y
IElGQyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ1NzY2CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZW5hYmxlcyBob3Jpem9udGFsL2x0
ciBvdXQtb2YtZmxvdyBjb250ZW50IGZvciBJRkMuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHA6CkZp
eCBjYXNlcyB3aGVyZSBwcmV2aW91cyBpbmZsb3cgYm94J3MgKG9mIHdoaWNoIHRoZSBvdXQtb2Yt
ZmxvdyBib3ggaXMgYmFzZWQgb2ZmKSBjb250ZW50IGlzIGNvbGxhcHNlZCBhbmQgZG9lcyBub3Qg
Z2VuZXJhdGUgYW55IGRpc3BsYXkgYm94LiBJbiBzdWNoIGNhc2VzIHdlIGdvIGFuZCB1c2UgdGhl
IHByZXZpb3VzIGJveCdzIHByZXZpb3VzIHNpYmxpbmcgKGFuZCBzbyBvbikuCgoqIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9m
Rmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoK
KFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3gpOgooV2Vi
Q29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KToKKFdlYkNvcmU6
OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6TGF5b3V0OjpuZXh0
RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94IGNvbnN0KToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4KKiBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9y
Q2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwICAgICAg
ICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oICAgICAgICAg
IHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAgICAgICAg
fCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmNwcCB8ICAgNCArLQogNSBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCsp
LCA3MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKaW5kZXggMWZiZDMwYWY1MTkxLi40MmNhM2IxYjVhMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTE0MSw3
ICsxNDEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250
ZW50KGNvbnN0IENvbnN0cmFpbnRzRm9ySW5GbG93Q29udAogCiAgICAgYXV0byYgaW5saW5lSXRl
bXMgPSBmb3JtYXR0aW5nU3RhdGUoKS5pbmxpbmVJdGVtcygpOwogICAgIGxpbmVMYXlvdXQoaW5s
aW5lSXRlbXMsIHsgMCwgaW5saW5lSXRlbXMuc2l6ZSgpIH0sIGNvbnN0cmFpbnRzKTsKLSAgICBj
b21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgp
Lm91dE9mRmxvd0JveGVzKCkpOworICAgIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZGbG93Qm94ZXMoKSwgeyBjb25zdHJhaW50
cy5ob3Jpem9udGFsKCkubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmxvZ2ljYWxUb3AoKSB9KTsK
ICAgICBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94
Rm9ySW5saW5lQ29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5ib3hlcygpKTsKICAgICBMT0dfV0lU
SF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiW0VuZF0gLT4gaW5s
aW5lIGZvcm1hdHRpbmcgY29udGV4dCAtPiBmb3JtYXR0aW5nIHJvb3QoIiA8PCAmcm9vdCgpIDw8
ICIpIik7CiB9CkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKGNvbnN0IENvbnN0cmFpbnQKICAg
ICBjb2xsZWN0Q29udGVudElmTmVlZGVkKCk7CiAgICAgYXV0byYgaW5saW5lSXRlbXMgPSBmb3Jt
YXR0aW5nU3RhdGUoKS5pbmxpbmVJdGVtcygpOwogICAgIGxpbmVMYXlvdXQoaW5saW5lSXRlbXMs
IHsgMCwgaW5saW5lSXRlbXMuc2l6ZSgpIH0sIGNvbnN0cmFpbnRzKTsKLSAgICBjb21wdXRlU3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLm91dE9mRmxv
d0JveGVzKCkpOworICAgIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQo
Zm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZGbG93Qm94ZXMoKSwgeyBjb25zdHJhaW50cy5ob3Jpem9u
dGFsKCkubG9naWNhbExlZnQsIGNvbnN0cmFpbnRzLmxvZ2ljYWxUb3AoKSB9KTsKICAgICBJbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNvbXB1dGVJc0ZpcnN0SXNMYXN0Qm94Rm9ySW5saW5l
Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5ib3hlcygpKTsKIH0KIApAQCAtMjQ1LDcgKzI0NSw3
IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxpbmVMYXlvdXQoSW5saW5lSXRlbXMm
IGlubGluZUl0ZW1zLCBjb25zdCBMaW5lQnVpCiAgICAgfQogfQogCi12b2lkIElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNv
bnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYgb3V0T2ZGbG93Qm94ZXMpCit2
b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRP
ZkZsb3dDb250ZW50KGNvbnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYgb3V0
T2ZGbG93Qm94ZXMsIExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KQogewogICAgIC8vIFRo
aXMgZnVuY3Rpb24gY29tcHV0ZXMgdGhlIHN0YXRpYyBwb3NpdGlvbiBmb3Igb3V0LW9mLWZsb3cg
Y29udGVudCBpbnNpZGUgdGhlIGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQuCiAgICAgLy8gQXMg
cGVyIHNwZWMsIHRoZSBzdGF0aWMgcG9zaXRpb24gb2YgYW4gb3V0LW9mLWZsb3cgYm94IGlzIGNv
bXB1dGVkIGFzIGlmIHRoZSBwb3NpdGlvbiB3YXMgc2V0IHRvIHN0YXRpYy4KQEAgLTI1NywxMCAr
MjU3LDEwIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9yCiAKICAgICBmb3IgKGF1dG8mIG91dE9m
Rmxvd0JveCA6IG91dE9mRmxvd0JveGVzKSB7CiAgICAgICAgIGlmIChvdXRPZkZsb3dCb3gtPnN0
eWxlKCkuaXNPcmlnaW5hbERpc3BsYXlJbmxpbmVUeXBlKCkpIHsKLSAgICAgICAgICAgIGZvcm1h
dHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShvdXRPZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZv
cm1hdHRpbmdHZW9tZXRyeS5zdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
KG91dE9mRmxvd0JveCkpOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5
KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQoZm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRp
Y1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxCb3gob3V0T2ZGbG93Qm94LCBjb250ZW50
Qm94VG9wTGVmdCkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAg
Zm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExl
ZnQoZm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZl
bEJveChvdXRPZkZsb3dCb3gpKTsKKyAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5
KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQoZm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRp
Y1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZlbEJveChvdXRPZkZsb3dCb3gsIGNvbnRlbnRC
b3hUb3BMZWZ0KSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuaAppbmRleCA0NWE5MDZjNjg2ZDkuLmZjNDdlZmZkZjE2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC02MCw3ICs2
MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGxpbmVMYXlvdXQoSW5saW5lSXRl
bXMmLCBjb25zdCBMaW5lQnVpbGRlcjo6SW5saW5lSXRlbVJhbmdlJiwgY29uc3QgQ29uc3RyYWlu
dHNGb3JJbkZsb3dDb250ZW50Jik7Ci0gICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JP
dXRPZkZsb3dDb250ZW50KGNvbnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYp
OworICAgIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25z
dCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0JveExpc3QmLCBMYXlvdXRQb2ludCBjb250ZW50
Qm94VG9wTGVmdCk7CiAKICAgICB2b2lkIGNvbXB1dGVJbnRyaW5zaWNXaWR0aEZvckZvcm1hdHRp
bmdSb290KGNvbnN0IEJveCYpOwogICAgIElubGluZUxheW91dFVuaXQgY29tcHV0ZWRJbnRyaW5z
aWNXaWR0aEZvckNvbnN0cmFpbnQoSW50cmluc2ljV2lkdGhNb2RlKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCmluZGV4IGQzZTM2
NmQ4MGI4Yy4uOTRiMjRjMTVkZjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTE5Myw5NCArMTkzLDEyMCBAQCBJbmxpbmVMYXlv
dXRVbml0IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6Y29tcHV0ZWRUZXh0SW5kZW50KElzSW50
cmluc2ljV2lkdGhNbwogICAgIHJldHVybiB7IG1pbmltdW1WYWx1ZUZvckxlbmd0aCh0ZXh0SW5k
ZW50LCBhdmFpbGFibGVXaWR0aCkgfTsKIH0KIAotc3RhdGljIHN0ZDo6dHVwbGU8Y29uc3QgSW5s
aW5lRGlzcGxheTo6Qm94KiwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94Kj4gcHJldmlvdXNBbmRO
ZXh0RGlzcGxheUJveEZvclN0YXRpY1Bvc2l0aW9uKGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBj
b25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKK3N0YXRpYyBzdGQ6Om9wdGlvbmFsPHNp
emVfdD4gZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goY29uc3QgQm94JiBsYXlvdXRC
b3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQogewotICAgIC8vIEJvdGggcHJl
dmlvdXMgZmxvYXQgYW5kIG91dC1vZi1mbG93IGJveGVzIGFyZSBza2lwcGVkIGhlcmUuIEEgc2Vy
aWVzIG9mIGFkam9pbmluZyBvdXQtb2YtZmxvdyBib3hlcyBzaG91bGQgYWxsIGJlIHBsYWNlZAot
ICAgIC8vIGF0IHRoZSBzYW1lIHN0YXRpYyBwb3NpdGlvbiAodGhleSBkb24ndCBhZmZlY3QgbmV4
dC1zaWJsaW5nIHBvc2l0aW9ucykgYW5kIHdoaWxlIGZsb2F0cyBkbyBwYXJ0aWNpcGF0ZSBpbiB0
aGUgaW5saW5lIGxheW91dAotICAgIC8vIHRoZWlyIHBvc2l0aW9ucyBoYXZlIGFscmVhZHkgYmVl
biB0YWtlbiBpbnRvIGFjY291bnQgZHVyaW5nIHRoZSBpbmxpbmUgbGF5b3V0LgotICAgIGF1dG8g
cHJldmlvdXNJbkZsb3dCb3ggPSBbJl0gKCkgLT4gY29uc3QgQm94KiB7Ci0gICAgICAgIGlmIChh
dXRvKiBwcmV2aW91c0luRmxvd1NpYmxpbmcgPSBvdXRPZkZsb3dCb3gucHJldmlvdXNJbkZsb3dT
aWJsaW5nKCkpCi0gICAgICAgICAgICByZXR1cm4gcHJldmlvdXNJbkZsb3dTaWJsaW5nOwotICAg
ICAgICAvLyBQYXJlbnQgaXMgZWl0aGVyIHRoZSByb290IGhlcmUgb3IgYW5vdGhlciBpbmxpbmUg
Ym94IChlLmcuIDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9zcGFuPikK
LSAgICAgICAgYXV0byYgcGFyZW50ID0gb3V0T2ZGbG93Qm94LnBhcmVudCgpOwotICAgICAgICBy
ZXR1cm4gcGFyZW50LmlzSW5saW5lQm94KCkgPyAmcGFyZW50IDogbnVsbHB0cjsKLSAgICB9KCk7
Ci0KLSAgICBpZiAoIXByZXZpb3VzSW5GbG93Qm94KSB7Ci0gICAgICAgIC8vIFRoaXMgaXMgdGhl
IGZpcnN0IGNvbnRlbnQuIEl0IHNpdHMgb24gdGhlIGVkZ2Ugb2YgdGhlIGZpcnN0IHJvb3QgaW5s
aW5lIGJveC4gV2UgZG9uJ3QgbmVlZCB0byBwcm92aWRlIHRoZSBuZXh0IGRpc3BsYXkgYm94Lgot
ICAgICAgICByZXR1cm4geyBudWxscHRyLCBudWxscHRyIH07CisgICAgLy8gRklYTUU6IEJ1aWxk
IGEgZmlyc3QvbGFzdCBoYXNobWFwIGZvciB0aGVzZSBib3hlcy4KKyAgICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgZGlzcGxheUJveGVzLnNpemUoKTsgKytpbmRleCkgeworICAgICAg
ICBpZiAoZGlzcGxheUJveGVzW2luZGV4XS5pc1Jvb3RJbmxpbmVCb3goKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICBpZiAoJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkg
PT0gJmxheW91dEJveCkKKyAgICAgICAgICAgIHJldHVybiBpbmRleDsKICAgICB9CisgICAgcmV0
dXJuIHsgfTsKK30KIAotICAgIC8vIFRoaXMgaXMgc3VwcG9zZWQgdG8gZmluZCB0aGUgbGFzdCBk
aXNwbGF5IGJveCBvZiB0aGUgImluZmxvd0JveCIgYW5kIHJldHVybiBpdCB3aXRoIHRoZSBuZXh0
IGRpc3BsYXkgYm94IChmaXJzdCBib3ggb2YgdGhlIG5leHQgaW5mbG93IGNvbnRlbnQpLgotICAg
IGF1dG8gZm91bmRGaXJzdERpc3BsYXlCb3ggPSBmYWxzZTsKLSAgICBmb3IgKHNpemVfdCBpbmRl
eCA9IDA7IGluZGV4IDwgZGlzcGxheUJveGVzLnNpemUoKTsgKytpbmRleCkgeworc3RhdGljIHN0
ZDo6b3B0aW9uYWw8c2l6ZV90PiBsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KGNvbnN0
IEJveCYgbGF5b3V0Qm94LCBjb25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKK3sKKyAg
ICAvLyBGSVhNRTogQnVpbGQgYSBmaXJzdC9sYXN0IGhhc2htYXAgZm9yIHRoZXNlIGJveGVzLgor
ICAgIGZvciAoYXV0byBpbmRleCA9IGRpc3BsYXlCb3hlcy5zaXplKCk7IGluZGV4LS07KSB7CiAg
ICAgICAgIGlmIChkaXNwbGF5Qm94ZXNbaW5kZXhdLmlzUm9vdElubGluZUJveCgpKQogICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChmb3VuZEZpcnN0RGlzcGxheUJveCAmJiAmZGlz
cGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3goKSAhPSBwcmV2aW91c0luRmxvd0JveCkgewotICAg
ICAgICAgICAgQVNTRVJUKGluZGV4KTsKLSAgICAgICAgICAgIHJldHVybiB7ICZkaXNwbGF5Qm94
ZXNbaW5kZXggLSAxXSwgJmRpc3BsYXlCb3hlc1tpbmRleF0gfTsKKyAgICAgICAgaWYgKCZkaXNw
bGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09ICZsYXlvdXRCb3gpCisgICAgICAgICAgICBy
ZXR1cm4gaW5kZXg7CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CisKK3N0YXRpYyBzdGQ6Om9w
dGlvbmFsPHNpemVfdD4gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgoY29uc3QgQm94JiBvdXRPZkZs
b3dCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQoreworICAgIGF1dG8gcHJl
dmlvdXNEaXNwbGF5Qm94SW5kZXhPZiA9IFsmXSAoYXV0byYgbGF5b3V0Qm94KSAtPiBzdGQ6Om9w
dGlvbmFsPHNpemVfdD4geworICAgICAgICBmb3IgKGF1dG8qIGJveCA9ICZsYXlvdXRCb3g7IGJv
eDsgYm94ID0gYm94LT5wcmV2aW91c0luRmxvd1NpYmxpbmcoKSkgeworICAgICAgICAgICAgaWYg
KGF1dG8gZGlzcGxheUJveEluZGV4ID0gbGFzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveCgq
Ym94LCBkaXNwbGF5Qm94ZXMpKQorICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Qm94SW5k
ZXg7CiAgICAgICAgIH0KLSAgICAgICAgZm91bmRGaXJzdERpc3BsYXlCb3ggPSBmb3VuZEZpcnN0
RGlzcGxheUJveCB8fCAmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3goKSA9PSBwcmV2aW91
c0luRmxvd0JveDsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9OworCisgICAgYXV0byogY2Fu
aWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gucHJldmlvdXNJbkZsb3dTaWJsaW5nKCk7CisgICAgaWYg
KCFjYW5pZGF0ZUJveCkKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gucGFyZW50
KCkuaXNJbmxpbmVCb3goKSA/ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgOiBudWxscHRyOworICAg
IHdoaWxlIChjYW5pZGF0ZUJveCkgeworICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94SW5kZXgg
PSBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleE9mKCpjYW5pZGF0ZUJveCkpCisgICAgICAgICAgICBy
ZXR1cm4gZGlzcGxheUJveEluZGV4OworICAgICAgICBjYW5pZGF0ZUJveCA9IGNhbmlkYXRlQm94
LT5wYXJlbnQoKS5pc0lubGluZUJveCgpID8gJmNhbmlkYXRlQm94LT5wYXJlbnQoKSA6IG51bGxw
dHI7CiAgICAgfQotICAgIGlmIChmb3VuZEZpcnN0RGlzcGxheUJveCkKLSAgICAgICAgcmV0dXJu
IHsgJmRpc3BsYXlCb3hlc1tkaXNwbGF5Qm94ZXMuc2l6ZSgpIC0gMV0sIG51bGxwdHIgfTsKLSAg
ICByZXR1cm4geyBudWxscHRyLCBudWxscHRyIH07CisgICAgcmV0dXJuIHsgfTsKIH0KIAotTGF5
b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9m
Rmxvd0lubGluZUxldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94KSBjb25zdAorc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBuZXh0RGlzcGxheUJveEluZGV4KGNvbnN0IEJveCYgb3V0
T2ZGbG93Qm94LCBjb25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKIHsKLSAgICBBU1NF
UlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3BsYXlJbmxpbmVUeXBlKCkpOwor
ICAgIGF1dG8gbmV4dERpc3BsYXlCb3hJbmRleE9mID0gWyZdIChhdXRvJiBsYXlvdXRCb3gpIC0+
IHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gJmxheW91
dEJveDsgYm94OyBib3ggPSBib3gtPm5leHRJbkZsb3dTaWJsaW5nKCkpIHsKKyAgICAgICAgICAg
IGlmIChhdXRvIGRpc3BsYXlCb3hJbmRleCA9IGZpcnN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0
Qm94KCpib3gsIGRpc3BsYXlCb3hlcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlC
b3hJbmRleDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBh
dXRvKiBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5uZXh0SW5GbG93U2libGluZygpOworICAg
IGlmICghY2FuaWRhdGVCb3gpCisgICAgICAgIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94LnBh
cmVudCgpLmlzSW5saW5lQm94KCkgPyAmb3V0T2ZGbG93Qm94LnBhcmVudCgpIDogbnVsbHB0cjsK
KyAgICB3aGlsZSAoY2FuaWRhdGVCb3gpIHsKKyAgICAgICAgaWYgKGF1dG8gZGlzcGxheUJveElu
ZGV4ID0gbmV4dERpc3BsYXlCb3hJbmRleE9mKCpjYW5pZGF0ZUJveCkpCisgICAgICAgICAgICBy
ZXR1cm4gZGlzcGxheUJveEluZGV4OworICAgICAgICBjYW5pZGF0ZUJveCA9IGNhbmlkYXRlQm94
LT5wYXJlbnQoKS5pc0lubGluZUJveCgpID8gJmNhbmlkYXRlQm94LT5wYXJlbnQoKSA6IG51bGxw
dHI7CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CiAKK0xheW91dFBvaW50IElubGluZUZvcm1h
dHRpbmdHZW9tZXRyeTo6c3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChj
b25zdCBCb3gmIG91dE9mRmxvd0JveCwgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpIGNv
bnN0Cit7CisgICAgQVNTRVJUKG91dE9mRmxvd0JveC5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5
SW5saW5lVHlwZSgpKTsKICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSBmb3JtYXR0aW5nQ29u
dGV4dCgpLmZvcm1hdHRpbmdTdGF0ZSgpOwogICAgIGF1dG8mIGxpbmVzID0gZm9ybWF0dGluZ1N0
YXRlLmxpbmVzKCk7CiAgICAgYXV0byYgYm94ZXMgPSBmb3JtYXR0aW5nU3RhdGUuYm94ZXMoKTsK
IAotICAgIGF1dG8gW3ByZXZpb3VzRGlzcGxheUJveCwgbmV4dERpc3BsYXlCb3hdID0gcHJldmlv
dXNBbmROZXh0RGlzcGxheUJveEZvclN0YXRpY1Bvc2l0aW9uKG91dE9mRmxvd0JveCwgYm94ZXMp
OwotCi0gICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlCb3ggJiYgIW5leHREaXNwbGF5Qm94KQorICAg
IGF1dG8gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3ggPSBwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleChvdXRPZkZsb3dCb3gsIGJveGVzKTsKKyAgICBpZiAoIXByZXZpb3Vz
RGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94KQogICAgICAgICByZXR1cm4geyBib3hl
c1swXS5sZWZ0KCksIGxpbmVzWzBdLnRvcCgpIH07CiAKLSAgICBpZiAoIW5leHREaXNwbGF5Qm94
KSB7Ci0gICAgICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94
LT5saW5lSW5kZXgoKV07Ci0gICAgICAgIGF1dG8gc2hvdWxkRml0TGluZSA9IHByZXZpb3VzRGlz
cGxheUJveC0+cmlnaHQoKSA8PSBjdXJyZW50TGluZS5yaWdodCgpICYmICFwcmV2aW91c0Rpc3Bs
YXlCb3gtPmlzTGluZUJyZWFrQm94KCk7Ci0gICAgICAgIHJldHVybiBzaG91bGRGaXRMaW5lID8g
TGF5b3V0UG9pbnQgeyBwcmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCksIGN1cnJlbnRMaW5lLnRv
cCgpIH0gOiBMYXlvdXRQb2ludCB7IGN1cnJlbnRMaW5lLmxlZnQoKSwgY3VycmVudExpbmUuYm90
dG9tKCkgfTsKKyAgICBhdXRvJiBwcmV2aW91c0Rpc3BsYXlCb3ggPSBib3hlc1sqcHJldmlvdXNE
aXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3hdOworICAgIGF1dG8mIGN1cnJlbnRMaW5l
ID0gbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LmxpbmVJbmRleCgpXTsKKyAgICBpZiAocHJldmlv
dXNEaXNwbGF5Qm94LmlzSW5saW5lQm94KCkgJiYgJm91dE9mRmxvd0JveC5wYXJlbnQoKSA9PSAm
cHJldmlvdXNEaXNwbGF5Qm94LmxheW91dEJveCgpKSB7CisgICAgICAgIC8vIFNwZWNpYWwgaGFu
ZGxpbmcgZm9yIGNhc2VzIHdoZW4gdGhpcyBpcyB0aGUgZmlyc3QgYm94IGluc2lkZSBhbiBpbmxp
bmUgYm94OgorICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bhbj48aW1nIHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGUiPmNvbnRlbnQ8L3NwYW4+PC9kaXY+CisgICAgICAgIGF1dG8mIGlubGluZUJveCA9
IHByZXZpb3VzRGlzcGxheUJveC5sYXlvdXRCb3goKTsKKyAgICAgICAgYXV0byBmaXJzdERpc3Bs
YXlCb3ggPSBib3hlc1sqZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goaW5saW5lQm94
LCBib3hlcyldOworICAgICAgICBhdXRvJiBpbmxpbmVCb3hCb3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3goaW5saW5lQm94KTsKKyAgICAgICAgcmV0dXJuIHsg
TGF5b3V0VW5pdChmaXJzdERpc3BsYXlCb3gubGVmdCgpKSArIGlubGluZUJveEJveEdlb21ldHJ5
LmJvcmRlckFuZFBhZGRpbmdTdGFydCgpLCBsaW5lc1tmaXJzdERpc3BsYXlCb3gubGluZUluZGV4
KCldLnRvcCgpIH07CiAgICAgfQogCi0gICAgaWYgKHByZXZpb3VzRGlzcGxheUJveC0+aXNJbmxp
bmVCb3goKSkgewotICAgICAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciBjYXNlcyB3aGVuIHRo
ZSBwcmV2aW91cyBjb250ZW50IGlzIGFuIGlubGluZSBib3g6Ci0gICAgICAgIC8vIDxkaXY+dGV4
dDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+Y29udGVudDwvc3Bhbj48L2Rp
dj4KLSAgICAgICAgLy8gb3IKLSAgICAgICAgLy8gPGRpdj50ZXh0PHNwYW4+Y29udGVudDwvc3Bh
bj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPjwvZGl2PgotICAgICAgICBhdXRvIGlz
Rmlyc3RDb250ZW50SW5zaWRlSW5saW5lQm94ID0gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA9PSAm
cHJldmlvdXNEaXNwbGF5Qm94LT5sYXlvdXRCb3goKTsKLSAgICAgICAgYXV0byYgaW5saW5lQm94
Qm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KHByZXZpb3Vz
RGlzcGxheUJveC0+bGF5b3V0Qm94KCkpOwotCi0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAg
ICBpc0ZpcnN0Q29udGVudEluc2lkZUlubGluZUJveCA/IEJveEdlb21ldHJ5Ojpib3JkZXJCb3hM
ZWZ0KGlubGluZUJveEJveEdlb21ldHJ5KSArIGlubGluZUJveEJveEdlb21ldHJ5LmNvbnRlbnRC
b3hMZWZ0KCkgOiBCb3hHZW9tZXRyeTo6bWFyZ2luQm94UmVjdChpbmxpbmVCb3hCb3hHZW9tZXRy
eSkucmlnaHQoKSwKLSAgICAgICAgICAgIGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGluZUlu
ZGV4KCldLnRvcCgpCi0gICAgICAgIH07CisgICAgYXV0byBwcmV2aW91c0JveE92ZXJmbG93cyA9
IHByZXZpb3VzRGlzcGxheUJveC5yaWdodCgpID4gY3VycmVudExpbmUucmlnaHQoKSB8fCBwcmV2
aW91c0Rpc3BsYXlCb3guaXNMaW5lQnJlYWtCb3goKTsKKyAgICBpZiAoIXByZXZpb3VzQm94T3Zl
cmZsb3dzKQorICAgICAgICByZXR1cm4geyBwcmV2aW91c0Rpc3BsYXlCb3gucmlnaHQoKSwgY3Vy
cmVudExpbmUudG9wKCkgfTsKKworICAgIGF1dG8gbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0
T2ZGbG93ID0gbmV4dERpc3BsYXlCb3hJbmRleChvdXRPZkZsb3dCb3gsIGJveGVzKTsKKyAgICBp
ZiAoIW5leHREaXNwbGF5Qm94SW5kZXhBZnRlck91dE9mRmxvdykgeworICAgICAgICAvLyBUaGlz
IGlzIHRoZSBsYXN0IGNvbnRlbnQgb24gdGhlIGJsb2NrIGFuZCBpdCBkb2VzIG5vdCBmaXQgdGhl
IGxhc3QgbGluZS4KKyAgICAgICAgLy8gRklYTUU6IFRoaXMgc3RpbGwgaGFzIGxpbmUgdHlvZSBv
ZiBjb25zdHJhaW50cyBsaWtlIHRleHQtYWxpZ24uCisgICAgICAgIHJldHVybiBMYXlvdXRQb2lu
dCB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgY3VycmVudExpbmUuYm90dG9tKCkgfTsKICAgICB9
Ci0gICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gtPmxpbmVJ
bmRleCgpXTsKLSAgICBhdXRvIHNob3VsZEZpdExpbmUgPSBwcmV2aW91c0Rpc3BsYXlCb3gtPmxp
bmVJbmRleCgpID09IG5leHREaXNwbGF5Qm94LT5saW5lSW5kZXgoKSB8fCAocHJldmlvdXNEaXNw
bGF5Qm94LT5yaWdodCgpIDw9IGN1cnJlbnRMaW5lLmxlZnQoKSAmJiAhcHJldmlvdXNEaXNwbGF5
Qm94LT5pc0xpbmVCcmVha0JveCgpKTsKLSAgICByZXR1cm4gc2hvdWxkRml0TGluZSA/IExheW91
dFBvaW50IHsgcHJldmlvdXNEaXNwbGF5Qm94LT5yaWdodCgpLCBjdXJyZW50TGluZS50b3AoKSB9
IDogTGF5b3V0UG9pbnQgeyBuZXh0RGlzcGxheUJveC0+bGVmdCgpLCBsaW5lc1tuZXh0RGlzcGxh
eUJveC0+bGluZUluZGV4KCldLnRvcCgpIH07CisgICAgYXV0byYgbmV4dERpc3BsYXlCb3ggPSBi
b3hlc1sqbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0T2ZGbG93XTsKKyAgICByZXR1cm4geyBu
ZXh0RGlzcGxheUJveC5sZWZ0KCksIGxpbmVzW25leHREaXNwbGF5Qm94LmxpbmVJbmRleCgpXS50
b3AoKSB9OwogfQogCi1MYXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRp
Y1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZlbEJveChjb25zdCBCb3gmIG91dE9mRmxvd0Jv
eCkgY29uc3QKK0xheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3RhdGljUG9z
aXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBM
YXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3QKIHsKLSAgICBBU1NFUlQob3V0T2ZG
bG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3BsYXlCbG9ja1R5cGUoKSk7CisgICAgQVNTRVJU
KG91dE9mRmxvd0JveC5zdHlsZSgpLmlzRGlzcGxheUJsb2NrTGV2ZWwoKSk7CiAKICAgICBhdXRv
JiBmb3JtYXR0aW5nU3RhdGUgPSBmb3JtYXR0aW5nQ29udGV4dCgpLmZvcm1hdHRpbmdTdGF0ZSgp
OwogICAgIGF1dG8mIGxpbmVzID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVzKCk7CiAgICAgYXV0byYg
Ym94ZXMgPSBmb3JtYXR0aW5nU3RhdGUuYm94ZXMoKTsKLQogICAgIC8vIEJsb2NrIGxldmVsIGJv
eGVzIGFyZSBwbGFjZWQgdW5kZXIgdGhlIGN1cnJlbnQgbGluZSBhcyBpZiB0aGV5IHdlcmUgbm9y
bWFsIGluZmxvdyBibG9jayBsZXZlbCBib3hlcy4KLSAgICBjb25zdCBJbmxpbmVEaXNwbGF5OjpC
b3gqIHByZXZpb3VzRGlzcGxheUJveCA9IG51bGxwdHI7Ci0gICAgc3RkOjp0aWUocHJldmlvdXNE
aXNwbGF5Qm94LCBzdGQ6Omlnbm9yZSkgPSBwcmV2aW91c0FuZE5leHREaXNwbGF5Qm94Rm9yU3Rh
dGljUG9zaXRpb24ob3V0T2ZGbG93Qm94LCBib3hlcyk7Ci0KLSAgICBpZiAoIXByZXZpb3VzRGlz
cGxheUJveCkKLSAgICAgICAgcmV0dXJuIHsgYm94ZXNbMF0ubGVmdCgpLCBsaW5lc1swXS50b3Ao
KSB9OwotCi0gICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gt
PmxpbmVJbmRleCgpXTsKLSAgICByZXR1cm4geyBjdXJyZW50TGluZS5sZWZ0KCksIGN1cnJlbnRM
aW5lLmJvdHRvbSgpIH07CisgICAgYXV0byBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91
dE9mRmxvd0JveCA9IHByZXZpb3VzRGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMp
OworICAgIGlmICghcHJldmlvdXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3gpCisg
ICAgICAgIHJldHVybiB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgbGluZXNbMF0udG9wKCkgfTsK
KyAgICByZXR1cm4geyBjb250ZW50Qm94VG9wTGVmdC54KCksIHByZXZpb3VzRGlzcGxheUJveElu
ZGV4QmVmb3JlT3V0T2ZGbG93Qm94ID8gTGF5b3V0VW5pdChsaW5lc1tib3hlc1sqcHJldmlvdXNE
aXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3hdLmxpbmVJbmRleCgpXS5ib3R0b20oKSkg
OiBjb250ZW50Qm94VG9wTGVmdC55KCkgfTsKIH0KIAogSW5saW5lTGF5b3V0VW5pdCBJbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnk6OmluaXRpYWxMaW5lSGVpZ2h0KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgKaW5kZXggMGZiYzMzNTMyMjZk
Li4zMTYwNDczYzRhZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdHZW9tZXRyeS5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBJbmxp
bmVSZWN0IGZsaXBWaXN1YWxSZWN0VG9Mb2dpY2FsRm9yV3JpdGluZ01vZGUoY29uc3QgSW5saW5l
UmVjdCYgdmlzdWFsUmVjdCwgV3JpdGluZ01vZGUpOwogCi0gICAgTGF5b3V0UG9pbnQgc3RhdGlj
UG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmKSBjb25zdDsKLSAg
ICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29u
c3QgQm94JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZs
b3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVm
dCkgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9j
a0xldmVsQm94KGNvbnN0IEJveCYsIExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0
dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dD4oRm9ybWF0dGluZ0dlb21ldHJ5Ojpmb3JtYXR0aW5nQ29udGV4dCgpKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
Q292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGRkMGY5NGVkYTgxMC4uYTBiNThmN2ZlMDAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0zODcsOSArMzg3LDcgQEAgc3RhdGlj
IE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckNoaWxkKGNvbnN0IFJlbmRlck9i
amVjdCYgY2hpbGQsIEluY2wKICAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxlKCkuc2hhcGVPdXRz
aWRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmIChyZW5kZXJlci5p
c091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAgaWYgKCFpczxSZW5kZXJSZXBs
YWNlZD4ocmVuZGVyZXIpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
ICAgIGlmICghcmVuZGVyZXIucGFyZW50KCktPnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQorICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQoKS0+c3R5bGUoKS5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkgfHwgIXJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpLmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgLy8gVGhpcyBzaW1wbHkgY2hlY2tzIHRoZSBub3QteWV0IHN1cHBvcnRlZCBjYXNlIHdo
ZW4gdGhlIG91dC1vZi1mbG93IHBvc2l0aW9uZWQKICAgICAgICAgICAgIC8vIGNvbnRlbnQgaGFz
IGEgcmVsYXRpdmVseSBwb3NpdGlvbmVkIGlubGluZSBjb250YWluaW5nIGJsb2NrIChoYXMgdG8g
Y2FsbCBjb250YWluZXIgdG8gbm90IHNraXAgUmVuZGVySW5saW5lcykuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462739</attachid>
            <date>2022-09-30 17:14:28 -0700</date>
            <delta_ts>2022-10-02 11:04:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20220930171427.patch</filename>
            <type>text/plain</type>
            <size>26119</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1YTNhZDdiNzk0OGJiNjY4YWU4OWU2MjRhZDAzYmEyZTIwM2RlYjkyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBU
aHUsIDI5IFNlcCAyMDIyIDIxOjAwOjIzIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gW0xGQ11bSUZD
XSBFbmFibGUgbm9uLXJlcGxhY2VkIG91dC1vZi1mbG93IHBvc2l0aW9uZWQgY29udGVudAogZm9y
IElGQyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ1NzY2CgpSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KClRoaXMgcGF0Y2ggZW5hYmxlcyBob3Jpem9udGFsL2x0
ciBvdXQtb2YtZmxvdyBjb250ZW50IGZvciBJRkMuCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHA6CkZp
eCBjYXNlcyB3aGVyZSBwcmV2aW91cyBpbmZsb3cgYm94J3MgKG9mIHdoaWNoIHRoZSBvdXQtb2Yt
ZmxvdyBib3ggaXMgYmFzZWQgb2ZmKSBjb250ZW50IGlzIGNvbGxhcHNlZCBhbmQgZG9lcyBub3Qg
Z2VuZXJhdGUgYW55IGRpc3BsYXkgYm94LiBJbiBzdWNoIGNhc2VzIHdlIGdvIGFuZCB1c2UgdGhl
IHByZXZpb3VzIGJveCdzIHByZXZpb3VzIHNpYmxpbmcgKGFuZCBzbyBvbikuCgoqIFNvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdD
b250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdlYkNvcmU6OkxheW91
dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9m
Rmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoK
KFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3gpOgooV2Vi
Q29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KToKKFdlYkNvcmU6
OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6TGF5b3V0OjpuZXh0
RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94IGNvbnN0KToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4KKiBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6Y2FuVXNlRm9y
Q2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwICAgICAg
ICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oICAgICAgICAg
IHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAgICAgICAg
fCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bkNvdmVyYWdlLmNwcCB8ICAgNCArLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyAgICAg
ICAgICAgICAgICAgIHwgICA0ICsKIC4uLi9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQu
dHh0ICAgICAgICB8ICAgMiArLQogLi4uL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVj
dGVkLnR4dCAgIHwgICAzICstCiAuLi5jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBl
Y3RlZC50eHQgfCAgIDMgKy0KIC4uLi9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0
ICAgICAgICB8ICAgOSArLQogLi4uL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50
eHQgICAgIHwgICAzICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgODQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCmluZGV4IDFmYmQzMGFmNTE5MS4uNDJjYTNiMWI1YTJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNDEsNyArMTQx
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudChj
b25zdCBDb25zdHJhaW50c0ZvckluRmxvd0NvbnQKIAogICAgIGF1dG8mIGlubGluZUl0ZW1zID0g
Zm9ybWF0dGluZ1N0YXRlKCkuaW5saW5lSXRlbXMoKTsKICAgICBsaW5lTGF5b3V0KGlubGluZUl0
ZW1zLCB7IDAsIGlubGluZUl0ZW1zLnNpemUoKSB9LCBjb25zdHJhaW50cyk7Ci0gICAgY29tcHV0
ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRP
ZkZsb3dCb3hlcygpKTsKKyAgICBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250
ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLm91dE9mRmxvd0JveGVzKCksIHsgY29uc3RyYWludHMuaG9y
aXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2FsVG9wKCkgfSk7CiAgICAg
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklu
bGluZUNvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkuYm94ZXMoKSk7CiAgICAgTE9HX1dJVEhfU1RS
RUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltFbmRdIC0+IGlubGluZSBm
b3JtYXR0aW5nIGNvbnRleHQgLT4gZm9ybWF0dGluZyByb290KCIgPDwgJnJvb3QoKSA8PCAiKSIp
OwogfQpAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Omxh
eW91dEluRmxvd0NvbnRlbnRGb3JJbnRlZ3JhdGlvbihjb25zdCBDb25zdHJhaW50CiAgICAgY29s
bGVjdENvbnRlbnRJZk5lZWRlZCgpOwogICAgIGF1dG8mIGlubGluZUl0ZW1zID0gZm9ybWF0dGlu
Z1N0YXRlKCkuaW5saW5lSXRlbXMoKTsKICAgICBsaW5lTGF5b3V0KGlubGluZUl0ZW1zLCB7IDAs
IGlubGluZUl0ZW1zLnNpemUoKSB9LCBjb25zdHJhaW50cyk7Ci0gICAgY29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hl
cygpKTsKKyAgICBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGZvcm1h
dHRpbmdTdGF0ZSgpLm91dE9mRmxvd0JveGVzKCksIHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgp
LmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2FsVG9wKCkgfSk7CiAgICAgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNvbnRl
bnQoZm9ybWF0dGluZ1N0YXRlKCkuYm94ZXMoKSk7CiB9CiAKQEAgLTI0NSw3ICsyNDUsNyBAQCB2
b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElubGluZUl0ZW1zJiBpbmxp
bmVJdGVtcywgY29uc3QgTGluZUJ1aQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBG
b3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0JveExpc3QmIG91dE9mRmxvd0JveGVzKQordm9pZCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93
Q29udGVudChjb25zdCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0JveExpc3QmIG91dE9mRmxv
d0JveGVzLCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkKIHsKICAgICAvLyBUaGlzIGZ1
bmN0aW9uIGNvbXB1dGVzIHRoZSBzdGF0aWMgcG9zaXRpb24gZm9yIG91dC1vZi1mbG93IGNvbnRl
bnQgaW5zaWRlIHRoZSBpbmxpbmUgZm9ybWF0dGluZyBjb250ZXh0LgogICAgIC8vIEFzIHBlciBz
cGVjLCB0aGUgc3RhdGljIHBvc2l0aW9uIG9mIGFuIG91dC1vZi1mbG93IGJveCBpcyBjb21wdXRl
ZCBhcyBpZiB0aGUgcG9zaXRpb24gd2FzIHNldCB0byBzdGF0aWMuCkBAIC0yNTcsMTAgKzI1Nywx
MCBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRpb25G
b3JPdXRPZkZsb3dDb250ZW50KGNvbnN0IEZvcgogCiAgICAgZm9yIChhdXRvJiBvdXRPZkZsb3dC
b3ggOiBvdXRPZkZsb3dCb3hlcykgewogICAgICAgICBpZiAob3V0T2ZGbG93Qm94LT5zdHlsZSgp
LmlzT3JpZ2luYWxEaXNwbGF5SW5saW5lVHlwZSgpKSB7Ci0gICAgICAgICAgICBmb3JtYXR0aW5n
U3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0
aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChvdXRP
ZkZsb3dCb3gpKTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShvdXRP
ZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZvcm1hdHRpbmdHZW9tZXRyeS5zdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94KG91dE9mRmxvd0JveCwgY29udGVudEJveFRv
cExlZnQpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIGZvcm1h
dHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShvdXRPZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZv
cm1hdHRpbmdHZW9tZXRyeS5zdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3go
b3V0T2ZGbG93Qm94KSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShvdXRP
ZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZvcm1hdHRpbmdHZW9tZXRyeS5zdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3gob3V0T2ZGbG93Qm94LCBjb250ZW50Qm94VG9w
TGVmdCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmgKaW5kZXggNDVhOTA2YzY4NmQ5Li5mYzQ3ZWZmZGYxNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZv
cm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjAsNyArNjAsNyBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBsaW5lTGF5b3V0KElubGluZUl0ZW1zJiwg
Y29uc3QgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSYsIGNvbnN0IENvbnN0cmFpbnRzRm9y
SW5GbG93Q29udGVudCYpOwotICAgIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudChjb25zdCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0JveExpc3QmKTsKKyAg
ICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9y
bWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiwgTGF5b3V0UG9pbnQgY29udGVudEJveFRv
cExlZnQpOwogCiAgICAgdm9pZCBjb21wdXRlSW50cmluc2ljV2lkdGhGb3JGb3JtYXR0aW5nUm9v
dChjb25zdCBCb3gmKTsKICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbXB1dGVkSW50cmluc2ljV2lk
dGhGb3JDb25zdHJhaW50KEludHJpbnNpY1dpZHRoTW9kZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAppbmRleCBkM2UzNjZkODBi
OGMuLjk0YjI0YzE1ZGY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nR2VvbWV0cnkuY3BwCkBAIC0xOTMsOTQgKzE5MywxMjAgQEAgSW5saW5lTGF5b3V0VW5p
dCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1dGVkVGV4dEluZGVudChJc0ludHJpbnNp
Y1dpZHRoTW8KICAgICByZXR1cm4geyBtaW5pbXVtVmFsdWVGb3JMZW5ndGgodGV4dEluZGVudCwg
YXZhaWxhYmxlV2lkdGgpIH07CiB9CiAKLXN0YXRpYyBzdGQ6OnR1cGxlPGNvbnN0IElubGluZURp
c3BsYXk6OkJveCosIGNvbnN0IElubGluZURpc3BsYXk6OkJveCo+IHByZXZpb3VzQW5kTmV4dERp
c3BsYXlCb3hGb3JTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmIG91dE9mRmxvd0JveCwgY29uc3Qg
RGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCitzdGF0aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+
IGZpcnN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBj
b25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKIHsKLSAgICAvLyBCb3RoIHByZXZpb3Vz
IGZsb2F0IGFuZCBvdXQtb2YtZmxvdyBib3hlcyBhcmUgc2tpcHBlZCBoZXJlLiBBIHNlcmllcyBv
ZiBhZGpvaW5pbmcgb3V0LW9mLWZsb3cgYm94ZXMgc2hvdWxkIGFsbCBiZSBwbGFjZWQKLSAgICAv
LyBhdCB0aGUgc2FtZSBzdGF0aWMgcG9zaXRpb24gKHRoZXkgZG9uJ3QgYWZmZWN0IG5leHQtc2li
bGluZyBwb3NpdGlvbnMpIGFuZCB3aGlsZSBmbG9hdHMgZG8gcGFydGljaXBhdGUgaW4gdGhlIGlu
bGluZSBsYXlvdXQKLSAgICAvLyB0aGVpciBwb3NpdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gdGFr
ZW4gaW50byBhY2NvdW50IGR1cmluZyB0aGUgaW5saW5lIGxheW91dC4KLSAgICBhdXRvIHByZXZp
b3VzSW5GbG93Qm94ID0gWyZdICgpIC0+IGNvbnN0IEJveCogewotICAgICAgICBpZiAoYXV0byog
cHJldmlvdXNJbkZsb3dTaWJsaW5nID0gb3V0T2ZGbG93Qm94LnByZXZpb3VzSW5GbG93U2libGlu
ZygpKQotICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzSW5GbG93U2libGluZzsKLSAgICAgICAg
Ly8gUGFyZW50IGlzIGVpdGhlciB0aGUgcm9vdCBoZXJlIG9yIGFub3RoZXIgaW5saW5lIGJveCAo
ZS5nLiA8c3Bhbj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPjwvc3Bhbj4pCi0gICAg
ICAgIGF1dG8mIHBhcmVudCA9IG91dE9mRmxvd0JveC5wYXJlbnQoKTsKLSAgICAgICAgcmV0dXJu
IHBhcmVudC5pc0lubGluZUJveCgpID8gJnBhcmVudCA6IG51bGxwdHI7Ci0gICAgfSgpOwotCi0g
ICAgaWYgKCFwcmV2aW91c0luRmxvd0JveCkgewotICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJz
dCBjb250ZW50LiBJdCBzaXRzIG9uIHRoZSBlZGdlIG9mIHRoZSBmaXJzdCByb290IGlubGluZSBi
b3guIFdlIGRvbid0IG5lZWQgdG8gcHJvdmlkZSB0aGUgbmV4dCBkaXNwbGF5IGJveC4KLSAgICAg
ICAgcmV0dXJuIHsgbnVsbHB0ciwgbnVsbHB0ciB9OworICAgIC8vIEZJWE1FOiBCdWlsZCBhIGZp
cnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMuCisgICAgZm9yIChzaXplX3QgaW5kZXgg
PSAwOyBpbmRleCA8IGRpc3BsYXlCb3hlcy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgaWYg
KGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgaWYgKCZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09ICZs
YXlvdXRCb3gpCisgICAgICAgICAgICByZXR1cm4gaW5kZXg7CiAgICAgfQorICAgIHJldHVybiB7
IH07Cit9CiAKLSAgICAvLyBUaGlzIGlzIHN1cHBvc2VkIHRvIGZpbmQgdGhlIGxhc3QgZGlzcGxh
eSBib3ggb2YgdGhlICJpbmZsb3dCb3giIGFuZCByZXR1cm4gaXQgd2l0aCB0aGUgbmV4dCBkaXNw
bGF5IGJveCAoZmlyc3QgYm94IG9mIHRoZSBuZXh0IGluZmxvdyBjb250ZW50KS4KLSAgICBhdXRv
IGZvdW5kRmlyc3REaXNwbGF5Qm94ID0gZmFsc2U7Ci0gICAgZm9yIChzaXplX3QgaW5kZXggPSAw
OyBpbmRleCA8IGRpc3BsYXlCb3hlcy5zaXplKCk7ICsraW5kZXgpIHsKK3N0YXRpYyBzdGQ6Om9w
dGlvbmFsPHNpemVfdD4gbGFzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChjb25zdCBCb3gm
IGxheW91dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCit7CisgICAgLy8g
RklYTUU6IEJ1aWxkIGEgZmlyc3QvbGFzdCBoYXNobWFwIGZvciB0aGVzZSBib3hlcy4KKyAgICBm
b3IgKGF1dG8gaW5kZXggPSBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyBpbmRleC0tOykgewogICAgICAg
ICBpZiAoZGlzcGxheUJveGVzW2luZGV4XS5pc1Jvb3RJbmxpbmVCb3goKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICBpZiAoZm91bmRGaXJzdERpc3BsYXlCb3ggJiYgJmRpc3BsYXlC
b3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgIT0gcHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAg
ICAgIEFTU0VSVChpbmRleCk7Ci0gICAgICAgICAgICByZXR1cm4geyAmZGlzcGxheUJveGVzW2lu
ZGV4IC0gMV0sICZkaXNwbGF5Qm94ZXNbaW5kZXhdIH07CisgICAgICAgIGlmICgmZGlzcGxheUJv
eGVzW2luZGV4XS5sYXlvdXRCb3goKSA9PSAmbGF5b3V0Qm94KQorICAgICAgICAgICAgcmV0dXJu
IGluZGV4OworICAgIH0KKyAgICByZXR1cm4geyB9OworfQorCitzdGF0aWMgc3RkOjpvcHRpb25h
bDxzaXplX3Q+IHByZXZpb3VzRGlzcGxheUJveEluZGV4KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94
LCBjb25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKK3sKKyAgICBhdXRvIHByZXZpb3Vz
RGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkgLT4gc3RkOjpvcHRpb25h
bDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5b3V0Qm94OyBib3g7IGJv
eCA9IGJveC0+cHJldmlvdXNJbkZsb3dTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgIGlmIChhdXRv
IGRpc3BsYXlCb3hJbmRleCA9IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goKmJveCwg
ZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxheUJveEluZGV4Owog
ICAgICAgICB9Ci0gICAgICAgIGZvdW5kRmlyc3REaXNwbGF5Qm94ID0gZm91bmRGaXJzdERpc3Bs
YXlCb3ggfHwgJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgPT0gcHJldmlvdXNJbkZs
b3dCb3g7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAgIGF1dG8qIGNhbmlkYXRl
Qm94ID0gb3V0T2ZGbG93Qm94LnByZXZpb3VzSW5GbG93U2libGluZygpOworICAgIGlmICghY2Fu
aWRhdGVCb3gpCisgICAgICAgIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94LnBhcmVudCgpLmlz
SW5saW5lQm94KCkgPyAmb3V0T2ZGbG93Qm94LnBhcmVudCgpIDogbnVsbHB0cjsKKyAgICB3aGls
ZSAoY2FuaWRhdGVCb3gpIHsKKyAgICAgICAgaWYgKGF1dG8gZGlzcGxheUJveEluZGV4ID0gcHJl
dmlvdXNEaXNwbGF5Qm94SW5kZXhPZigqY2FuaWRhdGVCb3gpKQorICAgICAgICAgICAgcmV0dXJu
IGRpc3BsYXlCb3hJbmRleDsKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBjYW5pZGF0ZUJveC0+cGFy
ZW50KCkuaXNJbmxpbmVCb3goKSA/ICZjYW5pZGF0ZUJveC0+cGFyZW50KCkgOiBudWxscHRyOwog
ICAgIH0KLSAgICBpZiAoZm91bmRGaXJzdERpc3BsYXlCb3gpCi0gICAgICAgIHJldHVybiB7ICZk
aXNwbGF5Qm94ZXNbZGlzcGxheUJveGVzLnNpemUoKSAtIDFdLCBudWxscHRyIH07Ci0gICAgcmV0
dXJuIHsgbnVsbHB0ciwgbnVsbHB0ciB9OworICAgIHJldHVybiB7IH07CiB9CiAKLUxheW91dFBv
aW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJ
bmxpbmVMZXZlbEJveChjb25zdCBCb3gmIG91dE9mRmxvd0JveCkgY29uc3QKK3N0YXRpYyBzdGQ6
Om9wdGlvbmFsPHNpemVfdD4gbmV4dERpc3BsYXlCb3hJbmRleChjb25zdCBCb3gmIG91dE9mRmxv
d0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7Ci0gICAgQVNTRVJUKG91
dE9mRmxvd0JveC5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5SW5saW5lVHlwZSgpKTsKKyAgICBh
dXRvIG5leHREaXNwbGF5Qm94SW5kZXhPZiA9IFsmXSAoYXV0byYgbGF5b3V0Qm94KSAtPiBzdGQ6
Om9wdGlvbmFsPHNpemVfdD4geworICAgICAgICBmb3IgKGF1dG8qIGJveCA9ICZsYXlvdXRCb3g7
IGJveDsgYm94ID0gYm94LT5uZXh0SW5GbG93U2libGluZygpKSB7CisgICAgICAgICAgICBpZiAo
YXV0byBkaXNwbGF5Qm94SW5kZXggPSBmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveCgq
Ym94LCBkaXNwbGF5Qm94ZXMpKQorICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Qm94SW5k
ZXg7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9OworCisgICAgYXV0byog
Y2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gubmV4dEluRmxvd1NpYmxpbmcoKTsKKyAgICBpZiAo
IWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wYXJlbnQo
KS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6IG51bGxwdHI7CisgICAg
d2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRleCA9
IG5leHREaXNwbGF5Qm94SW5kZXhPZigqY2FuaWRhdGVCb3gpKQorICAgICAgICAgICAgcmV0dXJu
IGRpc3BsYXlCb3hJbmRleDsKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBjYW5pZGF0ZUJveC0+cGFy
ZW50KCkuaXNJbmxpbmVCb3goKSA/ICZjYW5pZGF0ZUJveC0+cGFyZW50KCkgOiBudWxscHRyOwor
ICAgIH0KKyAgICByZXR1cm4geyB9OworfQogCitMYXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5n
R2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3Qg
Qm94JiBvdXRPZkZsb3dCb3gsIExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdAor
eworICAgIEFTU0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGlu
ZVR5cGUoKSk7CiAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gZm9ybWF0dGluZ0NvbnRleHQo
KS5mb3JtYXR0aW5nU3RhdGUoKTsKICAgICBhdXRvJiBsaW5lcyA9IGZvcm1hdHRpbmdTdGF0ZS5s
aW5lcygpOwogICAgIGF1dG8mIGJveGVzID0gZm9ybWF0dGluZ1N0YXRlLmJveGVzKCk7CiAKLSAg
ICBhdXRvIFtwcmV2aW91c0Rpc3BsYXlCb3gsIG5leHREaXNwbGF5Qm94XSA9IHByZXZpb3VzQW5k
TmV4dERpc3BsYXlCb3hGb3JTdGF0aWNQb3NpdGlvbihvdXRPZkZsb3dCb3gsIGJveGVzKTsKLQot
ICAgIGlmICghcHJldmlvdXNEaXNwbGF5Qm94ICYmICFuZXh0RGlzcGxheUJveCkKKyAgICBhdXRv
IHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94ID0gcHJldmlvdXNEaXNw
bGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hlcyk7CisgICAgaWYgKCFwcmV2aW91c0Rpc3Bs
YXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkKICAgICAgICAgcmV0dXJuIHsgYm94ZXNbMF0u
bGVmdCgpLCBsaW5lc1swXS50b3AoKSB9OwogCi0gICAgaWYgKCFuZXh0RGlzcGxheUJveCkgewot
ICAgICAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGlu
ZUluZGV4KCldOwotICAgICAgICBhdXRvIHNob3VsZEZpdExpbmUgPSBwcmV2aW91c0Rpc3BsYXlC
b3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUucmlnaHQoKSAmJiAhcHJldmlvdXNEaXNwbGF5Qm94
LT5pc0xpbmVCcmVha0JveCgpOwotICAgICAgICByZXR1cm4gc2hvdWxkRml0TGluZSA/IExheW91
dFBvaW50IHsgcHJldmlvdXNEaXNwbGF5Qm94LT5yaWdodCgpLCBjdXJyZW50TGluZS50b3AoKSB9
IDogTGF5b3V0UG9pbnQgeyBjdXJyZW50TGluZS5sZWZ0KCksIGN1cnJlbnRMaW5lLmJvdHRvbSgp
IH07CisgICAgYXV0byYgcHJldmlvdXNEaXNwbGF5Qm94ID0gYm94ZXNbKnByZXZpb3VzRGlzcGxh
eUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94XTsKKyAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxp
bmVzW3ByZXZpb3VzRGlzcGxheUJveC5saW5lSW5kZXgoKV07CisgICAgaWYgKHByZXZpb3VzRGlz
cGxheUJveC5pc0lubGluZUJveCgpICYmICZvdXRPZkZsb3dCb3gucGFyZW50KCkgPT0gJnByZXZp
b3VzRGlzcGxheUJveC5sYXlvdXRCb3goKSkgeworICAgICAgICAvLyBTcGVjaWFsIGhhbmRsaW5n
IGZvciBjYXNlcyB3aGVuIHRoaXMgaXMgdGhlIGZpcnN0IGJveCBpbnNpZGUgYW4gaW5saW5lIGJv
eDoKKyAgICAgICAgLy8gPGRpdj50ZXh0PHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlIj5jb250ZW50PC9zcGFuPjwvZGl2PgorICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBwcmV2
aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCk7CisgICAgICAgIGF1dG8gZmlyc3REaXNwbGF5Qm94
ID0gYm94ZXNbKmZpcnN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KGlubGluZUJveCwgYm94
ZXMpXTsKKyAgICAgICAgYXV0byYgaW5saW5lQm94Qm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29u
dGV4dCgpLmdlb21ldHJ5Rm9yQm94KGlubGluZUJveCk7CisgICAgICAgIHJldHVybiB7IExheW91
dFVuaXQoZmlyc3REaXNwbGF5Qm94LmxlZnQoKSkgKyBpbmxpbmVCb3hCb3hHZW9tZXRyeS5ib3Jk
ZXJBbmRQYWRkaW5nU3RhcnQoKSwgbGluZXNbZmlyc3REaXNwbGF5Qm94LmxpbmVJbmRleCgpXS50
b3AoKSB9OwogICAgIH0KIAotICAgIGlmIChwcmV2aW91c0Rpc3BsYXlCb3gtPmlzSW5saW5lQm94
KCkpIHsKLSAgICAgICAgLy8gU3BlY2lhbCBoYW5kbGluZyBmb3IgY2FzZXMgd2hlbiB0aGUgcHJl
dmlvdXMgY29udGVudCBpcyBhbiBpbmxpbmUgYm94OgotICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bh
bj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPmNvbnRlbnQ8L3NwYW4+PC9kaXY+Ci0g
ICAgICAgIC8vIG9yCi0gICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPmNvbnRlbnQ8L3NwYW4+PGlt
ZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4KLSAgICAgICAgYXV0byBpc0ZpcnN0
Q29udGVudEluc2lkZUlubGluZUJveCA9ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgPT0gJnByZXZp
b3VzRGlzcGxheUJveC0+bGF5b3V0Qm94KCk7Ci0gICAgICAgIGF1dG8mIGlubGluZUJveEJveEdl
b21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChwcmV2aW91c0Rpc3Bs
YXlCb3gtPmxheW91dEJveCgpKTsKLQotICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgaXNG
aXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPyBCb3hHZW9tZXRyeTo6Ym9yZGVyQm94TGVmdChp
bmxpbmVCb3hCb3hHZW9tZXRyeSkgKyBpbmxpbmVCb3hCb3hHZW9tZXRyeS5jb250ZW50Qm94TGVm
dCgpIDogQm94R2VvbWV0cnk6Om1hcmdpbkJveFJlY3QoaW5saW5lQm94Qm94R2VvbWV0cnkpLnJp
Z2h0KCksCi0gICAgICAgICAgICBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gtPmxpbmVJbmRleCgp
XS50b3AoKQotICAgICAgICB9OworICAgIGF1dG8gcHJldmlvdXNCb3hPdmVyZmxvd3MgPSBwcmV2
aW91c0Rpc3BsYXlCb3gucmlnaHQoKSA+IGN1cnJlbnRMaW5lLnJpZ2h0KCkgfHwgcHJldmlvdXNE
aXNwbGF5Qm94LmlzTGluZUJyZWFrQm94KCk7CisgICAgaWYgKCFwcmV2aW91c0JveE92ZXJmbG93
cykKKyAgICAgICAgcmV0dXJuIHsgcHJldmlvdXNEaXNwbGF5Qm94LnJpZ2h0KCksIGN1cnJlbnRM
aW5lLnRvcCgpIH07CisKKyAgICBhdXRvIG5leHREaXNwbGF5Qm94SW5kZXhBZnRlck91dE9mRmxv
dyA9IG5leHREaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hlcyk7CisgICAgaWYgKCFu
ZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3cpIHsKKyAgICAgICAgLy8gVGhpcyBpcyB0
aGUgbGFzdCBjb250ZW50IG9uIHRoZSBibG9jayBhbmQgaXQgZG9lcyBub3QgZml0IHRoZSBsYXN0
IGxpbmUuCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIHN0aWxsIGhhcyBsaW5lIHR5b2Ugb2YgY29u
c3RyYWludHMgbGlrZSB0ZXh0LWFsaWduLgorICAgICAgICByZXR1cm4gTGF5b3V0UG9pbnQgeyBj
b250ZW50Qm94VG9wTGVmdC54KCksIGN1cnJlbnRMaW5lLmJvdHRvbSgpIH07CiAgICAgfQotICAg
IGF1dG8mIGN1cnJlbnRMaW5lID0gbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5lSW5kZXgo
KV07Ci0gICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNEaXNwbGF5Qm94LT5saW5lSW5k
ZXgoKSA9PSBuZXh0RGlzcGxheUJveC0+bGluZUluZGV4KCkgfHwgKHByZXZpb3VzRGlzcGxheUJv
eC0+cmlnaHQoKSA8PSBjdXJyZW50TGluZS5sZWZ0KCkgJiYgIXByZXZpb3VzRGlzcGxheUJveC0+
aXNMaW5lQnJlYWtCb3goKSk7Ci0gICAgcmV0dXJuIHNob3VsZEZpdExpbmUgPyBMYXlvdXRQb2lu
dCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExpbmUudG9wKCkgfSA6IExh
eW91dFBvaW50IHsgbmV4dERpc3BsYXlCb3gtPmxlZnQoKSwgbGluZXNbbmV4dERpc3BsYXlCb3gt
PmxpbmVJbmRleCgpXS50b3AoKSB9OworICAgIGF1dG8mIG5leHREaXNwbGF5Qm94ID0gYm94ZXNb
Km5leHREaXNwbGF5Qm94SW5kZXhBZnRlck91dE9mRmxvd107CisgICAgcmV0dXJuIHsgbmV4dERp
c3BsYXlCb3gubGVmdCgpLCBsaW5lc1tuZXh0RGlzcGxheUJveC5saW5lSW5kZXgoKV0udG9wKCkg
fTsKIH0KIAotTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gpIGNv
bnN0CitMYXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9u
Rm9yT3V0T2ZGbG93QmxvY2tMZXZlbEJveChjb25zdCBCb3gmIG91dE9mRmxvd0JveCwgTGF5b3V0
UG9pbnQgY29udGVudEJveFRvcExlZnQpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKG91dE9mRmxvd0Jv
eC5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5QmxvY2tUeXBlKCkpOworICAgIEFTU0VSVChvdXRP
ZkZsb3dCb3guc3R5bGUoKS5pc0Rpc3BsYXlCbG9ja0xldmVsKCkpOwogCiAgICAgYXV0byYgZm9y
bWF0dGluZ1N0YXRlID0gZm9ybWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0aW5nU3RhdGUoKTsKICAg
ICBhdXRvJiBsaW5lcyA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpOwogICAgIGF1dG8mIGJveGVz
ID0gZm9ybWF0dGluZ1N0YXRlLmJveGVzKCk7Ci0KICAgICAvLyBCbG9jayBsZXZlbCBib3hlcyBh
cmUgcGxhY2VkIHVuZGVyIHRoZSBjdXJyZW50IGxpbmUgYXMgaWYgdGhleSB3ZXJlIG5vcm1hbCBp
bmZsb3cgYmxvY2sgbGV2ZWwgYm94ZXMuCi0gICAgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94KiBw
cmV2aW91c0Rpc3BsYXlCb3ggPSBudWxscHRyOwotICAgIHN0ZDo6dGllKHByZXZpb3VzRGlzcGxh
eUJveCwgc3RkOjppZ25vcmUpID0gcHJldmlvdXNBbmROZXh0RGlzcGxheUJveEZvclN0YXRpY1Bv
c2l0aW9uKG91dE9mRmxvd0JveCwgYm94ZXMpOwotCi0gICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlC
b3gpCi0gICAgICAgIHJldHVybiB7IGJveGVzWzBdLmxlZnQoKSwgbGluZXNbMF0udG9wKCkgfTsK
LQotICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5l
SW5kZXgoKV07Ci0gICAgcmV0dXJuIHsgY3VycmVudExpbmUubGVmdCgpLCBjdXJyZW50TGluZS5i
b3R0b20oKSB9OworICAgIGF1dG8gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZs
b3dCb3ggPSBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChvdXRPZkZsb3dCb3gsIGJveGVzKTsKKyAg
ICBpZiAoIXByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94KQorICAgICAg
ICByZXR1cm4geyBjb250ZW50Qm94VG9wTGVmdC54KCksIGxpbmVzWzBdLnRvcCgpIH07CisgICAg
cmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJl
Zm9yZU91dE9mRmxvd0JveCA/IExheW91dFVuaXQobGluZXNbYm94ZXNbKnByZXZpb3VzRGlzcGxh
eUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94XS5saW5lSW5kZXgoKV0uYm90dG9tKCkpIDogY29u
dGVudEJveFRvcExlZnQueSgpIH07CiB9CiAKIElubGluZUxheW91dFVuaXQgSW5saW5lRm9ybWF0
dGluZ0dlb21ldHJ5Ojppbml0aWFsTGluZUhlaWdodCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nR2VvbWV0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCmluZGV4IDBmYmMzMzUzMjI2ZC4uMzE2
MDQ3M2M0YWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnkuaApAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSW5saW5lUmVj
dCBmbGlwVmlzdWFsUmVjdFRvTG9naWNhbEZvcldyaXRpbmdNb2RlKGNvbnN0IElubGluZVJlY3Qm
IHZpc3VhbFJlY3QsIFdyaXRpbmdNb2RlKTsKIAotICAgIExheW91dFBvaW50IHN0YXRpY1Bvc2l0
aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7Ci0gICAgTGF5
b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJv
eCYpIGNvbnN0OworICAgIExheW91dFBvaW50IHN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5s
aW5lTGV2ZWxCb3goY29uc3QgQm94JiwgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpIGNv
bnN0OworICAgIExheW91dFBvaW50IHN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZl
bEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3Q7CiAK
IHByaXZhdGU6CiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdD
b250ZXh0KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ+
KEZvcm1hdHRpbmdHZW9tZXRyeTo6Zm9ybWF0dGluZ0NvbnRleHQoKSk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVy
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3Jh
dGlvbkNvdmVyYWdlLmNwcAppbmRleCBkZDBmOTRlZGE4MTAuLmEwYjU4ZjdmZTAwMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9u
Q292ZXJhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcApAQCAtMzg3LDkgKzM4Nyw3IEBAIHN0YXRpYyBPcHRp
b25TZXQ8QXZvaWRhbmNlUmVhc29uPiBjYW5Vc2VGb3JDaGlsZChjb25zdCBSZW5kZXJPYmplY3Qm
IGNoaWxkLCBJbmNsCiAgICAgICAgIGlmIChyZW5kZXJlci5zdHlsZSgpLnNoYXBlT3V0c2lkZSgp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAocmVuZGVyZXIuaXNPdXRP
ZkZsb3dQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIGlmICghaXM8UmVuZGVyUmVwbGFjZWQ+
KHJlbmRlcmVyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBp
ZiAoIXJlbmRlcmVyLnBhcmVudCgpLT5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkK
KyAgICAgICAgICAgIGlmICghcmVuZGVyZXIucGFyZW50KCktPnN0eWxlKCkuaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpIHx8ICFyZW5kZXJlci5wYXJlbnQoKS0+c3R5bGUoKS5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IC8vIFRoaXMgc2ltcGx5IGNoZWNrcyB0aGUgbm90LXlldCBzdXBwb3J0ZWQgY2FzZSB3aGVuIHRo
ZSBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkCiAgICAgICAgICAgICAvLyBjb250ZW50IGhhcyBhIHJl
bGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmUgY29udGFpbmluZyBibG9jayAoaGFzIHRvIGNhbGwg
Y29udGFpbmVyIHRvIG5vdCBza2lwIFJlbmRlcklubGluZXMpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggY2M3N2YwMWMyZjZmLi5jMTc1MGJhOGY2NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc1
Niw2ICsyNzU2LDcgQEAgd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUKIHdlYmtpdC5vcmcvYi8yMTQy
OTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGluZS1icmVh
ay9saW5lLWJyZWFrLXNoYXBpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRl
eHQvbGluZS1icmVha2luZy9saW5lLWJyZWFraW5nLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtpbmcvbGluZS1icmVha2luZy0wMTcuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzI0NTkwNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5nL2xpbmUtYnJlYWtpbmctMDE5Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvb3ZlcmZsb3ctd3JhcC9vdmVyZmxvdy13
cmFwLW5vcm1hbC1rZWVwLWFsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4
dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtc2hhcGluZy0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdGV4dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtc2hhcGluZy0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtMzEzMiw2ICszMTMzLDkgQEAgd2Via2l0
Lm9yZy9iLzE3NjE4MyBmYXN0L2Jsb2NrL2luc2lkZS1pbmxpbmVzL29wYWNpdHktb24taW5saW5l
Lmh0bWwgWyBJbWFnZU9ubHkKIAogd2Via2l0Lm9yZy9iLzE2NjAyNSBodHRwL3Rlc3RzL2ZldGNo
L2ZldGNoaW5nLXNhbWUtcmVzb3VyY2Utd2l0aC1kaWZmZXJlbnQtb3B0aW9ucy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIAord2Via2l0Lm9yZy9iLzI0NTkxNyBmYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0
cy1vZmZzZXQtaW1hZ2Utc3RyaWN0LWxpbmVoZWlnaHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzI0NTkxNyBmYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0cy1vZmZzZXQtaW5s
aW5lLWJsb2NrLXN0cmljdC1saW5laGVpZ2h0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKwog
IyBXUFQgY3NzL2Nzcy1wc2V1ZG8gaW1wb3J0ICh3ZWJraXQub3JnL2IvMjM1MTk3KQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9hY3RpdmUtc2VsZWN0aW9u
LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHNldWRvL2FjdGl2ZS1zZWxlY3Rpb24tMDE2Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
cGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAppbmRleCA4ZjI1
MDQ2Y2I3ODAuLmU1MTBjN2JhNTkxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVk
LnR4dApAQCAtNjIsNyArNjIsNyBAQCBUaGlzIHRlc3RzIHRoYXQgbGF5ZXJzIGFyZSByZWJ1aWx0
IHByb3Blcmx5IGFmdGVyIHRoZSBwYWdlIGlzIHJlc3RvcmVkIGZyb20gdGhlCiAgICAgICAgICkK
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCAyNzQuMDAp
Ci0gICAgICAgICAgKGJvdW5kcyA3ODQuMDAgMjI0LjAwKQorICAgICAgICAgIChib3VuZHMgNzg0
LjAwIDIyOC4wMCkKICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKICAgICAgICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD0tMjggaGVpZ2h0
PS0yOCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29s
L2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IGZjMTcwYzIyZGRmMi4u
Y2EzNTk3ZDgyNmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4LDgg
KzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3aWR0aCA0
OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUgNHgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIx
OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIxOSkg
c2l6ZSA0eDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0
aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29t
cGxleC1leHBlY3RlZC50eHQKaW5kZXggNmY1NzQ1YTM3ZTdiLi4yZWMzODgyYWQ1MzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3Rl
ZC50eHQKQEAgLTI4LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQ3NiwxMTQpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDU5NiwxMTQpIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0
ICg1OTYsMTE0KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3
MTYsMTE0KSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDExNCkgd2lkdGgg
NDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyNTgpIHNpemUgNHgxOAogICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMTYsMjU4KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyNDYsMjU4KSBzaXplIDR4MTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMt
c3Bhbm5lcnMtZXhwZWN0ZWQudHh0CmluZGV4IGY4NzI4YmMxMzA5YS4uMWE5Nzk3YzM1N2E5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQKQEAgLTI4
LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3aWR0
aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUgNHgx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2
LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDIx
OSkgc2l6ZSA0eDE4CkBAIC00Miw4ICs0MSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1MTYsMjE5KSB3aWR0aCA0OiAiICIKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjE2LDIxOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNzE2LDIxOSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwyMTkp
IHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NiwzMzkpIHNpemUgNHgxOAogICAg
ICAgICAgIHRleHQgcnVuIGF0ICg5NiwzMzkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDE5NiwzMzkpIHNpemUgNHgxOApAQCAtNTYsOCArNTQsNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk2LDMzOSkg
d2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDMzOSkgc2l6
ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NiwzMzkpIHdpZHRoIDQ6ICIgIgotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY5NiwzMzkpIHNpemUgNHgxOAotICAgICAgICAg
IHRleHQgcnVuIGF0ICg2OTYsMzM5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDgsNjMpIHNpemUgMTE2eDc2CiAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDEwKSBzaXplIDExNng3NiBbY29sb3I9I0FERDhFNl0gW2JvcmRlcjogKDNw
eCBzb2xpZCAjMDAwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVj
dHMtZXhwZWN0ZWQudHh0CmluZGV4IGZjMTcwYzIyZGRmMi4uY2EzNTk3ZDgyNmQ4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4
LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3aWR0
aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUgNHgx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2
LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIx
OSkgc2l6ZSA0eDE4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462765</attachid>
            <date>2022-10-02 11:04:41 -0700</date>
            <delta_ts>2022-10-08 10:11:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20221002110441.patch</filename>
            <type>text/plain</type>
            <size>31252</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0YTk2NzA1ZDM4ZDRmODI5NTBkMTk1NThiZjkyZDAwMWQ3ZjY2YTZhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBT
dW4sIDIgT2N0IDIwMjIgMTA6NTU6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbUEFUQ0hdIFtM
RkNdW0lGQ10gRW5hYmxlIG5vbi1yZXBsYWNlZCBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkCiBjb250
ZW50IGZvciBJRkMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTc2
NgoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpUaGlzIHBhdGNoIGVuYWJsZXMgaG9yaXpv
bnRhbC9sdHIgb3V0LW9mLWZsb3cgY29udGVudCBmb3IgSUZDLgoKKiBTb3VyY2UvV2ViQ29yZS9s
YXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnku
Y3BwOgpGaXggY2FzZXMgd2hlcmUgcHJldmlvdXMgaW5mbG93IGJveCdzIChvZiB3aGljaCB0aGUg
b3V0LW9mLWZsb3cgYm94IGlzIGJhc2VkIG9mZikgY29udGVudCBpcyBjb2xsYXBzZWQgYW5kIGRv
ZXMgbm90IGdlbmVyYXRlIGFueSBkaXNwbGF5IGJveC4gSW4gc3VjaCBjYXNlcyB3ZSBnbyBhbmQg
dXNlIHRoZSBwcmV2aW91cyBib3gncyBwcmV2aW91cyBzaWJsaW5nIChhbmQgc28gb24pLgoKKiBM
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lm
cmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0OgoqIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVy
cy1jb21wbGV4LWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0OgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBl
Y3RlZC50eHQ6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudCk6CihXZWJDb3JlOjpMYXlvdXQ6
OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50Rm9ySW50ZWdyYXRp
b24pOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0
YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaDoKKiBT
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3Jt
YXR0aW5nR2VvbWV0cnkuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpmaXJzdERpc3BsYXlCb3hJbmRl
eEZvckxheW91dEJveCk6CihXZWJDb3JlOjpMYXlvdXQ6Omxhc3REaXNwbGF5Qm94SW5kZXhGb3JM
YXlvdXRCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpwcmV2aW91c0Rpc3BsYXlCb3hJbmRleCk6CihX
ZWJDb3JlOjpMYXlvdXQ6Om5leHREaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5l
TGV2ZWxCb3ggY29uc3QpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nR2VvbWV0
cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZlbEJveCBjb25zdCk6CigpOiBE
ZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcDoKKFdlYkNvcmU6OkxheW91dElu
dGVncmF0aW9uOjpjYW5Vc2VGb3JDaGlsZCk6Ci0tLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAgICAgICAgIHwgIDEwICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRp
bmdDb250ZXh0LmggICAgICAgICAgfCAgIDIgKy0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGlu
Z0dlb21ldHJ5LmNwcCAgICAgICB8IDE0NiArKysrKysrKysrKy0tLS0tLS0KIC4uLi9pbmxpbmUv
SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggICAgICAgICB8ICAgNCArLQogLi4uL2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIHwgICA0ICstCiBMYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL3BhZ2UtY2FjaGUt
bGF5ZXItdHJlZS1leHBlY3RlZC50eHQgICAgICAgIHwgICAyICstCiAuLi4vcGFnZS1jYWNoZS1s
YXllci10cmVlLWV4cGVjdGVkLnR4dCAgICAgICAgfCAgIDIgKy0KIC4uLi9mYXN0L211bHRpY29s
L2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgICB8ICAgMyArLQogLi4uY2xpZW50LXJlY3RzLXNw
YW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0IHwgICAzICstCiAuLi4vY2xpZW50LXJlY3RzLXNw
YW5uZXJzLWV4cGVjdGVkLnR4dCAgICAgICAgfCAgIDkgKy0KIC4uLi9uZXdtdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0ICAgICB8ICAgMyArLQogLi4uL2Zhc3QvbXVsdGljb2wvY2xp
ZW50LXJlY3RzLWV4cGVjdGVkLnR4dCAgIHwgICAzICstCiAuLi5jbGllbnQtcmVjdHMtc3Bhbm5l
cnMtY29tcGxleC1leHBlY3RlZC50eHQgfCAgIDMgKy0KIC4uLi9jbGllbnQtcmVjdHMtc3Bhbm5l
cnMtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgOSArLQogLi4uL25ld211bHRpY29sL2NsaWVudC1y
ZWN0cy1leHBlY3RlZC50eHQgICAgIHwgICAzICstCiAxNiBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5z
ZXJ0aW9ucygrKSwgOTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDMzZTFmMTVkZDUyNS4uMzkxZGNjZDhiMGJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CkBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0
SW5GbG93Q29udGVudChjb25zdCBDb25zdHJhaW50c0ZvckluRmxvd0NvbnQKIAogICAgIGF1dG8m
IGlubGluZUl0ZW1zID0gZm9ybWF0dGluZ1N0YXRlKCkuaW5saW5lSXRlbXMoKTsKICAgICBsaW5l
TGF5b3V0KGlubGluZUl0ZW1zLCB7IDAsIGlubGluZUl0ZW1zLnNpemUoKSB9LCBjb25zdHJhaW50
cyk7Ci0gICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChmb3JtYXR0
aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpKTsKKyAgICBjb21wdXRlU3RhdGljUG9zaXRpb25G
b3JPdXRPZkZsb3dDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLm91dE9mRmxvd0JveGVzKCksIHsg
Y29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2Fs
VG9wKCkgfSk7CiAgICAgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJz
dElzTGFzdEJveEZvcklubGluZUNvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkuYm94ZXMoKSk7CiAg
ICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltF
bmRdIC0+IGlubGluZSBmb3JtYXR0aW5nIGNvbnRleHQgLT4gZm9ybWF0dGluZyByb290KCIgPDwg
JnJvb3QoKSA8PCAiKSIpOwogfQpAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnRGb3JJbnRlZ3JhdGlvbihjb25zdCBDb25z
dHJhaW50CiAgICAgY29sbGVjdENvbnRlbnRJZk5lZWRlZCgpOwogICAgIGF1dG8mIGlubGluZUl0
ZW1zID0gZm9ybWF0dGluZ1N0YXRlKCkuaW5saW5lSXRlbXMoKTsKICAgICBsaW5lTGF5b3V0KGlu
bGluZUl0ZW1zLCB7IDAsIGlubGluZUl0ZW1zLnNpemUoKSB9LCBjb25zdHJhaW50cyk7Ci0gICAg
Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUo
KS5vdXRPZkZsb3dCb3hlcygpKTsKKyAgICBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZs
b3dDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLm91dE9mRmxvd0JveGVzKCksIHsgY29uc3RyYWlu
dHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBjb25zdHJhaW50cy5sb2dpY2FsVG9wKCkgfSk7
CiAgICAgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJv
eEZvcklubGluZUNvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkuYm94ZXMoKSk7CiB9CiAKQEAgLTI0
NSw3ICsyNDUsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsaW5lTGF5b3V0KElu
bGluZUl0ZW1zJiBpbmxpbmVJdGVtcywgY29uc3QgTGluZUJ1aQogICAgIH0KIH0KIAotdm9pZCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93
Q29udGVudChjb25zdCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0JveExpc3QmIG91dE9mRmxv
d0JveGVzKQordm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bvc2l0
aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxvd0Jv
eExpc3QmIG91dE9mRmxvd0JveGVzLCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkKIHsK
ICAgICAvLyBUaGlzIGZ1bmN0aW9uIGNvbXB1dGVzIHRoZSBzdGF0aWMgcG9zaXRpb24gZm9yIG91
dC1vZi1mbG93IGNvbnRlbnQgaW5zaWRlIHRoZSBpbmxpbmUgZm9ybWF0dGluZyBjb250ZXh0Lgog
ICAgIC8vIEFzIHBlciBzcGVjLCB0aGUgc3RhdGljIHBvc2l0aW9uIG9mIGFuIG91dC1vZi1mbG93
IGJveCBpcyBjb21wdXRlZCBhcyBpZiB0aGUgcG9zaXRpb24gd2FzIHNldCB0byBzdGF0aWMuCkBA
IC0yNTcsMTAgKzI1NywxMCBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
U3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNvbnN0IEZvcgogCiAgICAgZm9yIChh
dXRvJiBvdXRPZkZsb3dCb3ggOiBvdXRPZkZsb3dCb3hlcykgewogICAgICAgICBpZiAob3V0T2ZG
bG93Qm94LT5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5SW5saW5lVHlwZSgpKSB7Ci0gICAgICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2Fs
VG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxp
bmVMZXZlbEJveChvdXRPZkZsb3dCb3gpKTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5i
b3hHZW9tZXRyeShvdXRPZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZvcm1hdHRpbmdHZW9t
ZXRyeS5zdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94KG91dE9mRmxvd0Jv
eCwgY29udGVudEJveFRvcExlZnQpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
Ci0gICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShvdXRPZkZsb3dCb3gpLnNldExv
Z2ljYWxUb3BMZWZ0KGZvcm1hdHRpbmdHZW9tZXRyeS5zdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0Jsb2NrTGV2ZWxCb3gob3V0T2ZGbG93Qm94KSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5i
b3hHZW9tZXRyeShvdXRPZkZsb3dCb3gpLnNldExvZ2ljYWxUb3BMZWZ0KGZvcm1hdHRpbmdHZW9t
ZXRyeS5zdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3gob3V0T2ZGbG93Qm94
LCBjb250ZW50Qm94VG9wTGVmdCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggNDVhOTA2YzY4NmQ5Li5mYzQ3ZWZmZGYx
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApA
QCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBsaW5lTGF5b3V0
KElubGluZUl0ZW1zJiwgY29uc3QgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SYW5nZSYsIGNvbnN0
IENvbnN0cmFpbnRzRm9ySW5GbG93Q29udGVudCYpOwotICAgIHZvaWQgY29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3JtYXR0aW5nU3RhdGU6Ok91dE9mRmxv
d0JveExpc3QmKTsKKyAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0Nv
bnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiwgTGF5b3V0UG9p
bnQgY29udGVudEJveFRvcExlZnQpOwogCiAgICAgdm9pZCBjb21wdXRlSW50cmluc2ljV2lkdGhG
b3JGb3JtYXR0aW5nUm9vdChjb25zdCBCb3gmKTsKICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbXB1
dGVkSW50cmluc2ljV2lkdGhGb3JDb25zdHJhaW50KEludHJpbnNpY1dpZHRoTW9kZSkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApp
bmRleCA5NGM2N2IyYjQ3NmMuLjY3Yjg4ODI2ODI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCkBAIC0xOTMsOTQgKzE5MywxMjAgQEAg
SW5saW5lTGF5b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1dGVkVGV4dElu
ZGVudChJc0ludHJpbnNpY1dpZHRoTW8KICAgICByZXR1cm4geyBtaW5pbXVtVmFsdWVGb3JMZW5n
dGgodGV4dEluZGVudCwgYXZhaWxhYmxlV2lkdGgpIH07CiB9CiAKLXN0YXRpYyBzdGQ6OnR1cGxl
PGNvbnN0IElubGluZURpc3BsYXk6OkJveCosIGNvbnN0IElubGluZURpc3BsYXk6OkJveCo+IHBy
ZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCitzdGF0aWMgc3RkOjpv
cHRpb25hbDxzaXplX3Q+IGZpcnN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94KGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBjb25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKIHsKLSAgICAv
LyBCb3RoIHByZXZpb3VzIGZsb2F0IGFuZCBvdXQtb2YtZmxvdyBib3hlcyBhcmUgc2tpcHBlZCBo
ZXJlLiBBIHNlcmllcyBvZiBhZGpvaW5pbmcgb3V0LW9mLWZsb3cgYm94ZXMgc2hvdWxkIGFsbCBi
ZSBwbGFjZWQKLSAgICAvLyBhdCB0aGUgc2FtZSBzdGF0aWMgcG9zaXRpb24gKHRoZXkgZG9uJ3Qg
YWZmZWN0IG5leHQtc2libGluZyBwb3NpdGlvbnMpIGFuZCB3aGlsZSBmbG9hdHMgZG8gcGFydGlj
aXBhdGUgaW4gdGhlIGlubGluZSBsYXlvdXQKLSAgICAvLyB0aGVpciBwb3NpdGlvbnMgaGF2ZSBh
bHJlYWR5IGJlZW4gdGFrZW4gaW50byBhY2NvdW50IGR1cmluZyB0aGUgaW5saW5lIGxheW91dC4K
LSAgICBhdXRvIHByZXZpb3VzSW5GbG93Qm94ID0gWyZdICgpIC0+IGNvbnN0IEJveCogewotICAg
ICAgICBpZiAoYXV0byogcHJldmlvdXNJbkZsb3dTaWJsaW5nID0gb3V0T2ZGbG93Qm94LnByZXZp
b3VzSW5GbG93U2libGluZygpKQotICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzSW5GbG93U2li
bGluZzsKLSAgICAgICAgLy8gUGFyZW50IGlzIGVpdGhlciB0aGUgcm9vdCBoZXJlIG9yIGFub3Ro
ZXIgaW5saW5lIGJveCAoZS5nLiA8c3Bhbj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUi
Pjwvc3Bhbj4pCi0gICAgICAgIGF1dG8mIHBhcmVudCA9IG91dE9mRmxvd0JveC5wYXJlbnQoKTsK
LSAgICAgICAgcmV0dXJuIHBhcmVudC5pc0lubGluZUJveCgpID8gJnBhcmVudCA6IG51bGxwdHI7
Ci0gICAgfSgpOwotCi0gICAgaWYgKCFwcmV2aW91c0luRmxvd0JveCkgewotICAgICAgICAvLyBU
aGlzIGlzIHRoZSBmaXJzdCBjb250ZW50LiBJdCBzaXRzIG9uIHRoZSBlZGdlIG9mIHRoZSBmaXJz
dCByb290IGlubGluZSBib3guIFdlIGRvbid0IG5lZWQgdG8gcHJvdmlkZSB0aGUgbmV4dCBkaXNw
bGF5IGJveC4KLSAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciwgbnVsbHB0ciB9OworICAgIC8vIEZJ
WE1FOiBCdWlsZCBhIGZpcnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMuCisgICAgZm9y
IChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGRpc3BsYXlCb3hlcy5zaXplKCk7ICsraW5kZXgp
IHsKKyAgICAgICAgaWYgKGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKCZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxh
eW91dEJveCgpID09ICZsYXlvdXRCb3gpCisgICAgICAgICAgICByZXR1cm4gaW5kZXg7CiAgICAg
fQorICAgIHJldHVybiB7IH07Cit9CiAKLSAgICAvLyBUaGlzIGlzIHN1cHBvc2VkIHRvIGZpbmQg
dGhlIGxhc3QgZGlzcGxheSBib3ggb2YgdGhlICJpbmZsb3dCb3giIGFuZCByZXR1cm4gaXQgd2l0
aCB0aGUgbmV4dCBkaXNwbGF5IGJveCAoZmlyc3QgYm94IG9mIHRoZSBuZXh0IGluZmxvdyBjb250
ZW50KS4KLSAgICBhdXRvIGZvdW5kRmlyc3REaXNwbGF5Qm94ID0gZmFsc2U7Ci0gICAgZm9yIChz
aXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGRpc3BsYXlCb3hlcy5zaXplKCk7ICsraW5kZXgpIHsK
K3N0YXRpYyBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbGFzdERpc3BsYXlCb3hJbmRleEZvckxheW91
dEJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94
ZXMpCit7CisgICAgLy8gRklYTUU6IEJ1aWxkIGEgZmlyc3QvbGFzdCBoYXNobWFwIGZvciB0aGVz
ZSBib3hlcy4KKyAgICBmb3IgKGF1dG8gaW5kZXggPSBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyBpbmRl
eC0tOykgewogICAgICAgICBpZiAoZGlzcGxheUJveGVzW2luZGV4XS5pc1Jvb3RJbmxpbmVCb3go
KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoZm91bmRGaXJzdERpc3BsYXlC
b3ggJiYgJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgIT0gcHJldmlvdXNJbkZsb3dC
b3gpIHsKLSAgICAgICAgICAgIEFTU0VSVChpbmRleCk7Ci0gICAgICAgICAgICByZXR1cm4geyAm
ZGlzcGxheUJveGVzW2luZGV4IC0gMV0sICZkaXNwbGF5Qm94ZXNbaW5kZXhdIH07CisgICAgICAg
IGlmICgmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3goKSA9PSAmbGF5b3V0Qm94KQorICAg
ICAgICAgICAgcmV0dXJuIGluZGV4OworICAgIH0KKyAgICByZXR1cm4geyB9OworfQorCitzdGF0
aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHByZXZpb3VzRGlzcGxheUJveEluZGV4KGNvbnN0IEJv
eCYgb3V0T2ZGbG93Qm94LCBjb25zdCBEaXNwbGF5Qm94ZXMmIGRpc3BsYXlCb3hlcykKK3sKKyAg
ICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkg
LT4gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5
b3V0Qm94OyBib3g7IGJveCA9IGJveC0+cHJldmlvdXNJbkZsb3dTaWJsaW5nKCkpIHsKKyAgICAg
ICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRleCA9IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JM
YXlvdXRCb3goKmJveCwgZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlz
cGxheUJveEluZGV4OwogICAgICAgICB9Ci0gICAgICAgIGZvdW5kRmlyc3REaXNwbGF5Qm94ID0g
Zm91bmRGaXJzdERpc3BsYXlCb3ggfHwgJmRpc3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkg
PT0gcHJldmlvdXNJbkZsb3dCb3g7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAg
IGF1dG8qIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94LnByZXZpb3VzSW5GbG93U2libGluZygp
OworICAgIGlmICghY2FuaWRhdGVCb3gpCisgICAgICAgIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93
Qm94LnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmb3V0T2ZGbG93Qm94LnBhcmVudCgpIDogbnVs
bHB0cjsKKyAgICB3aGlsZSAoY2FuaWRhdGVCb3gpIHsKKyAgICAgICAgaWYgKGF1dG8gZGlzcGxh
eUJveEluZGV4ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXhPZigqY2FuaWRhdGVCb3gpKQorICAg
ICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJbmRleDsKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBj
YW5pZGF0ZUJveC0+cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZjYW5pZGF0ZUJveC0+cGFyZW50
KCkgOiBudWxscHRyOwogICAgIH0KLSAgICBpZiAoZm91bmRGaXJzdERpc3BsYXlCb3gpCi0gICAg
ICAgIHJldHVybiB7ICZkaXNwbGF5Qm94ZXNbZGlzcGxheUJveGVzLnNpemUoKSAtIDFdLCBudWxs
cHRyIH07Ci0gICAgcmV0dXJuIHsgbnVsbHB0ciwgbnVsbHB0ciB9OworICAgIHJldHVybiB7IH07
CiB9CiAKLUxheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3RhdGljUG9zaXRp
b25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmIG91dE9mRmxvd0JveCkgY29u
c3QKK3N0YXRpYyBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gbmV4dERpc3BsYXlCb3hJbmRleChjb25z
dCBCb3gmIG91dE9mRmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7
Ci0gICAgQVNTRVJUKG91dE9mRmxvd0JveC5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5SW5saW5l
VHlwZSgpKTsKKyAgICBhdXRvIG5leHREaXNwbGF5Qm94SW5kZXhPZiA9IFsmXSAoYXV0byYgbGF5
b3V0Qm94KSAtPiBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geworICAgICAgICBmb3IgKGF1dG8qIGJv
eCA9ICZsYXlvdXRCb3g7IGJveDsgYm94ID0gYm94LT5uZXh0SW5GbG93U2libGluZygpKSB7Cisg
ICAgICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94SW5kZXggPSBmaXJzdERpc3BsYXlCb3hJbmRl
eEZvckxheW91dEJveCgqYm94LCBkaXNwbGF5Qm94ZXMpKQorICAgICAgICAgICAgICAgIHJldHVy
biBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9
OworCisgICAgYXV0byogY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gubmV4dEluRmxvd1NpYmxp
bmcoKTsKKyAgICBpZiAoIWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9m
Rmxvd0JveC5wYXJlbnQoKS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6
IG51bGxwdHI7CisgICAgd2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRp
c3BsYXlCb3hJbmRleCA9IG5leHREaXNwbGF5Qm94SW5kZXhPZigqY2FuaWRhdGVCb3gpKQorICAg
ICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJbmRleDsKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBj
YW5pZGF0ZUJveC0+cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZjYW5pZGF0ZUJveC0+cGFyZW50
KCkgOiBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4geyB9OworfQogCitMYXlvdXRQb2ludCBJ
bmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5l
TGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gsIExheW91dFBvaW50IGNvbnRlbnRCb3hU
b3BMZWZ0KSBjb25zdAoreworICAgIEFTU0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdp
bmFsRGlzcGxheUlubGluZVR5cGUoKSk7CiAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gZm9y
bWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0aW5nU3RhdGUoKTsKICAgICBhdXRvJiBsaW5lcyA9IGZv
cm1hdHRpbmdTdGF0ZS5saW5lcygpOwogICAgIGF1dG8mIGJveGVzID0gZm9ybWF0dGluZ1N0YXRl
LmJveGVzKCk7CiAKLSAgICBhdXRvIFtwcmV2aW91c0Rpc3BsYXlCb3gsIG5leHREaXNwbGF5Qm94
XSA9IHByZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JTdGF0aWNQb3NpdGlvbihvdXRPZkZsb3dC
b3gsIGJveGVzKTsKLQotICAgIGlmICghcHJldmlvdXNEaXNwbGF5Qm94ICYmICFuZXh0RGlzcGxh
eUJveCkKKyAgICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94
ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hlcyk7CisgICAgaWYg
KCFwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkKICAgICAgICAgcmV0
dXJuIHsgYm94ZXNbMF0ubGVmdCgpLCBsaW5lc1swXS50b3AoKSB9OwogCi0gICAgaWYgKCFuZXh0
RGlzcGxheUJveCkgewotICAgICAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3Vz
RGlzcGxheUJveC0+bGluZUluZGV4KCldOwotICAgICAgICBhdXRvIHNob3VsZEZpdExpbmUgPSBw
cmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUucmlnaHQoKSAmJiAhcHJl
dmlvdXNEaXNwbGF5Qm94LT5pc0xpbmVCcmVha0JveCgpOwotICAgICAgICByZXR1cm4gc2hvdWxk
Rml0TGluZSA/IExheW91dFBvaW50IHsgcHJldmlvdXNEaXNwbGF5Qm94LT5yaWdodCgpLCBjdXJy
ZW50TGluZS50b3AoKSB9IDogTGF5b3V0UG9pbnQgeyBjdXJyZW50TGluZS5sZWZ0KCksIGN1cnJl
bnRMaW5lLmJvdHRvbSgpIH07CisgICAgYXV0byYgcHJldmlvdXNEaXNwbGF5Qm94ID0gYm94ZXNb
KnByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94XTsKKyAgICBhdXRvJiBj
dXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC5saW5lSW5kZXgoKV07CisgICAg
aWYgKHByZXZpb3VzRGlzcGxheUJveC5pc0lubGluZUJveCgpICYmICZvdXRPZkZsb3dCb3gucGFy
ZW50KCkgPT0gJnByZXZpb3VzRGlzcGxheUJveC5sYXlvdXRCb3goKSkgeworICAgICAgICAvLyBT
cGVjaWFsIGhhbmRsaW5nIGZvciBjYXNlcyB3aGVuIHRoaXMgaXMgdGhlIGZpcnN0IGJveCBpbnNp
ZGUgYW4gaW5saW5lIGJveDoKKyAgICAgICAgLy8gPGRpdj50ZXh0PHNwYW4+PGltZyBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwvZGl2PgorICAgICAgICBhdXRvJiBp
bmxpbmVCb3ggPSBwcmV2aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCk7CisgICAgICAgIGF1dG8g
Zmlyc3REaXNwbGF5Qm94ID0gYm94ZXNbKmZpcnN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KGlubGluZUJveCwgYm94ZXMpXTsKKyAgICAgICAgYXV0byYgaW5saW5lQm94Qm94R2VvbWV0cnkg
PSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGlubGluZUJveCk7CisgICAgICAg
IHJldHVybiB7IExheW91dFVuaXQoZmlyc3REaXNwbGF5Qm94LmxlZnQoKSkgKyBpbmxpbmVCb3hC
b3hHZW9tZXRyeS5ib3JkZXJBbmRQYWRkaW5nU3RhcnQoKSwgbGluZXNbZmlyc3REaXNwbGF5Qm94
LmxpbmVJbmRleCgpXS50b3AoKSB9OwogICAgIH0KIAotICAgIGlmIChwcmV2aW91c0Rpc3BsYXlC
b3gtPmlzSW5saW5lQm94KCkpIHsKLSAgICAgICAgLy8gU3BlY2lhbCBoYW5kbGluZyBmb3IgY2Fz
ZXMgd2hlbiB0aGUgcHJldmlvdXMgY29udGVudCBpcyBhbiBpbmxpbmUgYm94OgotICAgICAgICAv
LyA8ZGl2PnRleHQ8c3Bhbj48aW1nIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPmNvbnRlbnQ8
L3NwYW4+PC9kaXY+Ci0gICAgICAgIC8vIG9yCi0gICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPmNv
bnRlbnQ8L3NwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L2Rpdj4KLSAgICAg
ICAgYXV0byBpc0ZpcnN0Q29udGVudEluc2lkZUlubGluZUJveCA9ICZvdXRPZkZsb3dCb3gucGFy
ZW50KCkgPT0gJnByZXZpb3VzRGlzcGxheUJveC0+bGF5b3V0Qm94KCk7Ci0gICAgICAgIGF1dG8m
IGlubGluZUJveEJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJv
eChwcmV2aW91c0Rpc3BsYXlCb3gtPmxheW91dEJveCgpKTsKLQotICAgICAgICByZXR1cm4gewot
ICAgICAgICAgICAgaXNGaXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPyBCb3hHZW9tZXRyeTo6
Ym9yZGVyQm94TGVmdChpbmxpbmVCb3hCb3hHZW9tZXRyeSkgKyBpbmxpbmVCb3hCb3hHZW9tZXRy
eS5jb250ZW50Qm94TGVmdCgpIDogQm94R2VvbWV0cnk6Om1hcmdpbkJveFJlY3QoaW5saW5lQm94
Qm94R2VvbWV0cnkpLnJpZ2h0KCksCi0gICAgICAgICAgICBsaW5lc1twcmV2aW91c0Rpc3BsYXlC
b3gtPmxpbmVJbmRleCgpXS50b3AoKQotICAgICAgICB9OworICAgIGF1dG8gcHJldmlvdXNCb3hP
dmVyZmxvd3MgPSBwcmV2aW91c0Rpc3BsYXlCb3gucmlnaHQoKSA+IGN1cnJlbnRMaW5lLnJpZ2h0
KCkgfHwgcHJldmlvdXNEaXNwbGF5Qm94LmlzTGluZUJyZWFrQm94KCk7CisgICAgaWYgKCFwcmV2
aW91c0JveE92ZXJmbG93cykKKyAgICAgICAgcmV0dXJuIHsgcHJldmlvdXNEaXNwbGF5Qm94LnJp
Z2h0KCksIGN1cnJlbnRMaW5lLnRvcCgpIH07CisKKyAgICBhdXRvIG5leHREaXNwbGF5Qm94SW5k
ZXhBZnRlck91dE9mRmxvdyA9IG5leHREaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hl
cyk7CisgICAgaWYgKCFuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3cpIHsKKyAgICAg
ICAgLy8gVGhpcyBpcyB0aGUgbGFzdCBjb250ZW50IG9uIHRoZSBibG9jayBhbmQgaXQgZG9lcyBu
b3QgZml0IHRoZSBsYXN0IGxpbmUuCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIHN0aWxsIGhhcyBs
aW5lIHR5b2Ugb2YgY29uc3RyYWludHMgbGlrZSB0ZXh0LWFsaWduLgorICAgICAgICByZXR1cm4g
TGF5b3V0UG9pbnQgeyBjb250ZW50Qm94VG9wTGVmdC54KCksIGN1cnJlbnRMaW5lLmJvdHRvbSgp
IH07CiAgICAgfQotICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gbGluZXNbcHJldmlvdXNEaXNwbGF5
Qm94LT5saW5lSW5kZXgoKV07Ci0gICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNEaXNw
bGF5Qm94LT5saW5lSW5kZXgoKSA9PSBuZXh0RGlzcGxheUJveC0+bGluZUluZGV4KCkgfHwgKHBy
ZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSA8PSBjdXJyZW50TGluZS5sZWZ0KCkgJiYgIXByZXZp
b3VzRGlzcGxheUJveC0+aXNMaW5lQnJlYWtCb3goKSk7Ci0gICAgcmV0dXJuIHNob3VsZEZpdExp
bmUgPyBMYXlvdXRQb2ludCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExp
bmUudG9wKCkgfSA6IExheW91dFBvaW50IHsgbmV4dERpc3BsYXlCb3gtPmxlZnQoKSwgbGluZXNb
bmV4dERpc3BsYXlCb3gtPmxpbmVJbmRleCgpXS50b3AoKSB9OworICAgIGF1dG8mIG5leHREaXNw
bGF5Qm94ID0gYm94ZXNbKm5leHREaXNwbGF5Qm94SW5kZXhBZnRlck91dE9mRmxvd107CisgICAg
cmV0dXJuIHsgbmV4dERpc3BsYXlCb3gubGVmdCgpLCBsaW5lc1tuZXh0RGlzcGxheUJveC5saW5l
SW5kZXgoKV0udG9wKCkgfTsKIH0KIAotTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21l
dHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBv
dXRPZkZsb3dCb3gpIGNvbnN0CitMYXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6
OnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93QmxvY2tMZXZlbEJveChjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpIGNvbnN0CiB7Ci0gICAgQVNT
RVJUKG91dE9mRmxvd0JveC5zdHlsZSgpLmlzT3JpZ2luYWxEaXNwbGF5QmxvY2tUeXBlKCkpOwor
ICAgIEFTU0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc0Rpc3BsYXlCbG9ja0xldmVsKCkpOwog
CiAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRlID0gZm9ybWF0dGluZ0NvbnRleHQoKS5mb3JtYXR0
aW5nU3RhdGUoKTsKICAgICBhdXRvJiBsaW5lcyA9IGZvcm1hdHRpbmdTdGF0ZS5saW5lcygpOwog
ICAgIGF1dG8mIGJveGVzID0gZm9ybWF0dGluZ1N0YXRlLmJveGVzKCk7Ci0KICAgICAvLyBCbG9j
ayBsZXZlbCBib3hlcyBhcmUgcGxhY2VkIHVuZGVyIHRoZSBjdXJyZW50IGxpbmUgYXMgaWYgdGhl
eSB3ZXJlIG5vcm1hbCBpbmZsb3cgYmxvY2sgbGV2ZWwgYm94ZXMuCi0gICAgY29uc3QgSW5saW5l
RGlzcGxheTo6Qm94KiBwcmV2aW91c0Rpc3BsYXlCb3ggPSBudWxscHRyOwotICAgIHN0ZDo6dGll
KHByZXZpb3VzRGlzcGxheUJveCwgc3RkOjppZ25vcmUpID0gcHJldmlvdXNBbmROZXh0RGlzcGxh
eUJveEZvclN0YXRpY1Bvc2l0aW9uKG91dE9mRmxvd0JveCwgYm94ZXMpOwotCi0gICAgaWYgKCFw
cmV2aW91c0Rpc3BsYXlCb3gpCi0gICAgICAgIHJldHVybiB7IGJveGVzWzBdLmxlZnQoKSwgbGlu
ZXNbMF0udG9wKCkgfTsKLQotICAgIGF1dG8mIGN1cnJlbnRMaW5lID0gbGluZXNbcHJldmlvdXNE
aXNwbGF5Qm94LT5saW5lSW5kZXgoKV07Ci0gICAgcmV0dXJuIHsgY3VycmVudExpbmUubGVmdCgp
LCBjdXJyZW50TGluZS5ib3R0b20oKSB9OworICAgIGF1dG8gcHJldmlvdXNEaXNwbGF5Qm94SW5k
ZXhCZWZvcmVPdXRPZkZsb3dCb3ggPSBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChvdXRPZkZsb3dC
b3gsIGJveGVzKTsKKyAgICBpZiAoIXByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZG
bG93Qm94KQorICAgICAgICByZXR1cm4geyBjb250ZW50Qm94VG9wTGVmdC54KCksIGxpbmVzWzBd
LnRvcCgpIH07CisgICAgcmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBwcmV2aW91c0Rp
c3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCA/IExheW91dFVuaXQobGluZXNbYm94ZXNb
KnByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3JlT3V0T2ZGbG93Qm94XS5saW5lSW5kZXgoKV0u
Ym90dG9tKCkpIDogY29udGVudEJveFRvcExlZnQueSgpIH07CiB9CiAKIElubGluZUxheW91dFVu
aXQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojppbml0aWFsTGluZUhlaWdodChib29sIGlzRmly
c3RMaW5lKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nR2Vv
bWV0cnkuaAppbmRleCBkM2M0MzY5OWQyNGMuLmVkMmYxNGZlM2M5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0
dGluZ0dlb21ldHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgKQEAgLTU0LDggKzU0LDggQEAg
cHVibGljOgogCiAgICAgc3RhdGljIElubGluZVJlY3QgZmxpcFZpc3VhbFJlY3RUb0xvZ2ljYWxG
b3JXcml0aW5nTW9kZShjb25zdCBJbmxpbmVSZWN0JiB2aXN1YWxSZWN0LCBXcml0aW5nTW9kZSk7
CiAKLSAgICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVs
Qm94KGNvbnN0IEJveCYpIGNvbnN0OwotICAgIExheW91dFBvaW50IHN0YXRpY1Bvc2l0aW9uRm9y
T3V0T2ZGbG93QmxvY2tMZXZlbEJveChjb25zdCBCb3gmKSBjb25zdDsKKyAgICBMYXlvdXRQb2lu
dCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94KGNvbnN0IEJveCYsIExh
eW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdDsKKyAgICBMYXlvdXRQb2ludCBzdGF0
aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiwgTGF5b3V0UG9p
bnQgY29udGVudEJveFRvcExlZnQpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGNvbnN0IElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGRv
d25jYXN0PElubGluZUZvcm1hdHRpbmdDb250ZXh0PihGb3JtYXR0aW5nR2VvbWV0cnk6OmZvcm1h
dHRpbmdDb250ZXh0KCkpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKaW5kZXggYzZi
NDViYjgwOTU0Li5hYTBiY2MxN2NjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAK
QEAgLTM5MCw5ICszOTAsNyBAQCBzdGF0aWMgT3B0aW9uU2V0PEF2b2lkYW5jZVJlYXNvbj4gY2Fu
VXNlRm9yQ2hpbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBjaGlsZCwgSW5jbAogICAgICAgICBpZiAo
cmVuZGVyZXIuc3R5bGUoKS5zaGFwZU91dHNpZGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgaWYgKHJlbmRlcmVyLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7Ci0gICAg
ICAgICAgICBpZiAoIWlzPFJlbmRlclJlcGxhY2VkPihyZW5kZXJlcikpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQoKS0+c3R5
bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgICAgICBpZiAoIXJlbmRlcmVy
LnBhcmVudCgpLT5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSB8fCAhcmVuZGVyZXIu
cGFyZW50KCktPnN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAvLyBUaGlzIHNpbXBseSBjaGVja3MgdGhl
IG5vdC15ZXQgc3VwcG9ydGVkIGNhc2Ugd2hlbiB0aGUgb3V0LW9mLWZsb3cgcG9zaXRpb25lZAog
ICAgICAgICAgICAgLy8gY29udGVudCBoYXMgYSByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgaW5saW5l
IGNvbnRhaW5pbmcgYmxvY2sgKGhhcyB0byBjYWxsIGNvbnRhaW5lciB0byBub3Qgc2tpcCBSZW5k
ZXJJbmxpbmVzKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGYxMmUxNDFlNTQ0Ni4uMzkxYjVlMmVi
NTkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3NzUsNiArMjc3NSw3IEBAIHdlYmtpdC5vcmcv
Yi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGlu
ZS1icmVhay9saW5lCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWsvbGluZS1icmVhay1zaGFwaW5nLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtpbmcvbGluZS1icmVh
a2luZy0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5n
L2xpbmUtYnJlYWtpbmctMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcv
Yi8yNDU5MDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGlu
ZS1icmVha2luZy9saW5lLWJyZWFraW5nLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy10ZXh0L292ZXJmbG93LXdyYXAvb3ZlcmZsb3ctd3JhcC1ub3JtYWwta2VlcC1hbGwtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvb3ZlcmZsb3ctd3JhcC9vdmVyZmxvdy13
cmFwLXNoYXBpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8y
MTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvb3ZlcmZs
b3ctd3JhcC9vdmVyZmxvdy13cmFwLXNoYXBpbmctMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNo
ZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFt
ZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAppbmRleCA4ZjI1MDQ2Y2I3ODAu
LmU1MTBjN2JhNTkxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1l
cy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dApAQCAt
NjIsNyArNjIsNyBAQCBUaGlzIHRlc3RzIHRoYXQgbGF5ZXJzIGFyZSByZWJ1aWx0IHByb3Blcmx5
IGFmdGVyIHRoZSBwYWdlIGlzIHJlc3RvcmVkIGZyb20gdGhlCiAgICAgICAgICkKICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCAyNzQuMDApCi0gICAgICAg
ICAgKGJvdW5kcyA3ODQuMDAgMjI0LjAwKQorICAgICAgICAgIChib3VuZHMgNzg0LjAwIDIyOC4w
MCkKICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAg
ICAgICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD0tMjggaGVpZ2h0PS0yOCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvY29tcG9zaXRpbmcvaWZyYW1l
cy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBl
Y3RlZC50eHQKaW5kZXggYmRmOWJhN2NjOTE4Li5lNTc2ZDAzOWEyMzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hl
LWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0
CkBAIC02Miw3ICs2Miw3IEBAIFRoaXMgdGVzdHMgdGhhdCBsYXllcnMgYXJlIHJlYnVpbHQgcHJv
cGVybHkgYWZ0ZXIgdGhlIHBhZ2UgaXMgcmVzdG9yZWQgZnJvbSB0aGUKICAgICAgICAgKQogICAg
ICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDI3Ny4wMCkKLSAg
ICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjUuMDApCisgICAgICAgICAgKGJvdW5kcyA3ODQuMDAg
MjI4LjAwKQogICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXll
cgogICAgICAgICAgICAgICAob2Zmc2V0RnJvbVJlbmRlcmVyIHdpZHRoPS0yOCBoZWlnaHQ9LTI4
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xp
ZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211
bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKaW5kZXggODMxMWFiNDFiY2M3Li4yYjc1
NzdhYWY4OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRp
Y29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NDc2LDk4KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYs
OTgpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTgpIHdpZHRoIDQ6ICIg
IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OCkgc2l6ZSA0eDE5Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDcxNiw5OCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDExNiwyMTkpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3
aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBzaXpl
IDR4MTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29s
L2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4
LWV4cGVjdGVkLnR4dAppbmRleCA3ZWE1YTYxMzMxNGQuLjU2MmI1MWY1Y2I1ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNw
YW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4
dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNDc2LDExMykgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNTk2LDExMykgc2l6ZSA0eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5
NiwxMTMpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiwx
MTMpIHNpemUgNHgxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMTEzKSB3aWR0aCA0OiAi
ICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDI1Nykgc2l6ZSA0eDE5CiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDExNiwyNTcpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDI0NiwyNTcpIHNpemUgNHgxOQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFu
bmVycy1leHBlY3RlZC50eHQKaW5kZXggNWJjMjNkMzgxNWU0Li4xNzMxYTYwYzAyMjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1zcGFubmVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zh
c3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCAr
MjgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNDc2LDk4KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1
OTYsOTgpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTgpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OCkgc2l6ZSA0eDE5Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiw5OCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDExNiwyMTkpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMTYsMjE5KSBz
aXplIDR4MTkKQEAgLTQyLDggKzQxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDUxNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDYxNiwyMTkpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVu
IGF0ICg2MTYsMjE5KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg3MTYsMjE5KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDIxOSkgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDk2LDM0MCkgc2l6ZSA0eDE5CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDk2LDM0MCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTk2LDM0MCkgc2l6ZSA0eDE5CkBAIC01Niw4ICs1NCw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0OTYsMzQwKSB3aWR0
aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsMzQwKSBzaXplIDR4
MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDM0MCkgd2lkdGggNDogIiAiCi0gICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjk2LDM0MCkgc2l6ZSA0eDE5Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDY5NiwzNDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiBsYXllciBhdCAoOCw2NCkgc2l6ZSAxMTZ4NzYKICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMTApIHNpemUgMTE2eDc2IFtjb2xvcj0jQUREOEU2XSBbYm9yZGVyOiAoM3B4IHNv
bGlkICMwMDAwMDApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
bXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1l
eHBlY3RlZC50eHQKaW5kZXggODMxMWFiNDFiY2M3Li4yYjc1NzdhYWY4OWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVu
dC1yZWN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
bXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCAr
MjgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNDc2LDk4KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1
OTYsOTgpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTgpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OCkgc2l6ZSA0eDE5Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiw5OCkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDExNiwyMTkpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBz
aXplIDR4MTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRp
Y29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IGZjMTcwYzIyZGRm
Mi4uY2EzNTk3ZDgyNmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4
LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3aWR0
aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUgNHgx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2
LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIx
OSkgc2l6ZSA0eDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMt
Y29tcGxleC1leHBlY3RlZC50eHQKaW5kZXggNmY1NzQ1YTM3ZTdiLi4yZWMzODgyYWQ1MzIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1y
ZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBl
Y3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQ3NiwxMTQpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDU5NiwxMTQpIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVu
IGF0ICg1OTYsMTE0KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg3MTYsMTE0KSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDExNCkgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyNTgpIHNpemUgNHgxOAogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMTYsMjU4KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgyNDYsMjU4KSBzaXplIDR4MTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVj
dHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CmluZGV4IGY4NzI4YmMxMzA5YS4uMWE5Nzk3YzM1N2E5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQKQEAg
LTI4LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUg
NHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2
LDIxOSkgc2l6ZSA0eDE4CkBAIC00Miw4ICs0MSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1MTYsMjE5KSB3aWR0aCA0OiAiICIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNjE2LDIxOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNzE2LDIxOSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwy
MTkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NiwzMzkpIHNpemUgNHgxOAog
ICAgICAgICAgIHRleHQgcnVuIGF0ICg5NiwzMzkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDE5NiwzMzkpIHNpemUgNHgxOApAQCAtNTYsOCArNTQsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk2LDMz
OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDMzOSkg
c2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NiwzMzkpIHdpZHRoIDQ6ICIgIgot
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY5NiwzMzkpIHNpemUgNHgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICg2OTYsMzM5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDgsNjMpIHNpemUgMTE2eDc2CiAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDEwKSBzaXplIDExNng3NiBbY29sb3I9I0FERDhFNl0gW2JvcmRlcjog
KDNweCBzb2xpZCAjMDAwMDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQt
cmVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IGZjMTcwYzIyZGRmMi4uY2EzNTk3ZDgyNmQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNv
bC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAg
LTI4LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ3Niw5OSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNTk2LDk5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk5KSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTkpIHNpemUg
NHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsOTkpIHdpZHRoIDQ6ICIgIgorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxMTYsMjE5KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2
LDIxOSkgc2l6ZSA0eDE4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462884</attachid>
            <date>2022-10-08 10:11:45 -0700</date>
            <delta_ts>2022-10-14 18:52:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20221008101144.patch</filename>
            <type>text/plain</type>
            <size>31244</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA2MzY1MTQ4YjEyY2U0MmQ4MzEyYzRiNGI0OTcxMGQ5YTk1NWQ0NmY3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBT
dW4sIDIgT2N0IDIwMjIgMTA6NTU6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbTEZDXVtJRkNd
IEVuYWJsZSBub24tcmVwbGFjZWQgb3V0LW9mLWZsb3cgcG9zaXRpb25lZCBjb250ZW50CiBmb3Ig
SUZDIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDU3NjYKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhpcyBwYXRjaCBlbmFibGVzIGhvcml6b250YWwvbHRy
IG91dC1vZi1mbG93IGNvbnRlbnQgZm9yIElGQy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKRml4
IGNhc2VzIHdoZXJlIHByZXZpb3VzIGluZmxvdyBib3gncyAob2Ygd2hpY2ggdGhlIG91dC1vZi1m
bG93IGJveCBpcyBiYXNlZCBvZmYpIGNvbnRlbnQgaXMgY29sbGFwc2VkIGFuZCBkb2VzIG5vdCBn
ZW5lcmF0ZSBhbnkgZGlzcGxheSBib3guIEluIHN1Y2ggY2FzZXMgd2UgZ28gYW5kIHVzZSB0aGUg
cHJldmlvdXMgYm94J3MgcHJldmlvdXMgc2libGluZyAoYW5kIHNvIG9uKS4KCiogTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Bh
Z2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxl
eC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dl
b21ldHJ5LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KToKKFdlYkNvcmU6OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6
TGF5b3V0OjpuZXh0RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0
aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4K
KiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6Y2FuVXNlRm9yQ2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwICAgICAgICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5oICAgICAgICAgIHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5jcHAgICAgICAgfCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCB8ICAgNCArLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgMiArLQogLi4uL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgICAgICAgIHwgICAyICstCiAuLi4vZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtZXhwZWN0ZWQudHh0ICAgfCAgIDMgKy0KIC4uLmNsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dCB8ICAgMyArLQogLi4uL2NsaWVudC1yZWN0cy1zcGFubmVycy1l
eHBlY3RlZC50eHQgICAgICAgIHwgICA5ICstCiAuLi4vbmV3bXVsdGljb2wvY2xpZW50LXJlY3Rz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDMgKy0KIC4uLi9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgICB8ICAgMyArLQogLi4uY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBs
ZXgtZXhwZWN0ZWQudHh0IHwgICAzICstCiAuLi4vY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVj
dGVkLnR4dCAgICAgICAgfCAgIDkgKy0KIC4uLi9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhw
ZWN0ZWQudHh0ICAgICB8ICAgMyArLQogMTYgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMo
KyksIDk3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCBjNDA3MDMyODEzYzUuLjA4MjEyOTE2NjE3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTQw
LDcgKzE0MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0Nv
bnRlbnQoY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250CiAKICAgICBhdXRvJiBpbmxpbmVJ
dGVtcyA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChp
bmxpbmVJdGVtcywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAg
IGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRl
KCkub3V0T2ZGbG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0p
OwogICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RC
b3hGb3JJbmxpbmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogICAgIExPR19X
SVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBp
bmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IC0+IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkg
PDwgIikiKTsKIH0KQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50Rm9ySW50ZWdyYXRpb24oY29uc3QgQ29uc3RyYWludAog
ICAgIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKICAgICBhdXRvJiBpbmxpbmVJdGVtcyA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChpbmxpbmVJdGVt
cywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAgIGNvbXB1dGVT
dGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZG
bG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVu
dChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0pOwogICAgIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxp
bmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogfQogCkBAIC0yNDQsNyArMjQ0
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVt
cyYgaW5saW5lSXRlbXMsIGNvbnN0IExpbmVCdWkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQo
Y29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBvdXRPZkZsb3dCb3hlcykK
K3ZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91
dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBv
dXRPZkZsb3dCb3hlcywgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpCiB7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgc3RhdGljIHBvc2l0aW9uIGZvciBvdXQtb2YtZmxv
dyBjb250ZW50IGluc2lkZSB0aGUgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAvLyBB
cyBwZXIgc3BlYywgdGhlIHN0YXRpYyBwb3NpdGlvbiBvZiBhbiBvdXQtb2YtZmxvdyBib3ggaXMg
Y29tcHV0ZWQgYXMgaWYgdGhlIHBvc2l0aW9uIHdhcyBzZXQgdG8gc3RhdGljLgpAQCAtMjU2LDEw
ICsyNTYsMTAgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3IKIAogICAgIGZvciAoYXV0byYgb3V0
T2ZGbG93Qm94IDogb3V0T2ZGbG93Qm94ZXMpIHsKICAgICAgICAgaWYgKG91dE9mRmxvd0JveC0+
c3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSkgewotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQo
Zm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxC
b3gob3V0T2ZGbG93Qm94KSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChvdXRPZkZsb3dCb3gsIGNvbnRl
bnRCb3hUb3BMZWZ0KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9w
TGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xl
dmVsQm94KG91dE9mRmxvd0JveCkpOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KG91dE9mRmxvd0JveCwgY29udGVu
dEJveFRvcExlZnQpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGRiNzNhMTFlNmI2MC4uY2RjM2NkN2FlZTdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgbGluZUxheW91dChJbmxpbmVJ
dGVtcyYsIGNvbnN0IExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UmLCBjb25zdCBDb25zdHJh
aW50c0ZvckluRmxvd0NvbnRlbnQmKTsKLSAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0
Jik7CisgICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNv
bnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KTsKIAogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoRm9yRm9ybWF0
dGluZ1Jvb3QoY29uc3QgQm94Jik7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBjb21wdXRlZEludHJp
bnNpY1dpZHRoRm9yQ29uc3RyYWludChJbnRyaW5zaWNXaWR0aE1vZGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKaW5kZXggNTg5
YmU4NTVjZjEwLi4zYmUwZmFmZWViNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtMTkxLDk0ICsxOTEsMTIwIEBAIElubGluZUxh
eW91dFVuaXQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQoSXNJ
bnRyaW5zaWNXaWR0aE1vCiAgICAgcmV0dXJuIHsgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJ
bmRlbnQsIGF2YWlsYWJsZVdpZHRoKSB9OwogfQogCi1zdGF0aWMgc3RkOjp0dXBsZTxjb25zdCBJ
bmxpbmVEaXNwbGF5OjpCb3gqLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gqPiBwcmV2aW91c0Fu
ZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91
dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7Ci0gICAgLy8gQm90aCBw
cmV2aW91cyBmbG9hdCBhbmQgb3V0LW9mLWZsb3cgYm94ZXMgYXJlIHNraXBwZWQgaGVyZS4gQSBz
ZXJpZXMgb2YgYWRqb2luaW5nIG91dC1vZi1mbG93IGJveGVzIHNob3VsZCBhbGwgYmUgcGxhY2Vk
Ci0gICAgLy8gYXQgdGhlIHNhbWUgc3RhdGljIHBvc2l0aW9uICh0aGV5IGRvbid0IGFmZmVjdCBu
ZXh0LXNpYmxpbmcgcG9zaXRpb25zKSBhbmQgd2hpbGUgZmxvYXRzIGRvIHBhcnRpY2lwYXRlIGlu
IHRoZSBpbmxpbmUgbGF5b3V0Ci0gICAgLy8gdGhlaXIgcG9zaXRpb25zIGhhdmUgYWxyZWFkeSBi
ZWVuIHRha2VuIGludG8gYWNjb3VudCBkdXJpbmcgdGhlIGlubGluZSBsYXlvdXQuCi0gICAgYXV0
byBwcmV2aW91c0luRmxvd0JveCA9IFsmXSAoKSAtPiBjb25zdCBCb3gqIHsKLSAgICAgICAgaWYg
KGF1dG8qIHByZXZpb3VzSW5GbG93U2libGluZyA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxv
d1NpYmxpbmcoKSkKLSAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0luRmxvd1NpYmxpbmc7Ci0g
ICAgICAgIC8vIFBhcmVudCBpcyBlaXRoZXIgdGhlIHJvb3QgaGVyZSBvciBhbm90aGVyIGlubGlu
ZSBib3ggKGUuZy4gPHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L3NwYW4+
KQotICAgICAgICBhdXRvJiBwYXJlbnQgPSBvdXRPZkZsb3dCb3gucGFyZW50KCk7Ci0gICAgICAg
IHJldHVybiBwYXJlbnQuaXNJbmxpbmVCb3goKSA/ICZwYXJlbnQgOiBudWxscHRyOwotICAgIH0o
KTsKLQotICAgIGlmICghcHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAgLy8gVGhpcyBpcyB0
aGUgZmlyc3QgY29udGVudC4gSXQgc2l0cyBvbiB0aGUgZWRnZSBvZiB0aGUgZmlyc3Qgcm9vdCBp
bmxpbmUgYm94LiBXZSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgdGhlIG5leHQgZGlzcGxheSBib3gu
Ci0gICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICAvLyBGSVhNRTogQnVp
bGQgYSBmaXJzdC9sYXN0IGhhc2htYXAgZm9yIHRoZXNlIGJveGVzLgorICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgIGlmIChkaXNwbGF5Qm94ZXNbaW5kZXhdLmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGlmICgmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3go
KSA9PSAmbGF5b3V0Qm94KQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgIH0KKyAgICBy
ZXR1cm4geyB9OworfQogCi0gICAgLy8gVGhpcyBpcyBzdXBwb3NlZCB0byBmaW5kIHRoZSBsYXN0
IGRpc3BsYXkgYm94IG9mIHRoZSAiaW5mbG93Qm94IiBhbmQgcmV0dXJuIGl0IHdpdGggdGhlIG5l
eHQgZGlzcGxheSBib3ggKGZpcnN0IGJveCBvZiB0aGUgbmV4dCBpbmZsb3cgY29udGVudCkuCi0g
ICAgYXV0byBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZhbHNlOwotICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CitzdGF0aWMg
c3RkOjpvcHRpb25hbDxzaXplX3Q+IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorewor
ICAgIC8vIEZJWE1FOiBCdWlsZCBhIGZpcnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMu
CisgICAgZm9yIChhdXRvIGluZGV4ID0gZGlzcGxheUJveGVzLnNpemUoKTsgaW5kZXgtLTspIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94ICYmICZk
aXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpICE9IHByZXZpb3VzSW5GbG93Qm94KSB7Ci0g
ICAgICAgICAgICBBU1NFUlQoaW5kZXgpOwotICAgICAgICAgICAgcmV0dXJuIHsgJmRpc3BsYXlC
b3hlc1tpbmRleCAtIDFdLCAmZGlzcGxheUJveGVzW2luZGV4XSB9OworICAgICAgICBpZiAoJmRp
c3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgPT0gJmxheW91dEJveCkKKyAgICAgICAgICAg
IHJldHVybiBpbmRleDsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCit7CisgICAgYXV0byBw
cmV2aW91c0Rpc3BsYXlCb3hJbmRleE9mID0gWyZdIChhdXRvJiBsYXlvdXRCb3gpIC0+IHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gJmxheW91dEJveDsg
Ym94OyBib3ggPSBib3gtPnByZXZpb3VzSW5GbG93U2libGluZygpKSB7CisgICAgICAgICAgICBp
ZiAoYXV0byBkaXNwbGF5Qm94SW5kZXggPSBsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KCpib3gsIGRpc3BsYXlCb3hlcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJ
bmRleDsKICAgICAgICAgfQotICAgICAgICBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZvdW5kRmly
c3REaXNwbGF5Qm94IHx8ICZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09IHByZXZp
b3VzSW5GbG93Qm94OworICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvKiBj
YW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxvd1NpYmxpbmcoKTsKKyAgICBp
ZiAoIWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wYXJl
bnQoKS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6IG51bGxwdHI7Cisg
ICAgd2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRl
eCA9IHByZXZpb3VzRGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKICAgICB9Ci0gICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94KQotICAgICAgICByZXR1
cm4geyAmZGlzcGxheUJveGVzW2Rpc3BsYXlCb3hlcy5zaXplKCkgLSAxXSwgbnVsbHB0ciB9Owot
ICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICByZXR1cm4geyB9OwogfQogCi1M
YXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0
T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gpIGNvbnN0CitzdGF0
aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG5leHREaXNwbGF5Qm94SW5kZXgoY29uc3QgQm94JiBv
dXRPZkZsb3dCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQogewotICAgIEFT
U0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSk7
CisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkg
LT4gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5
b3V0Qm94OyBib3g7IGJveCA9IGJveC0+bmV4dEluRmxvd1NpYmxpbmcoKSkgeworICAgICAgICAg
ICAgaWYgKGF1dG8gZGlzcGxheUJveEluZGV4ID0gZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3goKmJveCwgZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUJveEluZGV4OworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAg
IGF1dG8qIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCk7Cisg
ICAgaWYgKCFjYW5pZGF0ZUJveCkKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gu
cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgOiBudWxscHRy
OworICAgIHdoaWxlIChjYW5pZGF0ZUJveCkgeworICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94
SW5kZXggPSBuZXh0RGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KIAorTGF5b3V0UG9pbnQgSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3Bs
YXlJbmxpbmVUeXBlKCkpOwogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdD
b250ZXh0KCkuZm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5n
U3RhdGUubGluZXMoKTsKICAgICBhdXRvJiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygp
OwogCi0gICAgYXV0byBbcHJldmlvdXNEaXNwbGF5Qm94LCBuZXh0RGlzcGxheUJveF0gPSBwcmV2
aW91c0FuZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24ob3V0T2ZGbG93Qm94LCBib3hl
cyk7Ci0KLSAgICBpZiAoIXByZXZpb3VzRGlzcGxheUJveCAmJiAhbmV4dERpc3BsYXlCb3gpCisg
ICAgYXV0byBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCA9IHByZXZp
b3VzRGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAgIGlmICghcHJldmlv
dXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3gpCiAgICAgICAgIHJldHVybiB7IGJv
eGVzWzBdLmxlZnQoKSwgbGluZXNbMF0udG9wKCkgfTsKIAotICAgIGlmICghbmV4dERpc3BsYXlC
b3gpIHsKLSAgICAgICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlC
b3gtPmxpbmVJbmRleCgpXTsKLSAgICAgICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNE
aXNwbGF5Qm94LT5yaWdodCgpIDw9IGN1cnJlbnRMaW5lLnJpZ2h0KCkgJiYgIXByZXZpb3VzRGlz
cGxheUJveC0+aXNMaW5lQnJlYWtCb3goKTsKLSAgICAgICAgcmV0dXJuIHNob3VsZEZpdExpbmUg
PyBMYXlvdXRQb2ludCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExpbmUu
dG9wKCkgfSA6IExheW91dFBvaW50IHsgY3VycmVudExpbmUubGVmdCgpLCBjdXJyZW50TGluZS5i
b3R0b20oKSB9OworICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGJveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF07CisgICAgYXV0byYgY3VycmVudExp
bmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gubGluZUluZGV4KCldOworICAgIGlmIChwcmV2
aW91c0Rpc3BsYXlCb3guaXNJbmxpbmVCb3goKSAmJiAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCkpIHsKKyAgICAgICAgLy8gU3BlY2lhbCBo
YW5kbGluZyBmb3IgY2FzZXMgd2hlbiB0aGlzIGlzIHRoZSBmaXJzdCBib3ggaW5zaWRlIGFuIGlu
bGluZSBib3g6CisgICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZSI+Y29udGVudDwvc3Bhbj48L2Rpdj4KKyAgICAgICAgYXV0byYgaW5saW5lQm94
ID0gcHJldmlvdXNEaXNwbGF5Qm94LmxheW91dEJveCgpOworICAgICAgICBhdXRvIGZpcnN0RGlz
cGxheUJveCA9IGJveGVzWypmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChpbmxpbmVC
b3gsIGJveGVzKV07CisgICAgICAgIGF1dG8mIGlubGluZUJveEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVCb3gpOworICAgICAgICByZXR1cm4g
eyBMYXlvdXRVbml0KGZpcnN0RGlzcGxheUJveC5sZWZ0KCkpICsgaW5saW5lQm94Qm94R2VvbWV0
cnkuYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCksIGxpbmVzW2ZpcnN0RGlzcGxheUJveC5saW5lSW5k
ZXgoKV0udG9wKCkgfTsKICAgICB9CiAKLSAgICBpZiAocHJldmlvdXNEaXNwbGF5Qm94LT5pc0lu
bGluZUJveCgpKSB7Ci0gICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIHdoZW4g
dGhlIHByZXZpb3VzIGNvbnRlbnQgaXMgYW4gaW5saW5lIGJveDoKLSAgICAgICAgLy8gPGRpdj50
ZXh0PHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwv
ZGl2PgotICAgICAgICAvLyBvcgotICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bhbj5jb250ZW50PC9z
cGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+Ci0gICAgICAgIGF1dG8g
aXNGaXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPSAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gtPmxheW91dEJveCgpOwotICAgICAgICBhdXRvJiBpbmxpbmVC
b3hCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gocHJldmlv
dXNEaXNwbGF5Qm94LT5sYXlvdXRCb3goKSk7Ci0KLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAg
ICAgIGlzRmlyc3RDb250ZW50SW5zaWRlSW5saW5lQm94ID8gQm94R2VvbWV0cnk6OmJvcmRlckJv
eExlZnQoaW5saW5lQm94Qm94R2VvbWV0cnkpICsgaW5saW5lQm94Qm94R2VvbWV0cnkuY29udGVu
dEJveExlZnQoKSA6IEJveEdlb21ldHJ5OjptYXJnaW5Cb3hSZWN0KGlubGluZUJveEJveEdlb21l
dHJ5KS5yaWdodCgpLAotICAgICAgICAgICAgbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5l
SW5kZXgoKV0udG9wKCkKLSAgICAgICAgfTsKKyAgICBhdXRvIHByZXZpb3VzQm94T3ZlcmZsb3dz
ID0gcHJldmlvdXNEaXNwbGF5Qm94LnJpZ2h0KCkgPiBjdXJyZW50TGluZS5yaWdodCgpIHx8IHBy
ZXZpb3VzRGlzcGxheUJveC5pc0xpbmVCcmVha0JveCgpOworICAgIGlmICghcHJldmlvdXNCb3hP
dmVyZmxvd3MpCisgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGlzcGxheUJveC5yaWdodCgpLCBj
dXJyZW50TGluZS50b3AoKSB9OworCisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJP
dXRPZkZsb3cgPSBuZXh0RGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAg
IGlmICghbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0T2ZGbG93KSB7CisgICAgICAgIC8vIFRo
aXMgaXMgdGhlIGxhc3QgY29udGVudCBvbiB0aGUgYmxvY2sgYW5kIGl0IGRvZXMgbm90IGZpdCB0
aGUgbGFzdCBsaW5lLgorICAgICAgICAvLyBGSVhNRTogVGhpcyBzdGlsbCBoYXMgbGluZSB0eW9l
IG9mIGNvbnN0cmFpbnRzIGxpa2UgdGV4dC1hbGlnbi4KKyAgICAgICAgcmV0dXJuIExheW91dFBv
aW50IHsgY29udGVudEJveFRvcExlZnQueCgpLCBjdXJyZW50TGluZS5ib3R0b20oKSB9OwogICAg
IH0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGlu
ZUluZGV4KCldOwotICAgIGF1dG8gc2hvdWxkRml0TGluZSA9IHByZXZpb3VzRGlzcGxheUJveC0+
bGluZUluZGV4KCkgPT0gbmV4dERpc3BsYXlCb3gtPmxpbmVJbmRleCgpIHx8IChwcmV2aW91c0Rp
c3BsYXlCb3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUubGVmdCgpICYmICFwcmV2aW91c0Rpc3Bs
YXlCb3gtPmlzTGluZUJyZWFrQm94KCkpOwotICAgIHJldHVybiBzaG91bGRGaXRMaW5lID8gTGF5
b3V0UG9pbnQgeyBwcmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCksIGN1cnJlbnRMaW5lLnRvcCgp
IH0gOiBMYXlvdXRQb2ludCB7IG5leHREaXNwbGF5Qm94LT5sZWZ0KCksIGxpbmVzW25leHREaXNw
bGF5Qm94LT5saW5lSW5kZXgoKV0udG9wKCkgfTsKKyAgICBhdXRvJiBuZXh0RGlzcGxheUJveCA9
IGJveGVzWypuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3ddOworICAgIHJldHVybiB7
IG5leHREaXNwbGF5Qm94LmxlZnQoKSwgbGluZXNbbmV4dERpc3BsYXlCb3gubGluZUluZGV4KCld
LnRvcCgpIH07CiB9CiAKLUxheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93
Qm94KSBjb25zdAorTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQ
b3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdAogewotICAgIEFTU0VSVChvdXRP
ZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUJsb2NrVHlwZSgpKTsKKyAgICBBU1NF
UlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNEaXNwbGF5QmxvY2tMZXZlbCgpKTsKIAogICAgIGF1
dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZm9ybWF0dGluZ1N0YXRl
KCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKICAgICBhdXRv
JiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygpOwotCiAgICAgLy8gQmxvY2sgbGV2ZWwg
Ym94ZXMgYXJlIHBsYWNlZCB1bmRlciB0aGUgY3VycmVudCBsaW5lIGFzIGlmIHRoZXkgd2VyZSBu
b3JtYWwgaW5mbG93IGJsb2NrIGxldmVsIGJveGVzLgotICAgIGNvbnN0IElubGluZURpc3BsYXk6
OkJveCogcHJldmlvdXNEaXNwbGF5Qm94ID0gbnVsbHB0cjsKLSAgICBzdGQ6OnRpZShwcmV2aW91
c0Rpc3BsYXlCb3gsIHN0ZDo6aWdub3JlKSA9IHByZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JT
dGF0aWNQb3NpdGlvbihvdXRPZkZsb3dCb3gsIGJveGVzKTsKLQotICAgIGlmICghcHJldmlvdXNE
aXNwbGF5Qm94KQotICAgICAgICByZXR1cm4geyBib3hlc1swXS5sZWZ0KCksIGxpbmVzWzBdLnRv
cCgpIH07Ci0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJv
eC0+bGluZUluZGV4KCldOwotICAgIHJldHVybiB7IGN1cnJlbnRMaW5lLmxlZnQoKSwgY3VycmVu
dExpbmUuYm90dG9tKCkgfTsKKyAgICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3Jl
T3V0T2ZGbG93Qm94ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hl
cyk7CisgICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkK
KyAgICAgICAgcmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBsaW5lc1swXS50b3AoKSB9
OworICAgIHJldHVybiB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgcHJldmlvdXNEaXNwbGF5Qm94
SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3ggPyBMYXlvdXRVbml0KGxpbmVzW2JveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF0ubGluZUluZGV4KCldLmJvdHRvbSgp
KSA6IGNvbnRlbnRCb3hUb3BMZWZ0LnkoKSB9OwogfQogCiBJbmxpbmVMYXlvdXRVbml0IElubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeTo6aW5pdGlhbExpbmVIZWlnaHQoYm9vbCBpc0ZpcnN0TGluZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgK
aW5kZXggZDNjNDM2OTlkMjRjLi5lZDJmMTRmZTNjOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBJbmxpbmVSZWN0IGZsaXBWaXN1YWxSZWN0VG9Mb2dpY2FsRm9yV3JpdGlu
Z01vZGUoY29uc3QgSW5saW5lUmVjdCYgdmlzdWFsUmVjdCwgV3JpdGluZ01vZGUpOwogCi0gICAg
TGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25z
dCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGlj
UG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2lu
dCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRp
b25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0dlb21ldHJ5Ojpmb3JtYXR0aW5nQ29u
dGV4dCgpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGM2YjQ1YmI4MDk1
NC4uYWEwYmNjMTdjYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0zOTAs
OSArMzkwLDcgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckNo
aWxkKGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2wKICAgICAgICAgaWYgKHJlbmRlcmVy
LnN0eWxlKCkuc2hhcGVPdXRzaWRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGlmIChyZW5kZXJlci5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAg
aWYgKCFpczxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyZXIpKQotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIGlmICghcmVuZGVyZXIucGFyZW50KCktPnN0eWxlKCkuaXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQo
KS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgIXJlbmRlcmVyLnBhcmVudCgp
LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgLy8gVGhpcyBzaW1wbHkgY2hlY2tzIHRoZSBub3QteWV0
IHN1cHBvcnRlZCBjYXNlIHdoZW4gdGhlIG91dC1vZi1mbG93IHBvc2l0aW9uZWQKICAgICAgICAg
ICAgIC8vIGNvbnRlbnQgaGFzIGEgcmVsYXRpdmVseSBwb3NpdGlvbmVkIGlubGluZSBjb250YWlu
aW5nIGJsb2NrIChoYXMgdG8gY2FsbCBjb250YWluZXIgdG8gbm90IHNraXAgUmVuZGVySW5saW5l
cykuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0Y2ViMWJkMTkzOTcuLmNjOWFmOTdjZDU5MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yNzg0LDYgKzI3ODQsNyBAQCB3ZWJraXQub3JnL2IvMjE0Mjkw
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWsv
bGluZQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUtYnJlYWstc2hhcGluZy0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5nL2xpbmUtYnJlYWtpbmctMDE2
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGluZS1icmVha2luZy9saW5lLWJy
ZWFraW5nLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjQ1OTA1
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtp
bmcvbGluZS1icmVha2luZy0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9v
dmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtbm9ybWFsLWtlZXAtYWxsLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L292ZXJmbG93LXdyYXAvb3ZlcmZsb3ctd3JhcC1zaGFw
aW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L292ZXJmbG93LXdyYXAv
b3ZlcmZsb3ctd3JhcC1zaGFwaW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXIt
dHJlZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2Ut
Y2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKaW5kZXggOGYyNTA0NmNiNzgwLi5lNTEwYzdi
YTU5MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1j
YWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKQEAgLTYyLDcgKzYy
LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IGxheWVycyBhcmUgcmVidWlsdCBwcm9wZXJseSBhZnRlciB0
aGUgcGFnZSBpcyByZXN0b3JlZCBmcm9tIHRoZQogICAgICAgICApCiAgICAgICAgIChHcmFwaGlj
c0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDguMDAgMjc0LjAwKQotICAgICAgICAgIChib3Vu
ZHMgNzg0LjAwIDIyNC4wMCkKKyAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjguMDApCiAgICAg
ICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAg
ICAgIChvZmZzZXRGcm9tUmVuZGVyZXIgd2lkdGg9LTI4IGhlaWdodD0tMjgpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1j
YWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0
CmluZGV4IGJkZjliYTdjYzkxOC4uZTU3NmQwMzlhMjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10
cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBv
c2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dApAQCAtNjIs
NyArNjIsNyBAQCBUaGlzIHRlc3RzIHRoYXQgbGF5ZXJzIGFyZSByZWJ1aWx0IHByb3Blcmx5IGFm
dGVyIHRoZSBwYWdlIGlzIHJlc3RvcmVkIGZyb20gdGhlCiAgICAgICAgICkKICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCAyNzcuMDApCi0gICAgICAgICAg
KGJvdW5kcyA3ODQuMDAgMjI1LjAwKQorICAgICAgICAgIChib3VuZHMgNzg0LjAwIDIyOC4wMCkK
ICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAg
ICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD0tMjggaGVpZ2h0PS0yOCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IDgzMTFhYjQxYmNjNy4uMmI3NTc3YWFmODli
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5OCkg
d2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBzaXpl
IDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTYs
MjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGggNDog
IiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIxOSkgc2l6ZSA0eDE5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3Rl
ZC50eHQKaW5kZXggN2VhNWE2MTMzMTRkLi41NjJiNTFmNWNiNWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9t
dWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQKQEAgLTI4
LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ3NiwxMTMpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDU5NiwxMTMpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsMTEzKSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsMTEzKSBzaXpl
IDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDExMykgd2lkdGggNDogIiAiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDExNiwyNTcpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMTYsMjU3KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgy
NDYsMjU3KSBzaXplIDR4MTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9m
YXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhw
ZWN0ZWQudHh0CmluZGV4IDViYzIzZDM4MTVlNC4uMTczMWE2MGMwMjIyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5l
cnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRp
Y29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5
OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAg
IHRleHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGgg
NDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDIxOSkgc2l6ZSA0eDE5
CkBAIC00Miw4ICs0MSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAg
IHRleHQgcnVuIGF0ICg1MTYsMjE5KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg2MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjE2
LDIxOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDIx
OSkgc2l6ZSA0eDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwyMTkpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NiwzNDApIHNpemUgNHgxOQogICAgICAgICAgIHRleHQg
cnVuIGF0ICg5NiwzNDApIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE5NiwzNDApIHNpemUgNHgxOQpAQCAtNTYsOCArNTQsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk2LDM0MCkgd2lkdGggNDogIiAi
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDM0MCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5NiwzNDApIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDY5NiwzNDApIHNpemUgNHgxOQotICAgICAgICAgIHRleHQgcnVuIGF0
ICg2OTYsMzQwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAogbGF5ZXIgYXQgKDgsNjQpIHNpemUgMTE2eDc2CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDEwKSBzaXplIDExNng3NiBbY29sb3I9I0FERDhFNl0gW2JvcmRlcjogKDNweCBzb2xpZCAjMDAw
MDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29s
L25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDgzMTFhYjQxYmNjNy4uMmI3NTc3YWFmODliIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29s
L25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5
OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAg
IHRleHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGgg
NDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIxOSkgc2l6ZSA0eDE5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCBmYzE3MGMyMmRkZjIuLmNhMzU5
N2Q4MjZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGlj
b2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0
NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5
OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDogIiAi
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdp
ZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUg
NHgxOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgt
ZXhwZWN0ZWQudHh0CmluZGV4IDZmNTc0NWEzN2U3Yi4uMmVjMzg4MmFkNTMyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bh
bm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0
CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAg
IHRleHQgcnVuIGF0ICg0NzYsMTE0KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg1OTYsMTE0KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2
LDExNCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDEx
NCkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwxMTQpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTYsMjU4KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTE2LDI1OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjQ2LDI1OCkgc2l6ZSA0eDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5u
ZXJzLWV4cGVjdGVkLnR4dAppbmRleCBmODcyOGJjMTMwOWEuLjFhOTc5N2MzNTdhOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3Rz
LXNwYW5uZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsy
OCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5
Niw5OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDog
IiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkp
IHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxNiwyMTkpIHNp
emUgNHgxOApAQCAtNDIsOCArNDEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNjE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDYxNiwyMTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDcxNiwyMTkpIHNpemUgNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMjE5KSB3aWR0
aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTYsMzM5KSBzaXplIDR4MTgKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTYsMzM5KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxOTYsMzM5KSBzaXplIDR4MTgKQEAgLTU2LDggKzU0LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5NiwzMzkpIHdpZHRo
IDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5NiwzMzkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsMzM5KSB3aWR0aCA0OiAiICIKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OTYsMzM5KSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjk2LDMzOSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKIGxheWVyIGF0ICg4LDYzKSBzaXplIDExNng3NgogICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwxMCkgc2l6ZSAxMTZ4NzYgW2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29s
aWQgIzAwMDAwMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dAppbmRleCBmYzE3MGMyMmRkZjIuLmNhMzU5N2Q4MjZkOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50
LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsy
OCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5
Niw5OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDog
IiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkp
IHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNp
emUgNHgxOAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463000</attachid>
            <date>2022-10-14 18:52:18 -0700</date>
            <delta_ts>2022-10-15 08:20:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20221014185217.patch</filename>
            <type>text/plain</type>
            <size>31244</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhMDhiOGZlZDQwNWIwN2RhYjZhYzY1NzVkMDZjYjdlYjQ4MWVlYjVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBT
dW4sIDIgT2N0IDIwMjIgMTA6NTU6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbTEZDXVtJRkNd
IEVuYWJsZSBub24tcmVwbGFjZWQgb3V0LW9mLWZsb3cgcG9zaXRpb25lZCBjb250ZW50CiBmb3Ig
SUZDIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDU3NjYKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhpcyBwYXRjaCBlbmFibGVzIGhvcml6b250YWwvbHRy
IG91dC1vZi1mbG93IGNvbnRlbnQgZm9yIElGQy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKRml4
IGNhc2VzIHdoZXJlIHByZXZpb3VzIGluZmxvdyBib3gncyAob2Ygd2hpY2ggdGhlIG91dC1vZi1m
bG93IGJveCBpcyBiYXNlZCBvZmYpIGNvbnRlbnQgaXMgY29sbGFwc2VkIGFuZCBkb2VzIG5vdCBn
ZW5lcmF0ZSBhbnkgZGlzcGxheSBib3guIEluIHN1Y2ggY2FzZXMgd2UgZ28gYW5kIHVzZSB0aGUg
cHJldmlvdXMgYm94J3MgcHJldmlvdXMgc2libGluZyAoYW5kIHNvIG9uKS4KCiogTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Bh
Z2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxl
eC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dl
b21ldHJ5LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KToKKFdlYkNvcmU6OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6
TGF5b3V0OjpuZXh0RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0
aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4K
KiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6Y2FuVXNlRm9yQ2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwICAgICAgICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5oICAgICAgICAgIHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5jcHAgICAgICAgfCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCB8ICAgNCArLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgMiArLQogLi4uL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgICAgICAgIHwgICAyICstCiAuLi4vZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtZXhwZWN0ZWQudHh0ICAgfCAgIDMgKy0KIC4uLmNsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dCB8ICAgMyArLQogLi4uL2NsaWVudC1yZWN0cy1zcGFubmVycy1l
eHBlY3RlZC50eHQgICAgICAgIHwgICA5ICstCiAuLi4vbmV3bXVsdGljb2wvY2xpZW50LXJlY3Rz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDMgKy0KIC4uLi9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgICB8ICAgMyArLQogLi4uY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBs
ZXgtZXhwZWN0ZWQudHh0IHwgICAzICstCiAuLi4vY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVj
dGVkLnR4dCAgICAgICAgfCAgIDkgKy0KIC4uLi9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhw
ZWN0ZWQudHh0ICAgICB8ICAgMyArLQogMTYgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMo
KyksIDk3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCBmNzZlNjI1MTA1MDcuLmM5YzZkZGI5NzAwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTQw
LDcgKzE0MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0Nv
bnRlbnQoY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250CiAKICAgICBhdXRvJiBpbmxpbmVJ
dGVtcyA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChp
bmxpbmVJdGVtcywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAg
IGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRl
KCkub3V0T2ZGbG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0p
OwogICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RC
b3hGb3JJbmxpbmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogICAgIExPR19X
SVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBp
bmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IC0+IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkg
PDwgIikiKTsKIH0KQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50Rm9ySW50ZWdyYXRpb24oY29uc3QgQ29uc3RyYWludAog
ICAgIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKICAgICBhdXRvJiBpbmxpbmVJdGVtcyA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChpbmxpbmVJdGVt
cywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAgIGNvbXB1dGVT
dGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZG
bG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVu
dChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0pOwogICAgIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxp
bmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogfQogCkBAIC0yNDQsNyArMjQ0
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVt
cyYgaW5saW5lSXRlbXMsIGNvbnN0IExpbmVCdWkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQo
Y29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBvdXRPZkZsb3dCb3hlcykK
K3ZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91
dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBv
dXRPZkZsb3dCb3hlcywgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpCiB7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgc3RhdGljIHBvc2l0aW9uIGZvciBvdXQtb2YtZmxv
dyBjb250ZW50IGluc2lkZSB0aGUgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAvLyBB
cyBwZXIgc3BlYywgdGhlIHN0YXRpYyBwb3NpdGlvbiBvZiBhbiBvdXQtb2YtZmxvdyBib3ggaXMg
Y29tcHV0ZWQgYXMgaWYgdGhlIHBvc2l0aW9uIHdhcyBzZXQgdG8gc3RhdGljLgpAQCAtMjU2LDEw
ICsyNTYsMTAgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3IKIAogICAgIGZvciAoYXV0byYgb3V0
T2ZGbG93Qm94IDogb3V0T2ZGbG93Qm94ZXMpIHsKICAgICAgICAgaWYgKG91dE9mRmxvd0JveC0+
c3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSkgewotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQo
Zm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxC
b3gob3V0T2ZGbG93Qm94KSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChvdXRPZkZsb3dCb3gsIGNvbnRl
bnRCb3hUb3BMZWZ0KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9w
TGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xl
dmVsQm94KG91dE9mRmxvd0JveCkpOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KG91dE9mRmxvd0JveCwgY29udGVu
dEJveFRvcExlZnQpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGRiNzNhMTFlNmI2MC4uY2RjM2NkN2FlZTdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgbGluZUxheW91dChJbmxpbmVJ
dGVtcyYsIGNvbnN0IExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UmLCBjb25zdCBDb25zdHJh
aW50c0ZvckluRmxvd0NvbnRlbnQmKTsKLSAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0
Jik7CisgICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNv
bnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KTsKIAogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoRm9yRm9ybWF0
dGluZ1Jvb3QoY29uc3QgQm94Jik7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBjb21wdXRlZEludHJp
bnNpY1dpZHRoRm9yQ29uc3RyYWludChJbnRyaW5zaWNXaWR0aE1vZGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKaW5kZXggNzMx
NWQyYmRmNTA4Li44MDViZTAyNTZhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtMTk1LDk0ICsxOTUsMTIwIEBAIElubGluZUxh
eW91dFVuaXQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQoSXNJ
bnRyaW5zaWNXaWR0aE1vCiAgICAgcmV0dXJuIHsgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJ
bmRlbnQsIGF2YWlsYWJsZVdpZHRoKSB9OwogfQogCi1zdGF0aWMgc3RkOjp0dXBsZTxjb25zdCBJ
bmxpbmVEaXNwbGF5OjpCb3gqLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gqPiBwcmV2aW91c0Fu
ZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91
dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7Ci0gICAgLy8gQm90aCBw
cmV2aW91cyBmbG9hdCBhbmQgb3V0LW9mLWZsb3cgYm94ZXMgYXJlIHNraXBwZWQgaGVyZS4gQSBz
ZXJpZXMgb2YgYWRqb2luaW5nIG91dC1vZi1mbG93IGJveGVzIHNob3VsZCBhbGwgYmUgcGxhY2Vk
Ci0gICAgLy8gYXQgdGhlIHNhbWUgc3RhdGljIHBvc2l0aW9uICh0aGV5IGRvbid0IGFmZmVjdCBu
ZXh0LXNpYmxpbmcgcG9zaXRpb25zKSBhbmQgd2hpbGUgZmxvYXRzIGRvIHBhcnRpY2lwYXRlIGlu
IHRoZSBpbmxpbmUgbGF5b3V0Ci0gICAgLy8gdGhlaXIgcG9zaXRpb25zIGhhdmUgYWxyZWFkeSBi
ZWVuIHRha2VuIGludG8gYWNjb3VudCBkdXJpbmcgdGhlIGlubGluZSBsYXlvdXQuCi0gICAgYXV0
byBwcmV2aW91c0luRmxvd0JveCA9IFsmXSAoKSAtPiBjb25zdCBCb3gqIHsKLSAgICAgICAgaWYg
KGF1dG8qIHByZXZpb3VzSW5GbG93U2libGluZyA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxv
d1NpYmxpbmcoKSkKLSAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0luRmxvd1NpYmxpbmc7Ci0g
ICAgICAgIC8vIFBhcmVudCBpcyBlaXRoZXIgdGhlIHJvb3QgaGVyZSBvciBhbm90aGVyIGlubGlu
ZSBib3ggKGUuZy4gPHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L3NwYW4+
KQotICAgICAgICBhdXRvJiBwYXJlbnQgPSBvdXRPZkZsb3dCb3gucGFyZW50KCk7Ci0gICAgICAg
IHJldHVybiBwYXJlbnQuaXNJbmxpbmVCb3goKSA/ICZwYXJlbnQgOiBudWxscHRyOwotICAgIH0o
KTsKLQotICAgIGlmICghcHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAgLy8gVGhpcyBpcyB0
aGUgZmlyc3QgY29udGVudC4gSXQgc2l0cyBvbiB0aGUgZWRnZSBvZiB0aGUgZmlyc3Qgcm9vdCBp
bmxpbmUgYm94LiBXZSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgdGhlIG5leHQgZGlzcGxheSBib3gu
Ci0gICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICAvLyBGSVhNRTogQnVp
bGQgYSBmaXJzdC9sYXN0IGhhc2htYXAgZm9yIHRoZXNlIGJveGVzLgorICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgIGlmIChkaXNwbGF5Qm94ZXNbaW5kZXhdLmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGlmICgmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3go
KSA9PSAmbGF5b3V0Qm94KQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgIH0KKyAgICBy
ZXR1cm4geyB9OworfQogCi0gICAgLy8gVGhpcyBpcyBzdXBwb3NlZCB0byBmaW5kIHRoZSBsYXN0
IGRpc3BsYXkgYm94IG9mIHRoZSAiaW5mbG93Qm94IiBhbmQgcmV0dXJuIGl0IHdpdGggdGhlIG5l
eHQgZGlzcGxheSBib3ggKGZpcnN0IGJveCBvZiB0aGUgbmV4dCBpbmZsb3cgY29udGVudCkuCi0g
ICAgYXV0byBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZhbHNlOwotICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CitzdGF0aWMg
c3RkOjpvcHRpb25hbDxzaXplX3Q+IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorewor
ICAgIC8vIEZJWE1FOiBCdWlsZCBhIGZpcnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMu
CisgICAgZm9yIChhdXRvIGluZGV4ID0gZGlzcGxheUJveGVzLnNpemUoKTsgaW5kZXgtLTspIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94ICYmICZk
aXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpICE9IHByZXZpb3VzSW5GbG93Qm94KSB7Ci0g
ICAgICAgICAgICBBU1NFUlQoaW5kZXgpOwotICAgICAgICAgICAgcmV0dXJuIHsgJmRpc3BsYXlC
b3hlc1tpbmRleCAtIDFdLCAmZGlzcGxheUJveGVzW2luZGV4XSB9OworICAgICAgICBpZiAoJmRp
c3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgPT0gJmxheW91dEJveCkKKyAgICAgICAgICAg
IHJldHVybiBpbmRleDsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCit7CisgICAgYXV0byBw
cmV2aW91c0Rpc3BsYXlCb3hJbmRleE9mID0gWyZdIChhdXRvJiBsYXlvdXRCb3gpIC0+IHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gJmxheW91dEJveDsg
Ym94OyBib3ggPSBib3gtPnByZXZpb3VzSW5GbG93U2libGluZygpKSB7CisgICAgICAgICAgICBp
ZiAoYXV0byBkaXNwbGF5Qm94SW5kZXggPSBsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KCpib3gsIGRpc3BsYXlCb3hlcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJ
bmRleDsKICAgICAgICAgfQotICAgICAgICBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZvdW5kRmly
c3REaXNwbGF5Qm94IHx8ICZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09IHByZXZp
b3VzSW5GbG93Qm94OworICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvKiBj
YW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxvd1NpYmxpbmcoKTsKKyAgICBp
ZiAoIWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wYXJl
bnQoKS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6IG51bGxwdHI7Cisg
ICAgd2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRl
eCA9IHByZXZpb3VzRGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKICAgICB9Ci0gICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94KQotICAgICAgICByZXR1
cm4geyAmZGlzcGxheUJveGVzW2Rpc3BsYXlCb3hlcy5zaXplKCkgLSAxXSwgbnVsbHB0ciB9Owot
ICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICByZXR1cm4geyB9OwogfQogCi1M
YXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0
T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gpIGNvbnN0CitzdGF0
aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG5leHREaXNwbGF5Qm94SW5kZXgoY29uc3QgQm94JiBv
dXRPZkZsb3dCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQogewotICAgIEFT
U0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSk7
CisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkg
LT4gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5
b3V0Qm94OyBib3g7IGJveCA9IGJveC0+bmV4dEluRmxvd1NpYmxpbmcoKSkgeworICAgICAgICAg
ICAgaWYgKGF1dG8gZGlzcGxheUJveEluZGV4ID0gZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3goKmJveCwgZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUJveEluZGV4OworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAg
IGF1dG8qIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCk7Cisg
ICAgaWYgKCFjYW5pZGF0ZUJveCkKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gu
cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgOiBudWxscHRy
OworICAgIHdoaWxlIChjYW5pZGF0ZUJveCkgeworICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94
SW5kZXggPSBuZXh0RGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KIAorTGF5b3V0UG9pbnQgSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3Bs
YXlJbmxpbmVUeXBlKCkpOwogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdD
b250ZXh0KCkuZm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5n
U3RhdGUubGluZXMoKTsKICAgICBhdXRvJiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygp
OwogCi0gICAgYXV0byBbcHJldmlvdXNEaXNwbGF5Qm94LCBuZXh0RGlzcGxheUJveF0gPSBwcmV2
aW91c0FuZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24ob3V0T2ZGbG93Qm94LCBib3hl
cyk7Ci0KLSAgICBpZiAoIXByZXZpb3VzRGlzcGxheUJveCAmJiAhbmV4dERpc3BsYXlCb3gpCisg
ICAgYXV0byBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCA9IHByZXZp
b3VzRGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAgIGlmICghcHJldmlv
dXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3gpCiAgICAgICAgIHJldHVybiB7IGJv
eGVzWzBdLmxlZnQoKSwgbGluZXNbMF0udG9wKCkgfTsKIAotICAgIGlmICghbmV4dERpc3BsYXlC
b3gpIHsKLSAgICAgICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlC
b3gtPmxpbmVJbmRleCgpXTsKLSAgICAgICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNE
aXNwbGF5Qm94LT5yaWdodCgpIDw9IGN1cnJlbnRMaW5lLnJpZ2h0KCkgJiYgIXByZXZpb3VzRGlz
cGxheUJveC0+aXNMaW5lQnJlYWtCb3goKTsKLSAgICAgICAgcmV0dXJuIHNob3VsZEZpdExpbmUg
PyBMYXlvdXRQb2ludCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExpbmUu
dG9wKCkgfSA6IExheW91dFBvaW50IHsgY3VycmVudExpbmUubGVmdCgpLCBjdXJyZW50TGluZS5i
b3R0b20oKSB9OworICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGJveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF07CisgICAgYXV0byYgY3VycmVudExp
bmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gubGluZUluZGV4KCldOworICAgIGlmIChwcmV2
aW91c0Rpc3BsYXlCb3guaXNJbmxpbmVCb3goKSAmJiAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCkpIHsKKyAgICAgICAgLy8gU3BlY2lhbCBo
YW5kbGluZyBmb3IgY2FzZXMgd2hlbiB0aGlzIGlzIHRoZSBmaXJzdCBib3ggaW5zaWRlIGFuIGlu
bGluZSBib3g6CisgICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZSI+Y29udGVudDwvc3Bhbj48L2Rpdj4KKyAgICAgICAgYXV0byYgaW5saW5lQm94
ID0gcHJldmlvdXNEaXNwbGF5Qm94LmxheW91dEJveCgpOworICAgICAgICBhdXRvIGZpcnN0RGlz
cGxheUJveCA9IGJveGVzWypmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChpbmxpbmVC
b3gsIGJveGVzKV07CisgICAgICAgIGF1dG8mIGlubGluZUJveEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVCb3gpOworICAgICAgICByZXR1cm4g
eyBMYXlvdXRVbml0KGZpcnN0RGlzcGxheUJveC5sZWZ0KCkpICsgaW5saW5lQm94Qm94R2VvbWV0
cnkuYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCksIGxpbmVzW2ZpcnN0RGlzcGxheUJveC5saW5lSW5k
ZXgoKV0udG9wKCkgfTsKICAgICB9CiAKLSAgICBpZiAocHJldmlvdXNEaXNwbGF5Qm94LT5pc0lu
bGluZUJveCgpKSB7Ci0gICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIHdoZW4g
dGhlIHByZXZpb3VzIGNvbnRlbnQgaXMgYW4gaW5saW5lIGJveDoKLSAgICAgICAgLy8gPGRpdj50
ZXh0PHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwv
ZGl2PgotICAgICAgICAvLyBvcgotICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bhbj5jb250ZW50PC9z
cGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+Ci0gICAgICAgIGF1dG8g
aXNGaXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPSAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gtPmxheW91dEJveCgpOwotICAgICAgICBhdXRvJiBpbmxpbmVC
b3hCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gocHJldmlv
dXNEaXNwbGF5Qm94LT5sYXlvdXRCb3goKSk7Ci0KLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAg
ICAgIGlzRmlyc3RDb250ZW50SW5zaWRlSW5saW5lQm94ID8gQm94R2VvbWV0cnk6OmJvcmRlckJv
eExlZnQoaW5saW5lQm94Qm94R2VvbWV0cnkpICsgaW5saW5lQm94Qm94R2VvbWV0cnkuY29udGVu
dEJveExlZnQoKSA6IEJveEdlb21ldHJ5OjptYXJnaW5Cb3hSZWN0KGlubGluZUJveEJveEdlb21l
dHJ5KS5yaWdodCgpLAotICAgICAgICAgICAgbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5l
SW5kZXgoKV0udG9wKCkKLSAgICAgICAgfTsKKyAgICBhdXRvIHByZXZpb3VzQm94T3ZlcmZsb3dz
ID0gcHJldmlvdXNEaXNwbGF5Qm94LnJpZ2h0KCkgPiBjdXJyZW50TGluZS5yaWdodCgpIHx8IHBy
ZXZpb3VzRGlzcGxheUJveC5pc0xpbmVCcmVha0JveCgpOworICAgIGlmICghcHJldmlvdXNCb3hP
dmVyZmxvd3MpCisgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGlzcGxheUJveC5yaWdodCgpLCBj
dXJyZW50TGluZS50b3AoKSB9OworCisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJP
dXRPZkZsb3cgPSBuZXh0RGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAg
IGlmICghbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0T2ZGbG93KSB7CisgICAgICAgIC8vIFRo
aXMgaXMgdGhlIGxhc3QgY29udGVudCBvbiB0aGUgYmxvY2sgYW5kIGl0IGRvZXMgbm90IGZpdCB0
aGUgbGFzdCBsaW5lLgorICAgICAgICAvLyBGSVhNRTogVGhpcyBzdGlsbCBoYXMgbGluZSB0eW9l
IG9mIGNvbnN0cmFpbnRzIGxpa2UgdGV4dC1hbGlnbi4KKyAgICAgICAgcmV0dXJuIExheW91dFBv
aW50IHsgY29udGVudEJveFRvcExlZnQueCgpLCBjdXJyZW50TGluZS5ib3R0b20oKSB9OwogICAg
IH0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGlu
ZUluZGV4KCldOwotICAgIGF1dG8gc2hvdWxkRml0TGluZSA9IHByZXZpb3VzRGlzcGxheUJveC0+
bGluZUluZGV4KCkgPT0gbmV4dERpc3BsYXlCb3gtPmxpbmVJbmRleCgpIHx8IChwcmV2aW91c0Rp
c3BsYXlCb3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUubGVmdCgpICYmICFwcmV2aW91c0Rpc3Bs
YXlCb3gtPmlzTGluZUJyZWFrQm94KCkpOwotICAgIHJldHVybiBzaG91bGRGaXRMaW5lID8gTGF5
b3V0UG9pbnQgeyBwcmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCksIGN1cnJlbnRMaW5lLnRvcCgp
IH0gOiBMYXlvdXRQb2ludCB7IG5leHREaXNwbGF5Qm94LT5sZWZ0KCksIGxpbmVzW25leHREaXNw
bGF5Qm94LT5saW5lSW5kZXgoKV0udG9wKCkgfTsKKyAgICBhdXRvJiBuZXh0RGlzcGxheUJveCA9
IGJveGVzWypuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3ddOworICAgIHJldHVybiB7
IG5leHREaXNwbGF5Qm94LmxlZnQoKSwgbGluZXNbbmV4dERpc3BsYXlCb3gubGluZUluZGV4KCld
LnRvcCgpIH07CiB9CiAKLUxheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93
Qm94KSBjb25zdAorTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQ
b3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdAogewotICAgIEFTU0VSVChvdXRP
ZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUJsb2NrVHlwZSgpKTsKKyAgICBBU1NF
UlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNEaXNwbGF5QmxvY2tMZXZlbCgpKTsKIAogICAgIGF1
dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZm9ybWF0dGluZ1N0YXRl
KCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKICAgICBhdXRv
JiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygpOwotCiAgICAgLy8gQmxvY2sgbGV2ZWwg
Ym94ZXMgYXJlIHBsYWNlZCB1bmRlciB0aGUgY3VycmVudCBsaW5lIGFzIGlmIHRoZXkgd2VyZSBu
b3JtYWwgaW5mbG93IGJsb2NrIGxldmVsIGJveGVzLgotICAgIGNvbnN0IElubGluZURpc3BsYXk6
OkJveCogcHJldmlvdXNEaXNwbGF5Qm94ID0gbnVsbHB0cjsKLSAgICBzdGQ6OnRpZShwcmV2aW91
c0Rpc3BsYXlCb3gsIHN0ZDo6aWdub3JlKSA9IHByZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JT
dGF0aWNQb3NpdGlvbihvdXRPZkZsb3dCb3gsIGJveGVzKTsKLQotICAgIGlmICghcHJldmlvdXNE
aXNwbGF5Qm94KQotICAgICAgICByZXR1cm4geyBib3hlc1swXS5sZWZ0KCksIGxpbmVzWzBdLnRv
cCgpIH07Ci0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJv
eC0+bGluZUluZGV4KCldOwotICAgIHJldHVybiB7IGN1cnJlbnRMaW5lLmxlZnQoKSwgY3VycmVu
dExpbmUuYm90dG9tKCkgfTsKKyAgICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3Jl
T3V0T2ZGbG93Qm94ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hl
cyk7CisgICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkK
KyAgICAgICAgcmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBsaW5lc1swXS50b3AoKSB9
OworICAgIHJldHVybiB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgcHJldmlvdXNEaXNwbGF5Qm94
SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3ggPyBMYXlvdXRVbml0KGxpbmVzW2JveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF0ubGluZUluZGV4KCldLmJvdHRvbSgp
KSA6IGNvbnRlbnRCb3hUb3BMZWZ0LnkoKSB9OwogfQogCiBJbmxpbmVMYXlvdXRVbml0IElubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeTo6aW5pdGlhbExpbmVIZWlnaHQoYm9vbCBpc0ZpcnN0TGluZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgK
aW5kZXggYTBkMDg1OWU5NzJmLi41YzBiYzcwMjc2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCkBAIC01NSw4ICs1NSw4IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBJbmxpbmVSZWN0IGZsaXBWaXN1YWxSZWN0VG9Mb2dpY2FsRm9yV3JpdGlu
Z01vZGUoY29uc3QgSW5saW5lUmVjdCYgdmlzdWFsUmVjdCwgV3JpdGluZ01vZGUpOwogCi0gICAg
TGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25z
dCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGlj
UG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2lu
dCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRp
b25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0dlb21ldHJ5Ojpmb3JtYXR0aW5nQ29u
dGV4dCgpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGM2YjQ1YmI4MDk1
NC4uYWEwYmNjMTdjYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0zOTAs
OSArMzkwLDcgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckNo
aWxkKGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2wKICAgICAgICAgaWYgKHJlbmRlcmVy
LnN0eWxlKCkuc2hhcGVPdXRzaWRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGlmIChyZW5kZXJlci5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAg
aWYgKCFpczxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyZXIpKQotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIGlmICghcmVuZGVyZXIucGFyZW50KCktPnN0eWxlKCkuaXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQo
KS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgIXJlbmRlcmVyLnBhcmVudCgp
LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgLy8gVGhpcyBzaW1wbHkgY2hlY2tzIHRoZSBub3QteWV0
IHN1cHBvcnRlZCBjYXNlIHdoZW4gdGhlIG91dC1vZi1mbG93IHBvc2l0aW9uZWQKICAgICAgICAg
ICAgIC8vIGNvbnRlbnQgaGFzIGEgcmVsYXRpdmVseSBwb3NpdGlvbmVkIGlubGluZSBjb250YWlu
aW5nIGJsb2NrIChoYXMgdG8gY2FsbCBjb250YWluZXIgdG8gbm90IHNraXAgUmVuZGVySW5saW5l
cykuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmMzdlOWE2MGZjZmYuLjU0ZWU2ZTYyNDUxNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yODAwLDYgKzI4MDAsNyBAQCB3ZWJraXQub3JnL2IvMjE0Mjkw
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWsv
bGluZQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUtYnJlYWstc2hhcGluZy0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5nL2xpbmUtYnJlYWtpbmctMDE2
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvbGluZS1icmVha2luZy9saW5lLWJy
ZWFraW5nLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjQ1OTA1
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtp
bmcvbGluZS1icmVha2luZy0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9v
dmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtbm9ybWFsLWtlZXAtYWxsLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L292ZXJmbG93LXdyYXAvb3ZlcmZsb3ctd3JhcC1zaGFw
aW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L292ZXJmbG93LXdyYXAv
b3ZlcmZsb3ctd3JhcC1zaGFwaW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXIt
dHJlZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2Ut
Y2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKaW5kZXggOGYyNTA0NmNiNzgwLi5lNTEwYzdi
YTU5MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1j
YWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKQEAgLTYyLDcgKzYy
LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IGxheWVycyBhcmUgcmVidWlsdCBwcm9wZXJseSBhZnRlciB0
aGUgcGFnZSBpcyByZXN0b3JlZCBmcm9tIHRoZQogICAgICAgICApCiAgICAgICAgIChHcmFwaGlj
c0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDguMDAgMjc0LjAwKQotICAgICAgICAgIChib3Vu
ZHMgNzg0LjAwIDIyNC4wMCkKKyAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjguMDApCiAgICAg
ICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAg
ICAgIChvZmZzZXRGcm9tUmVuZGVyZXIgd2lkdGg9LTI4IGhlaWdodD0tMjgpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1j
YWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0
CmluZGV4IGJkZjliYTdjYzkxOC4uZTU3NmQwMzlhMjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10
cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBv
c2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dApAQCAtNjIs
NyArNjIsNyBAQCBUaGlzIHRlc3RzIHRoYXQgbGF5ZXJzIGFyZSByZWJ1aWx0IHByb3Blcmx5IGFm
dGVyIHRoZSBwYWdlIGlzIHJlc3RvcmVkIGZyb20gdGhlCiAgICAgICAgICkKICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCAyNzcuMDApCi0gICAgICAgICAg
KGJvdW5kcyA3ODQuMDAgMjI1LjAwKQorICAgICAgICAgIChib3VuZHMgNzg0LjAwIDIyOC4wMCkK
ICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAg
ICAgICAgICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD0tMjggaGVpZ2h0PS0yOCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IDgzMTFhYjQxYmNjNy4uMmI3NTc3YWFmODli
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5OCkg
d2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBzaXpl
IDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTYs
MjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGggNDog
IiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIxOSkgc2l6ZSA0eDE5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3Rl
ZC50eHQKaW5kZXggN2VhNWE2MTMzMTRkLi41NjJiNTFmNWNiNWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9t
dWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQKQEAgLTI4
LDggKzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ3NiwxMTMpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDU5NiwxMTMpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsMTEzKSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsMTEzKSBzaXpl
IDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDExMykgd2lkdGggNDogIiAiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDExNiwyNTcpIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMTYsMjU3KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgy
NDYsMjU3KSBzaXplIDR4MTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9m
YXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhw
ZWN0ZWQudHh0CmluZGV4IDViYzIzZDM4MTVlNC4uMTczMWE2MGMwMjIyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5l
cnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRp
Y29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5
OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAg
IHRleHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGgg
NDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjE2LDIxOSkgc2l6ZSA0eDE5
CkBAIC00Miw4ICs0MSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAg
IHRleHQgcnVuIGF0ICg1MTYsMjE5KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg2MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjE2
LDIxOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDIx
OSkgc2l6ZSA0eDE5Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwyMTkpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NiwzNDApIHNpemUgNHgxOQogICAgICAgICAgIHRleHQg
cnVuIGF0ICg5NiwzNDApIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE5NiwzNDApIHNpemUgNHgxOQpAQCAtNTYsOCArNTQsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk2LDM0MCkgd2lkdGggNDogIiAi
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDM0MCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5NiwzNDApIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDY5NiwzNDApIHNpemUgNHgxOQotICAgICAgICAgIHRleHQgcnVuIGF0
ICg2OTYsMzQwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAogbGF5ZXIgYXQgKDgsNjQpIHNpemUgMTE2eDc2CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDEwKSBzaXplIDExNng3NiBbY29sb3I9I0FERDhFNl0gW2JvcmRlcjogKDNweCBzb2xpZCAjMDAw
MDAwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29s
L25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDgzMTFhYjQxYmNjNy4uMmI3NTc3YWFmODliIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L211bHRpY29s
L25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKQEAgLTI4LDggKzI4LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3Niw5
OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2LDk4KSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDk4KSB3aWR0aCA0OiAiICIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsOTgpIHNpemUgNHgxOQotICAgICAgICAg
IHRleHQgcnVuIGF0ICg3MTYsOTgpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MTYsMjE5KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDIxOSkgd2lkdGgg
NDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjA2LDIxOSkgc2l6ZSA0eDE5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCBmYzE3MGMyMmRkZjIuLmNhMzU5
N2Q4MjZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGlj
b2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0
NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5
OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDogIiAi
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdp
ZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUg
NHgxOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgt
ZXhwZWN0ZWQudHh0CmluZGV4IDZmNTc0NWEzN2U3Yi4uMmVjMzg4MmFkNTMyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bh
bm5lcnMtY29tcGxleC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0
CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAg
IHRleHQgcnVuIGF0ICg0NzYsMTE0KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg1OTYsMTE0KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2
LDExNCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDEx
NCkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDcxNiwxMTQpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTYsMjU4KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTE2LDI1OCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjQ2LDI1OCkgc2l6ZSA0eDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5u
ZXJzLWV4cGVjdGVkLnR4dAppbmRleCBmODcyOGJjMTMwOWEuLjFhOTc5N2MzNTdhOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3Rz
LXNwYW5uZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsy
OCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5
Niw5OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDog
IiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkp
IHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxNiwyMTkpIHNp
emUgNHgxOApAQCAtNDIsOCArNDEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNjE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDYxNiwyMTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDcxNiwyMTkpIHNpemUgNHgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMjE5KSB3aWR0
aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTYsMzM5KSBzaXplIDR4MTgKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTYsMzM5KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxOTYsMzM5KSBzaXplIDR4MTgKQEAgLTU2LDggKzU0LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5NiwzMzkpIHdpZHRo
IDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5NiwzMzkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsMzM5KSB3aWR0aCA0OiAiICIKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OTYsMzM5KSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjk2LDMzOSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKIGxheWVyIGF0ICg4LDYzKSBzaXplIDExNng3NgogICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwxMCkgc2l6ZSAxMTZ4NzYgW2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29s
aWQgIzAwMDAwMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dAppbmRleCBmYzE3MGMyMmRkZjIuLmNhMzU5N2Q4MjZkOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50
LXJlY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsy
OCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NzYsOTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5
Niw5OSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OSkgd2lkdGggNDog
IiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDk5KSBzaXplIDR4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDk5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkp
IHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNp
emUgNHgxOAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463008</attachid>
            <date>2022-10-15 08:20:32 -0700</date>
            <delta_ts>2022-10-15 13:23:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20221015082031.patch</filename>
            <type>text/plain</type>
            <size>31401</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlYWI0MWZlYjVjYTg3NjE1ZTYyNmFhYjI2MGZhZjVmODg3ZjI2ZDI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBT
dW4sIDIgT2N0IDIwMjIgMTA6NTU6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbTEZDXVtJRkNd
IEVuYWJsZSBub24tcmVwbGFjZWQgb3V0LW9mLWZsb3cgcG9zaXRpb25lZCBjb250ZW50CiBmb3Ig
SUZDIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDU3NjYKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhpcyBwYXRjaCBlbmFibGVzIGhvcml6b250YWwvbHRy
IG91dC1vZi1mbG93IGNvbnRlbnQgZm9yIElGQy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKRml4
IGNhc2VzIHdoZXJlIHByZXZpb3VzIGluZmxvdyBib3gncyAob2Ygd2hpY2ggdGhlIG91dC1vZi1m
bG93IGJveCBpcyBiYXNlZCBvZmYpIGNvbnRlbnQgaXMgY29sbGFwc2VkIGFuZCBkb2VzIG5vdCBn
ZW5lcmF0ZSBhbnkgZGlzcGxheSBib3guIEluIHN1Y2ggY2FzZXMgd2UgZ28gYW5kIHVzZSB0aGUg
cHJldmlvdXMgYm94J3MgcHJldmlvdXMgc2libGluZyAoYW5kIHNvIG9uKS4KCiogTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Bh
Z2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxl
eC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dl
b21ldHJ5LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KToKKFdlYkNvcmU6OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6
TGF5b3V0OjpuZXh0RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0
aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4K
KiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6Y2FuVXNlRm9yQ2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwICAgICAgICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5oICAgICAgICAgIHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5jcHAgICAgICAgfCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCB8ICAgNCArLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgMiArLQogLi4uL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgICAgICAgIHwgICAyICstCiAuLi4vZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtZXhwZWN0ZWQudHh0ICAgfCAgIDMgKy0KIC4uLmNsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dCB8ICAgMyArLQogLi4uL2NsaWVudC1yZWN0cy1zcGFubmVycy1l
eHBlY3RlZC50eHQgICAgICAgIHwgICA5ICstCiAuLi4vbmV3bXVsdGljb2wvY2xpZW50LXJlY3Rz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDMgKy0KIC4uLi9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgICB8ICAgMyArLQogLi4uY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBs
ZXgtZXhwZWN0ZWQudHh0IHwgICAzICstCiAuLi4vY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVj
dGVkLnR4dCAgICAgICAgfCAgIDkgKy0KIC4uLi9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhw
ZWN0ZWQudHh0ICAgICB8ICAgMyArLQogMTYgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMo
KyksIDk2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCBmNzZlNjI1MTA1MDcuLmM5YzZkZGI5NzAwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTQw
LDcgKzE0MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0Nv
bnRlbnQoY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250CiAKICAgICBhdXRvJiBpbmxpbmVJ
dGVtcyA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChp
bmxpbmVJdGVtcywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAg
IGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRl
KCkub3V0T2ZGbG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0p
OwogICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RC
b3hGb3JJbmxpbmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogICAgIExPR19X
SVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBp
bmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IC0+IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkg
PDwgIikiKTsKIH0KQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50Rm9ySW50ZWdyYXRpb24oY29uc3QgQ29uc3RyYWludAog
ICAgIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKICAgICBhdXRvJiBpbmxpbmVJdGVtcyA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChpbmxpbmVJdGVt
cywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAgIGNvbXB1dGVT
dGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZG
bG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVu
dChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0pOwogICAgIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxp
bmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogfQogCkBAIC0yNDQsNyArMjQ0
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVt
cyYgaW5saW5lSXRlbXMsIGNvbnN0IExpbmVCdWkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQo
Y29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBvdXRPZkZsb3dCb3hlcykK
K3ZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91
dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBv
dXRPZkZsb3dCb3hlcywgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpCiB7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgc3RhdGljIHBvc2l0aW9uIGZvciBvdXQtb2YtZmxv
dyBjb250ZW50IGluc2lkZSB0aGUgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAvLyBB
cyBwZXIgc3BlYywgdGhlIHN0YXRpYyBwb3NpdGlvbiBvZiBhbiBvdXQtb2YtZmxvdyBib3ggaXMg
Y29tcHV0ZWQgYXMgaWYgdGhlIHBvc2l0aW9uIHdhcyBzZXQgdG8gc3RhdGljLgpAQCAtMjU2LDEw
ICsyNTYsMTAgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3IKIAogICAgIGZvciAoYXV0byYgb3V0
T2ZGbG93Qm94IDogb3V0T2ZGbG93Qm94ZXMpIHsKICAgICAgICAgaWYgKG91dE9mRmxvd0JveC0+
c3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSkgewotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQo
Zm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxC
b3gob3V0T2ZGbG93Qm94KSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChvdXRPZkZsb3dCb3gsIGNvbnRl
bnRCb3hUb3BMZWZ0KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9w
TGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xl
dmVsQm94KG91dE9mRmxvd0JveCkpOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KG91dE9mRmxvd0JveCwgY29udGVu
dEJveFRvcExlZnQpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGRiNzNhMTFlNmI2MC4uY2RjM2NkN2FlZTdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgbGluZUxheW91dChJbmxpbmVJ
dGVtcyYsIGNvbnN0IExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UmLCBjb25zdCBDb25zdHJh
aW50c0ZvckluRmxvd0NvbnRlbnQmKTsKLSAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0
Jik7CisgICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNv
bnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KTsKIAogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoRm9yRm9ybWF0
dGluZ1Jvb3QoY29uc3QgQm94Jik7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBjb21wdXRlZEludHJp
bnNpY1dpZHRoRm9yQ29uc3RyYWludChJbnRyaW5zaWNXaWR0aE1vZGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKaW5kZXggOGYx
ZjA5ZTdiMDU1Li41ZDgwMjE1MWQzODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtMTk1LDk0ICsxOTUsMTIwIEBAIElubGluZUxh
eW91dFVuaXQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQoSXNJ
bnRyaW5zaWNXaWR0aE1vCiAgICAgcmV0dXJuIHsgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJ
bmRlbnQsIGF2YWlsYWJsZVdpZHRoKSB9OwogfQogCi1zdGF0aWMgc3RkOjp0dXBsZTxjb25zdCBJ
bmxpbmVEaXNwbGF5OjpCb3gqLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gqPiBwcmV2aW91c0Fu
ZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91
dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7Ci0gICAgLy8gQm90aCBw
cmV2aW91cyBmbG9hdCBhbmQgb3V0LW9mLWZsb3cgYm94ZXMgYXJlIHNraXBwZWQgaGVyZS4gQSBz
ZXJpZXMgb2YgYWRqb2luaW5nIG91dC1vZi1mbG93IGJveGVzIHNob3VsZCBhbGwgYmUgcGxhY2Vk
Ci0gICAgLy8gYXQgdGhlIHNhbWUgc3RhdGljIHBvc2l0aW9uICh0aGV5IGRvbid0IGFmZmVjdCBu
ZXh0LXNpYmxpbmcgcG9zaXRpb25zKSBhbmQgd2hpbGUgZmxvYXRzIGRvIHBhcnRpY2lwYXRlIGlu
IHRoZSBpbmxpbmUgbGF5b3V0Ci0gICAgLy8gdGhlaXIgcG9zaXRpb25zIGhhdmUgYWxyZWFkeSBi
ZWVuIHRha2VuIGludG8gYWNjb3VudCBkdXJpbmcgdGhlIGlubGluZSBsYXlvdXQuCi0gICAgYXV0
byBwcmV2aW91c0luRmxvd0JveCA9IFsmXSAoKSAtPiBjb25zdCBCb3gqIHsKLSAgICAgICAgaWYg
KGF1dG8qIHByZXZpb3VzSW5GbG93U2libGluZyA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxv
d1NpYmxpbmcoKSkKLSAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0luRmxvd1NpYmxpbmc7Ci0g
ICAgICAgIC8vIFBhcmVudCBpcyBlaXRoZXIgdGhlIHJvb3QgaGVyZSBvciBhbm90aGVyIGlubGlu
ZSBib3ggKGUuZy4gPHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L3NwYW4+
KQotICAgICAgICBhdXRvJiBwYXJlbnQgPSBvdXRPZkZsb3dCb3gucGFyZW50KCk7Ci0gICAgICAg
IHJldHVybiBwYXJlbnQuaXNJbmxpbmVCb3goKSA/ICZwYXJlbnQgOiBudWxscHRyOwotICAgIH0o
KTsKLQotICAgIGlmICghcHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAgLy8gVGhpcyBpcyB0
aGUgZmlyc3QgY29udGVudC4gSXQgc2l0cyBvbiB0aGUgZWRnZSBvZiB0aGUgZmlyc3Qgcm9vdCBp
bmxpbmUgYm94LiBXZSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgdGhlIG5leHQgZGlzcGxheSBib3gu
Ci0gICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICAvLyBGSVhNRTogQnVp
bGQgYSBmaXJzdC9sYXN0IGhhc2htYXAgZm9yIHRoZXNlIGJveGVzLgorICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgIGlmIChkaXNwbGF5Qm94ZXNbaW5kZXhdLmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGlmICgmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3go
KSA9PSAmbGF5b3V0Qm94KQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgIH0KKyAgICBy
ZXR1cm4geyB9OworfQogCi0gICAgLy8gVGhpcyBpcyBzdXBwb3NlZCB0byBmaW5kIHRoZSBsYXN0
IGRpc3BsYXkgYm94IG9mIHRoZSAiaW5mbG93Qm94IiBhbmQgcmV0dXJuIGl0IHdpdGggdGhlIG5l
eHQgZGlzcGxheSBib3ggKGZpcnN0IGJveCBvZiB0aGUgbmV4dCBpbmZsb3cgY29udGVudCkuCi0g
ICAgYXV0byBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZhbHNlOwotICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CitzdGF0aWMg
c3RkOjpvcHRpb25hbDxzaXplX3Q+IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorewor
ICAgIC8vIEZJWE1FOiBCdWlsZCBhIGZpcnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMu
CisgICAgZm9yIChhdXRvIGluZGV4ID0gZGlzcGxheUJveGVzLnNpemUoKTsgaW5kZXgtLTspIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94ICYmICZk
aXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpICE9IHByZXZpb3VzSW5GbG93Qm94KSB7Ci0g
ICAgICAgICAgICBBU1NFUlQoaW5kZXgpOwotICAgICAgICAgICAgcmV0dXJuIHsgJmRpc3BsYXlC
b3hlc1tpbmRleCAtIDFdLCAmZGlzcGxheUJveGVzW2luZGV4XSB9OworICAgICAgICBpZiAoJmRp
c3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgPT0gJmxheW91dEJveCkKKyAgICAgICAgICAg
IHJldHVybiBpbmRleDsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCit7CisgICAgYXV0byBw
cmV2aW91c0Rpc3BsYXlCb3hJbmRleE9mID0gWyZdIChhdXRvJiBsYXlvdXRCb3gpIC0+IHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gJmxheW91dEJveDsg
Ym94OyBib3ggPSBib3gtPnByZXZpb3VzSW5GbG93U2libGluZygpKSB7CisgICAgICAgICAgICBp
ZiAoYXV0byBkaXNwbGF5Qm94SW5kZXggPSBsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KCpib3gsIGRpc3BsYXlCb3hlcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJ
bmRleDsKICAgICAgICAgfQotICAgICAgICBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZvdW5kRmly
c3REaXNwbGF5Qm94IHx8ICZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09IHByZXZp
b3VzSW5GbG93Qm94OworICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvKiBj
YW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxvd1NpYmxpbmcoKTsKKyAgICBp
ZiAoIWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wYXJl
bnQoKS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6IG51bGxwdHI7Cisg
ICAgd2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRl
eCA9IHByZXZpb3VzRGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKICAgICB9Ci0gICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94KQotICAgICAgICByZXR1
cm4geyAmZGlzcGxheUJveGVzW2Rpc3BsYXlCb3hlcy5zaXplKCkgLSAxXSwgbnVsbHB0ciB9Owot
ICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICByZXR1cm4geyB9OwogfQogCi1M
YXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0
T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gpIGNvbnN0CitzdGF0
aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG5leHREaXNwbGF5Qm94SW5kZXgoY29uc3QgQm94JiBv
dXRPZkZsb3dCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQogewotICAgIEFT
U0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSk7
CisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkg
LT4gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5
b3V0Qm94OyBib3g7IGJveCA9IGJveC0+bmV4dEluRmxvd1NpYmxpbmcoKSkgeworICAgICAgICAg
ICAgaWYgKGF1dG8gZGlzcGxheUJveEluZGV4ID0gZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3goKmJveCwgZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUJveEluZGV4OworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAg
IGF1dG8qIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCk7Cisg
ICAgaWYgKCFjYW5pZGF0ZUJveCkKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gu
cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgOiBudWxscHRy
OworICAgIHdoaWxlIChjYW5pZGF0ZUJveCkgeworICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94
SW5kZXggPSBuZXh0RGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KIAorTGF5b3V0UG9pbnQgSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3Bs
YXlJbmxpbmVUeXBlKCkpOwogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdD
b250ZXh0KCkuZm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5n
U3RhdGUubGluZXMoKTsKICAgICBhdXRvJiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygp
OwogCi0gICAgYXV0byBbcHJldmlvdXNEaXNwbGF5Qm94LCBuZXh0RGlzcGxheUJveF0gPSBwcmV2
aW91c0FuZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24ob3V0T2ZGbG93Qm94LCBib3hl
cyk7Ci0KLSAgICBpZiAoIXByZXZpb3VzRGlzcGxheUJveCAmJiAhbmV4dERpc3BsYXlCb3gpCisg
ICAgYXV0byBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCA9IHByZXZp
b3VzRGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAgIGlmICghcHJldmlv
dXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3gpCiAgICAgICAgIHJldHVybiB7IGJv
eGVzWzBdLmxlZnQoKSwgbGluZXNbMF0udG9wKCkgfTsKIAotICAgIGlmICghbmV4dERpc3BsYXlC
b3gpIHsKLSAgICAgICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlC
b3gtPmxpbmVJbmRleCgpXTsKLSAgICAgICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNE
aXNwbGF5Qm94LT5yaWdodCgpIDw9IGN1cnJlbnRMaW5lLnJpZ2h0KCkgJiYgIXByZXZpb3VzRGlz
cGxheUJveC0+aXNMaW5lQnJlYWtCb3goKTsKLSAgICAgICAgcmV0dXJuIHNob3VsZEZpdExpbmUg
PyBMYXlvdXRQb2ludCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExpbmUu
dG9wKCkgfSA6IExheW91dFBvaW50IHsgY3VycmVudExpbmUubGVmdCgpLCBjdXJyZW50TGluZS5i
b3R0b20oKSB9OworICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGJveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF07CisgICAgYXV0byYgY3VycmVudExp
bmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gubGluZUluZGV4KCldOworICAgIGlmIChwcmV2
aW91c0Rpc3BsYXlCb3guaXNJbmxpbmVCb3goKSAmJiAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCkpIHsKKyAgICAgICAgLy8gU3BlY2lhbCBo
YW5kbGluZyBmb3IgY2FzZXMgd2hlbiB0aGlzIGlzIHRoZSBmaXJzdCBib3ggaW5zaWRlIGFuIGlu
bGluZSBib3g6CisgICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZSI+Y29udGVudDwvc3Bhbj48L2Rpdj4KKyAgICAgICAgYXV0byYgaW5saW5lQm94
ID0gcHJldmlvdXNEaXNwbGF5Qm94LmxheW91dEJveCgpOworICAgICAgICBhdXRvIGZpcnN0RGlz
cGxheUJveCA9IGJveGVzWypmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChpbmxpbmVC
b3gsIGJveGVzKV07CisgICAgICAgIGF1dG8mIGlubGluZUJveEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVCb3gpOworICAgICAgICByZXR1cm4g
eyBMYXlvdXRVbml0KGZpcnN0RGlzcGxheUJveC5sZWZ0KCkpICsgaW5saW5lQm94Qm94R2VvbWV0
cnkuYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCksIGxpbmVzW2ZpcnN0RGlzcGxheUJveC5saW5lSW5k
ZXgoKV0udG9wKCkgfTsKICAgICB9CiAKLSAgICBpZiAocHJldmlvdXNEaXNwbGF5Qm94LT5pc0lu
bGluZUJveCgpKSB7Ci0gICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIHdoZW4g
dGhlIHByZXZpb3VzIGNvbnRlbnQgaXMgYW4gaW5saW5lIGJveDoKLSAgICAgICAgLy8gPGRpdj50
ZXh0PHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwv
ZGl2PgotICAgICAgICAvLyBvcgotICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bhbj5jb250ZW50PC9z
cGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+Ci0gICAgICAgIGF1dG8g
aXNGaXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPSAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gtPmxheW91dEJveCgpOwotICAgICAgICBhdXRvJiBpbmxpbmVC
b3hCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gocHJldmlv
dXNEaXNwbGF5Qm94LT5sYXlvdXRCb3goKSk7Ci0KLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAg
ICAgIGlzRmlyc3RDb250ZW50SW5zaWRlSW5saW5lQm94ID8gQm94R2VvbWV0cnk6OmJvcmRlckJv
eExlZnQoaW5saW5lQm94Qm94R2VvbWV0cnkpICsgaW5saW5lQm94Qm94R2VvbWV0cnkuY29udGVu
dEJveExlZnQoKSA6IEJveEdlb21ldHJ5OjptYXJnaW5Cb3hSZWN0KGlubGluZUJveEJveEdlb21l
dHJ5KS5yaWdodCgpLAotICAgICAgICAgICAgbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5l
SW5kZXgoKV0udG9wKCkKLSAgICAgICAgfTsKKyAgICBhdXRvIHByZXZpb3VzQm94T3ZlcmZsb3dz
ID0gcHJldmlvdXNEaXNwbGF5Qm94LnJpZ2h0KCkgPiBjdXJyZW50TGluZS5yaWdodCgpIHx8IHBy
ZXZpb3VzRGlzcGxheUJveC5pc0xpbmVCcmVha0JveCgpOworICAgIGlmICghcHJldmlvdXNCb3hP
dmVyZmxvd3MpCisgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGlzcGxheUJveC5yaWdodCgpLCBj
dXJyZW50TGluZS50b3AoKSB9OworCisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJP
dXRPZkZsb3cgPSBuZXh0RGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAg
IGlmICghbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0T2ZGbG93KSB7CisgICAgICAgIC8vIFRo
aXMgaXMgdGhlIGxhc3QgY29udGVudCBvbiB0aGUgYmxvY2sgYW5kIGl0IGRvZXMgbm90IGZpdCB0
aGUgbGFzdCBsaW5lLgorICAgICAgICAvLyBGSVhNRTogVGhpcyBzdGlsbCBoYXMgbGluZSB0eW9l
IG9mIGNvbnN0cmFpbnRzIGxpa2UgdGV4dC1hbGlnbi4KKyAgICAgICAgcmV0dXJuIExheW91dFBv
aW50IHsgY29udGVudEJveFRvcExlZnQueCgpLCBjdXJyZW50TGluZS5ib3R0b20oKSB9OwogICAg
IH0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGlu
ZUluZGV4KCldOwotICAgIGF1dG8gc2hvdWxkRml0TGluZSA9IHByZXZpb3VzRGlzcGxheUJveC0+
bGluZUluZGV4KCkgPT0gbmV4dERpc3BsYXlCb3gtPmxpbmVJbmRleCgpIHx8IChwcmV2aW91c0Rp
c3BsYXlCb3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUubGVmdCgpICYmICFwcmV2aW91c0Rpc3Bs
YXlCb3gtPmlzTGluZUJyZWFrQm94KCkpOwotICAgIHJldHVybiBzaG91bGRGaXRMaW5lID8gTGF5
b3V0UG9pbnQgeyBwcmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCksIGN1cnJlbnRMaW5lLnRvcCgp
IH0gOiBMYXlvdXRQb2ludCB7IG5leHREaXNwbGF5Qm94LT5sZWZ0KCksIGxpbmVzW25leHREaXNw
bGF5Qm94LT5saW5lSW5kZXgoKV0udG9wKCkgfTsKKyAgICBhdXRvJiBuZXh0RGlzcGxheUJveCA9
IGJveGVzWypuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3ddOworICAgIHJldHVybiB7
IG5leHREaXNwbGF5Qm94LmxlZnQoKSwgbGluZXNbbmV4dERpc3BsYXlCb3gubGluZUluZGV4KCld
LnRvcCgpIH07CiB9CiAKLUxheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93
Qm94KSBjb25zdAorTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQ
b3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdAogewotICAgIEFTU0VSVChvdXRP
ZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUJsb2NrVHlwZSgpKTsKKyAgICBBU1NF
UlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNEaXNwbGF5QmxvY2tMZXZlbCgpKTsKIAogICAgIGF1
dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZm9ybWF0dGluZ1N0YXRl
KCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKICAgICBhdXRv
JiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygpOwotCiAgICAgLy8gQmxvY2sgbGV2ZWwg
Ym94ZXMgYXJlIHBsYWNlZCB1bmRlciB0aGUgY3VycmVudCBsaW5lIGFzIGlmIHRoZXkgd2VyZSBu
b3JtYWwgaW5mbG93IGJsb2NrIGxldmVsIGJveGVzLgotICAgIGNvbnN0IElubGluZURpc3BsYXk6
OkJveCogcHJldmlvdXNEaXNwbGF5Qm94ID0gbnVsbHB0cjsKLSAgICBzdGQ6OnRpZShwcmV2aW91
c0Rpc3BsYXlCb3gsIHN0ZDo6aWdub3JlKSA9IHByZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JT
dGF0aWNQb3NpdGlvbihvdXRPZkZsb3dCb3gsIGJveGVzKTsKLQotICAgIGlmICghcHJldmlvdXNE
aXNwbGF5Qm94KQotICAgICAgICByZXR1cm4geyBib3hlc1swXS5sZWZ0KCksIGxpbmVzWzBdLnRv
cCgpIH07Ci0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJv
eC0+bGluZUluZGV4KCldOwotICAgIHJldHVybiB7IGN1cnJlbnRMaW5lLmxlZnQoKSwgY3VycmVu
dExpbmUuYm90dG9tKCkgfTsKKyAgICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3Jl
T3V0T2ZGbG93Qm94ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hl
cyk7CisgICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkK
KyAgICAgICAgcmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBsaW5lc1swXS50b3AoKSB9
OworICAgIHJldHVybiB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgcHJldmlvdXNEaXNwbGF5Qm94
SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3ggPyBMYXlvdXRVbml0KGxpbmVzW2JveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF0ubGluZUluZGV4KCldLmJvdHRvbSgp
KSA6IGNvbnRlbnRCb3hUb3BMZWZ0LnkoKSB9OwogfQogCiBJbmxpbmVMYXlvdXRVbml0IElubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeTo6aW5pdGlhbExpbmVIZWlnaHQoYm9vbCBpc0ZpcnN0TGluZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgK
aW5kZXggYTBkMDg1OWU5NzJmLi41YzBiYzcwMjc2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCkBAIC01NSw4ICs1NSw4IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBJbmxpbmVSZWN0IGZsaXBWaXN1YWxSZWN0VG9Mb2dpY2FsRm9yV3JpdGlu
Z01vZGUoY29uc3QgSW5saW5lUmVjdCYgdmlzdWFsUmVjdCwgV3JpdGluZ01vZGUpOwogCi0gICAg
TGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25z
dCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGlj
UG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2lu
dCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRp
b25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0dlb21ldHJ5Ojpmb3JtYXR0aW5nQ29u
dGV4dCgpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGM2YjQ1YmI4MDk1
NC4uMWU1YzUwNjBmNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0zOTAs
OSArMzkwLDkgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckNo
aWxkKGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2wKICAgICAgICAgaWYgKHJlbmRlcmVy
LnN0eWxlKCkuc2hhcGVPdXRzaWRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGlmIChyZW5kZXJlci5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAg
aWYgKCFpczxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyZXIpKQorICAgICAgICAgICAgaWYgKCFyZW5k
ZXJlci5wYXJlbnQoKS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgIXJlbmRl
cmVyLnBhcmVudCgpLT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQo
KS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgICAgICBpZiAoaXM8
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4ocmVuZGVyZXIucGFyZW50KCkpICYmIGRvd25jYXN0PFJl
bmRlckxheWVyTW9kZWxPYmplY3Q+KCpyZW5kZXJlci5wYXJlbnQoKSkuc2hvdWxkUGxhY2VWZXJ0
aWNhbFNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgICAgIC8vIFRoaXMgc2ltcGx5IGNoZWNrcyB0aGUgbm90LXlldCBzdXBwb3J0ZWQgY2Fz
ZSB3aGVuIHRoZSBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkCiAgICAgICAgICAgICAvLyBjb250ZW50
IGhhcyBhIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmUgY29udGFpbmluZyBibG9jayAoaGFz
IHRvIGNhbGwgY29udGFpbmVyIHRvIG5vdCBza2lwIFJlbmRlcklubGluZXMpLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNTQxN2FlM2U4MWNlLi5lY2VlZDdiMzg1MGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMjgwMCw2ICsyODAwLDcgQEAgd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUKIHdlYmtpdC5v
cmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQv
bGluZS1icmVhay9saW5lLWJyZWFrLXNoYXBpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXRleHQvbGluZS1icmVha2luZy9saW5lLWJyZWFraW5nLTAxNi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtpbmcvbGluZS1icmVha2luZy0wMTcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzI0NTkwNSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5nL2xpbmUtYnJlYWtp
bmctMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvb3ZlcmZsb3ctd3JhcC9v
dmVyZmxvdy13cmFwLW5vcm1hbC1rZWVwLWFsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdGV4dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtc2hhcGluZy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAt
c2hhcGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0CmluZGV4IDhmMjUwNDZjYjc4MC4uZTUxMGM3YmE1OTE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdl
LWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0CkBAIC02Miw3ICs2Miw3IEBAIFRoaXMgdGVz
dHMgdGhhdCBsYXllcnMgYXJlIHJlYnVpbHQgcHJvcGVybHkgYWZ0ZXIgdGhlIHBhZ2UgaXMgcmVz
dG9yZWQgZnJvbSB0aGUKICAgICAgICAgKQogICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAg
ICAgIChwb3NpdGlvbiA4LjAwIDI3NC4wMCkKLSAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjQu
MDApCisgICAgICAgICAgKGJvdW5kcyA3ODQuMDAgMjI4LjAwKQogICAgICAgICAgIChjaGlsZHJl
biAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAob2Zmc2V0RnJv
bVJlbmRlcmVyIHdpZHRoPS0yOCBoZWlnaHQ9LTI4KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5n
L2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAppbmRleCBiZGY5YmE3
Y2M5MTguLmU1NzZkMDM5YTIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9jb21wb3NpdGluZy9pZnJhbWVz
L3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKQEAgLTYyLDcgKzYyLDcgQEAgVGhp
cyB0ZXN0cyB0aGF0IGxheWVycyBhcmUgcmVidWlsdCBwcm9wZXJseSBhZnRlciB0aGUgcGFnZSBp
cyByZXN0b3JlZCBmcm9tIHRoZQogICAgICAgICApCiAgICAgICAgIChHcmFwaGljc0xheWVyCiAg
ICAgICAgICAgKHBvc2l0aW9uIDguMDAgMjc3LjAwKQotICAgICAgICAgIChib3VuZHMgNzg0LjAw
IDIyNS4wMCkKKyAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjguMDApCiAgICAgICAgICAgKGNo
aWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgIChvZmZz
ZXRGcm9tUmVuZGVyZXIgd2lkdGg9LTI4IGhlaWdodD0tMjgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dAppbmRleCA4MzExYWI0MWJjYzcuLjJiNzU3N2FhZjg5YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIgIgog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2
LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE5
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUgNHgxOQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJz
LWNvbXBsZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0CmluZGV4IDdl
YTVhNjEzMzE0ZC4uNTYyYjUxZjVjYjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50
LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsMTEz
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsMTEzKSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDExMykgd2lkdGggNDogIiAiCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDExMykgc2l6ZSA0eDE5Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDcxNiwxMTMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxMTYsMjU3KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDI1Nykgd2lk
dGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQ2LDI1Nykgc2l6ZSA0
eDE5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9j
bGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dAppbmRl
eCA1YmMyM2QzODE1ZTQuLjE3MzFhNjBjMDIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVj
dHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIg
IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzE2LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0
eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxNiwyMTkpIHNpemUgNHgxOQpAQCAtNDIsOCArNDEs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjE2
LDIxOSkgc2l6ZSA0eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDYxNiwyMTkpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiwyMTkpIHNpemUgNHgxOQot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMjE5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoOTYsMzQwKSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTYsMzQw
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOTYsMzQwKSBz
aXplIDR4MTkKQEAgLTU2LDggKzU0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQ5NiwzNDApIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDU5NiwzNDApIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVu
IGF0ICg1OTYsMzQwKSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg2OTYsMzQwKSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjk2LDM0MCkgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4
LDY0KSBzaXplIDExNng3NgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMCkgc2l6ZSAxMTZ4
NzYgW2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
bXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCA4MzEx
YWI0MWJjYzcuLjJiNzU3N2FhZjg5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIg
IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzE2LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0
eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUgNHgxOQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1y
ZWN0cy1leHBlY3RlZC50eHQKaW5kZXggZmMxNzBjMjJkZGYyLi5jYTM1OTdkODI2ZDggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGlj
b2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0aCA0
OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgxOAog
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkpIHNp
emUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBzaXplIDR4MTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1z
cGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dApp
bmRleCA2ZjU3NDVhMzdlN2IuLjJlYzM4ODJhZDUzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29s
L2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NDc2LDExNCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2
LDExNCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NiwxMTQpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiwxMTQpIHNpemUgNHgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTE2LDI1OCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwy
NTgpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0NiwyNTgp
IHNpemUgNHgxOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50
eHQKaW5kZXggZjg3MjhiYzEzMDlhLi4xYTk3OTdjMzU3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xp
ZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0
aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkp
IHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMTYsMjE5KSBzaXplIDR4MTgKQEAgLTQy
LDggKzQxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDUxNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDYxNiwyMTkpIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTYsMjE5KSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsMjE5KSBzaXpl
IDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDIxOSkgd2lkdGggNDogIiAiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDk2LDMzOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDk2LDMzOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2
LDMzOSkgc2l6ZSA0eDE4CkBAIC01Niw4ICs1NCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0OTYsMzM5KSB3aWR0aCA0OiAiICIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsMzM5KSBzaXplIDR4MTgKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNTk2LDMzOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjk2LDMzOSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDY5Niwz
MzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXll
ciBhdCAoOCw2Mykgc2l6ZSAxMTZ4NzYKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTApIHNp
emUgMTE2eDc2IFtjb2xvcj0jQUREOEU2XSBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKaW5k
ZXggZmMxNzBjMjJkZGYyLi5jYTM1OTdkODI2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0
aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkp
IHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBzaXplIDR4MTgK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463011</attachid>
            <date>2022-10-15 13:23:51 -0700</date>
            <delta_ts>2022-10-15 18:48:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-245766-20221015132350.patch</filename>
            <type>text/plain</type>
            <size>31401</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlYWI0MWZlYjVjYTg3NjE1ZTYyNmFhYjI2MGZhZjVmODg3ZjI2ZDI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBT
dW4sIDIgT2N0IDIwMjIgMTA6NTU6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbTEZDXVtJRkNd
IEVuYWJsZSBub24tcmVwbGFjZWQgb3V0LW9mLWZsb3cgcG9zaXRpb25lZCBjb250ZW50CiBmb3Ig
SUZDIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDU3NjYKClJldmll
d2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhpcyBwYXRjaCBlbmFibGVzIGhvcml6b250YWwvbHRy
IG91dC1vZi1mbG93IGNvbnRlbnQgZm9yIElGQy4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcDoKRml4
IGNhc2VzIHdoZXJlIHByZXZpb3VzIGluZmxvdyBib3gncyAob2Ygd2hpY2ggdGhlIG91dC1vZi1m
bG93IGJveCBpcyBiYXNlZCBvZmYpIGNvbnRlbnQgaXMgY29sbGFwc2VkIGFuZCBkb2VzIG5vdCBn
ZW5lcmF0ZSBhbnkgZGlzcGxheSBib3guIEluIHN1Y2ggY2FzZXMgd2UgZ28gYW5kIHVzZSB0aGUg
cHJldmlvdXMgYm94J3MgcHJldmlvdXMgc2libGluZyAoYW5kIHNvIG9uKS4KCiogTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3Bh
Z2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxl
eC1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
Y2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
OgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGlu
ZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQ6OmxheW91dEluRmxvd0NvbnRlbnQpOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0SW5GbG93Q29udGVudEZvckludGVncmF0aW9uKToKKFdl
YkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd0NvbnRlbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmg6CiogU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dl
b21ldHJ5LmNwcDoKKFdlYkNvcmU6OkxheW91dDo6Zmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3gpOgooV2ViQ29yZTo6TGF5b3V0OjpsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KToKKFdlYkNvcmU6OkxheW91dDo6cHJldmlvdXNEaXNwbGF5Qm94SW5kZXgpOgooV2ViQ29yZTo6
TGF5b3V0OjpuZXh0RGlzcGxheUJveEluZGV4KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
IGNvbnN0KToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0
aWNQb3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3ggY29uc3QpOgooKTogRGVsZXRlZC4K
KiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nR2VvbWV0cnkuaDoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHA6CihXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlv
bjo6Y2FuVXNlRm9yQ2hpbGQpOgotLS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwICAgICAgICB8ICAxMCArLQogLi4uL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5oICAgICAgICAgIHwgICAyICstCiAuLi4vaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRy
eS5jcHAgICAgICAgfCAxNDYgKysrKysrKysrKystLS0tLS0tCiAuLi4vaW5saW5lL0lubGluZUZv
cm1hdHRpbmdHZW9tZXRyeS5oICAgICAgICAgfCAgIDQgKy0KIC4uLi9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvbkNvdmVyYWdlLmNwcCB8ICAgNCArLQogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgMiArLQogLi4uL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgICAgICAgIHwgICAyICstCiAuLi4vZmFzdC9tdWx0aWNvbC9jbGllbnQt
cmVjdHMtZXhwZWN0ZWQudHh0ICAgfCAgIDMgKy0KIC4uLmNsaWVudC1yZWN0cy1zcGFubmVycy1j
b21wbGV4LWV4cGVjdGVkLnR4dCB8ICAgMyArLQogLi4uL2NsaWVudC1yZWN0cy1zcGFubmVycy1l
eHBlY3RlZC50eHQgICAgICAgIHwgICA5ICstCiAuLi4vbmV3bXVsdGljb2wvY2xpZW50LXJlY3Rz
LWV4cGVjdGVkLnR4dCAgICAgfCAgIDMgKy0KIC4uLi9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQgICB8ICAgMyArLQogLi4uY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBs
ZXgtZXhwZWN0ZWQudHh0IHwgICAzICstCiAuLi4vY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVj
dGVkLnR4dCAgICAgICAgfCAgIDkgKy0KIC4uLi9uZXdtdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhw
ZWN0ZWQudHh0ICAgICB8ICAgMyArLQogMTYgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMo
KyksIDk2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0LmNwcAppbmRleCBmNzZlNjI1MTA1MDcuLmM5YzZkZGI5NzAwZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTQw
LDcgKzE0MCw3IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dEluRmxvd0Nv
bnRlbnQoY29uc3QgQ29uc3RyYWludHNGb3JJbkZsb3dDb250CiAKICAgICBhdXRvJiBpbmxpbmVJ
dGVtcyA9IGZvcm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChp
bmxpbmVJdGVtcywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAg
IGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRl
KCkub3V0T2ZGbG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZG
bG93Q29udGVudChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0p
OwogICAgIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RC
b3hGb3JJbmxpbmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogICAgIExPR19X
SVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJbRW5kXSAtPiBp
bmxpbmUgZm9ybWF0dGluZyBjb250ZXh0IC0+IGZvcm1hdHRpbmcgcm9vdCgiIDw8ICZyb290KCkg
PDwgIikiKTsKIH0KQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIElubGluZUZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRJbkZsb3dDb250ZW50Rm9ySW50ZWdyYXRpb24oY29uc3QgQ29uc3RyYWludAog
ICAgIGNvbGxlY3RDb250ZW50SWZOZWVkZWQoKTsKICAgICBhdXRvJiBpbmxpbmVJdGVtcyA9IGZv
cm1hdHRpbmdTdGF0ZSgpLmlubGluZUl0ZW1zKCk7CiAgICAgbGluZUxheW91dChpbmxpbmVJdGVt
cywgeyAwLCBpbmxpbmVJdGVtcy5zaXplKCkgfSwgY29uc3RyYWludHMpOwotICAgIGNvbXB1dGVT
dGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQoZm9ybWF0dGluZ1N0YXRlKCkub3V0T2ZG
bG93Qm94ZXMoKSk7CisgICAgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93Q29udGVu
dChmb3JtYXR0aW5nU3RhdGUoKS5vdXRPZkZsb3dCb3hlcygpLCB7IGNvbnN0cmFpbnRzLmhvcml6
b250YWwoKS5sb2dpY2FsTGVmdCwgY29uc3RyYWludHMubG9naWNhbFRvcCgpIH0pOwogICAgIElu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJbmxp
bmVDb250ZW50KGZvcm1hdHRpbmdTdGF0ZSgpLmJveGVzKCkpOwogfQogCkBAIC0yNDQsNyArMjQ0
LDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChJbmxpbmVJdGVt
cyYgaW5saW5lSXRlbXMsIGNvbnN0IExpbmVCdWkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0NvbnRlbnQo
Y29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBvdXRPZkZsb3dCb3hlcykK
K3ZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVTdGF0aWNQb3NpdGlvbkZvck91
dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0JiBv
dXRPZkZsb3dCb3hlcywgTGF5b3V0UG9pbnQgY29udGVudEJveFRvcExlZnQpCiB7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiBjb21wdXRlcyB0aGUgc3RhdGljIHBvc2l0aW9uIGZvciBvdXQtb2YtZmxv
dyBjb250ZW50IGluc2lkZSB0aGUgaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICAvLyBB
cyBwZXIgc3BlYywgdGhlIHN0YXRpYyBwb3NpdGlvbiBvZiBhbiBvdXQtb2YtZmxvdyBib3ggaXMg
Y29tcHV0ZWQgYXMgaWYgdGhlIHBvc2l0aW9uIHdhcyBzZXQgdG8gc3RhdGljLgpAQCAtMjU2LDEw
ICsyNTYsMTAgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVN0YXRpY1Bv
c2l0aW9uRm9yT3V0T2ZGbG93Q29udGVudChjb25zdCBGb3IKIAogICAgIGZvciAoYXV0byYgb3V0
T2ZGbG93Qm94IDogb3V0T2ZGbG93Qm94ZXMpIHsKICAgICAgICAgaWYgKG91dE9mRmxvd0JveC0+
c3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSkgewotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmJveEdlb21ldHJ5KG91dE9mRmxvd0JveCkuc2V0TG9naWNhbFRvcExlZnQo
Zm9ybWF0dGluZ0dlb21ldHJ5LnN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93SW5saW5lTGV2ZWxC
b3gob3V0T2ZGbG93Qm94KSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChvdXRPZkZsb3dCb3gsIGNvbnRl
bnRCb3hUb3BMZWZ0KSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAg
ICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9w
TGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xl
dmVsQm94KG91dE9mRmxvd0JveCkpOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0
cnkob3V0T2ZGbG93Qm94KS5zZXRMb2dpY2FsVG9wTGVmdChmb3JtYXR0aW5nR2VvbWV0cnkuc3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KG91dE9mRmxvd0JveCwgY29udGVu
dEJveFRvcExlZnQpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IGRiNzNhMTFlNmI2MC4uY2RjM2NkN2FlZTdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3Jt
YXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTYwLDcg
KzYwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgbGluZUxheW91dChJbmxpbmVJ
dGVtcyYsIGNvbnN0IExpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUmFuZ2UmLCBjb25zdCBDb25zdHJh
aW50c0ZvckluRmxvd0NvbnRlbnQmKTsKLSAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbkZv
ck91dE9mRmxvd0NvbnRlbnQoY29uc3QgRm9ybWF0dGluZ1N0YXRlOjpPdXRPZkZsb3dCb3hMaXN0
Jik7CisgICAgdm9pZCBjb21wdXRlU3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dDb250ZW50KGNv
bnN0IEZvcm1hdHRpbmdTdGF0ZTo6T3V0T2ZGbG93Qm94TGlzdCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KTsKIAogICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1dpZHRoRm9yRm9ybWF0
dGluZ1Jvb3QoY29uc3QgQm94Jik7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBjb21wdXRlZEludHJp
bnNpY1dpZHRoRm9yQ29uc3RyYWludChJbnRyaW5zaWNXaWR0aE1vZGUpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAKaW5kZXggOGYx
ZjA5ZTdiMDU1Li41ZDgwMjE1MWQzODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lRm9ybWF0dGluZ0dlb21ldHJ5LmNwcApAQCAtMTk1LDk0ICsxOTUsMTIwIEBAIElubGluZUxh
eW91dFVuaXQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRlZFRleHRJbmRlbnQoSXNJ
bnRyaW5zaWNXaWR0aE1vCiAgICAgcmV0dXJuIHsgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHRleHRJ
bmRlbnQsIGF2YWlsYWJsZVdpZHRoKSB9OwogfQogCi1zdGF0aWMgc3RkOjp0dXBsZTxjb25zdCBJ
bmxpbmVEaXNwbGF5OjpCb3gqLCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gqPiBwcmV2aW91c0Fu
ZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorc3RhdGljIHN0ZDo6b3B0aW9uYWw8
c2l6ZV90PiBmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91
dEJveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCiB7Ci0gICAgLy8gQm90aCBw
cmV2aW91cyBmbG9hdCBhbmQgb3V0LW9mLWZsb3cgYm94ZXMgYXJlIHNraXBwZWQgaGVyZS4gQSBz
ZXJpZXMgb2YgYWRqb2luaW5nIG91dC1vZi1mbG93IGJveGVzIHNob3VsZCBhbGwgYmUgcGxhY2Vk
Ci0gICAgLy8gYXQgdGhlIHNhbWUgc3RhdGljIHBvc2l0aW9uICh0aGV5IGRvbid0IGFmZmVjdCBu
ZXh0LXNpYmxpbmcgcG9zaXRpb25zKSBhbmQgd2hpbGUgZmxvYXRzIGRvIHBhcnRpY2lwYXRlIGlu
IHRoZSBpbmxpbmUgbGF5b3V0Ci0gICAgLy8gdGhlaXIgcG9zaXRpb25zIGhhdmUgYWxyZWFkeSBi
ZWVuIHRha2VuIGludG8gYWNjb3VudCBkdXJpbmcgdGhlIGlubGluZSBsYXlvdXQuCi0gICAgYXV0
byBwcmV2aW91c0luRmxvd0JveCA9IFsmXSAoKSAtPiBjb25zdCBCb3gqIHsKLSAgICAgICAgaWYg
KGF1dG8qIHByZXZpb3VzSW5GbG93U2libGluZyA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxv
d1NpYmxpbmcoKSkKLSAgICAgICAgICAgIHJldHVybiBwcmV2aW91c0luRmxvd1NpYmxpbmc7Ci0g
ICAgICAgIC8vIFBhcmVudCBpcyBlaXRoZXIgdGhlIHJvb3QgaGVyZSBvciBhbm90aGVyIGlubGlu
ZSBib3ggKGUuZy4gPHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj48L3NwYW4+
KQotICAgICAgICBhdXRvJiBwYXJlbnQgPSBvdXRPZkZsb3dCb3gucGFyZW50KCk7Ci0gICAgICAg
IHJldHVybiBwYXJlbnQuaXNJbmxpbmVCb3goKSA/ICZwYXJlbnQgOiBudWxscHRyOwotICAgIH0o
KTsKLQotICAgIGlmICghcHJldmlvdXNJbkZsb3dCb3gpIHsKLSAgICAgICAgLy8gVGhpcyBpcyB0
aGUgZmlyc3QgY29udGVudC4gSXQgc2l0cyBvbiB0aGUgZWRnZSBvZiB0aGUgZmlyc3Qgcm9vdCBp
bmxpbmUgYm94LiBXZSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgdGhlIG5leHQgZGlzcGxheSBib3gu
Ci0gICAgICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICAvLyBGSVhNRTogQnVp
bGQgYSBmaXJzdC9sYXN0IGhhc2htYXAgZm9yIHRoZXNlIGJveGVzLgorICAgIGZvciAoc2l6ZV90
IGluZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CisgICAg
ICAgIGlmIChkaXNwbGF5Qm94ZXNbaW5kZXhdLmlzUm9vdElubGluZUJveCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGlmICgmZGlzcGxheUJveGVzW2luZGV4XS5sYXlvdXRCb3go
KSA9PSAmbGF5b3V0Qm94KQorICAgICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgIH0KKyAgICBy
ZXR1cm4geyB9OworfQogCi0gICAgLy8gVGhpcyBpcyBzdXBwb3NlZCB0byBmaW5kIHRoZSBsYXN0
IGRpc3BsYXkgYm94IG9mIHRoZSAiaW5mbG93Qm94IiBhbmQgcmV0dXJuIGl0IHdpdGggdGhlIG5l
eHQgZGlzcGxheSBib3ggKGZpcnN0IGJveCBvZiB0aGUgbmV4dCBpbmZsb3cgY29udGVudCkuCi0g
ICAgYXV0byBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZhbHNlOwotICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBkaXNwbGF5Qm94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CitzdGF0aWMg
c3RkOjpvcHRpb25hbDxzaXplX3Q+IGxhc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlvdXRCb3goY29u
c3QgQm94JiBsYXlvdXRCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQorewor
ICAgIC8vIEZJWE1FOiBCdWlsZCBhIGZpcnN0L2xhc3QgaGFzaG1hcCBmb3IgdGhlc2UgYm94ZXMu
CisgICAgZm9yIChhdXRvIGluZGV4ID0gZGlzcGxheUJveGVzLnNpemUoKTsgaW5kZXgtLTspIHsK
ICAgICAgICAgaWYgKGRpc3BsYXlCb3hlc1tpbmRleF0uaXNSb290SW5saW5lQm94KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94ICYmICZk
aXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpICE9IHByZXZpb3VzSW5GbG93Qm94KSB7Ci0g
ICAgICAgICAgICBBU1NFUlQoaW5kZXgpOwotICAgICAgICAgICAgcmV0dXJuIHsgJmRpc3BsYXlC
b3hlc1tpbmRleCAtIDFdLCAmZGlzcGxheUJveGVzW2luZGV4XSB9OworICAgICAgICBpZiAoJmRp
c3BsYXlCb3hlc1tpbmRleF0ubGF5b3V0Qm94KCkgPT0gJmxheW91dEJveCkKKyAgICAgICAgICAg
IHJldHVybiBpbmRleDsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleChjb25zdCBCb3gmIG91dE9m
Rmxvd0JveCwgY29uc3QgRGlzcGxheUJveGVzJiBkaXNwbGF5Qm94ZXMpCit7CisgICAgYXV0byBw
cmV2aW91c0Rpc3BsYXlCb3hJbmRleE9mID0gWyZdIChhdXRvJiBsYXlvdXRCb3gpIC0+IHN0ZDo6
b3B0aW9uYWw8c2l6ZV90PiB7CisgICAgICAgIGZvciAoYXV0byogYm94ID0gJmxheW91dEJveDsg
Ym94OyBib3ggPSBib3gtPnByZXZpb3VzSW5GbG93U2libGluZygpKSB7CisgICAgICAgICAgICBp
ZiAoYXV0byBkaXNwbGF5Qm94SW5kZXggPSBsYXN0RGlzcGxheUJveEluZGV4Rm9yTGF5b3V0Qm94
KCpib3gsIGRpc3BsYXlCb3hlcykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlCb3hJ
bmRleDsKICAgICAgICAgfQotICAgICAgICBmb3VuZEZpcnN0RGlzcGxheUJveCA9IGZvdW5kRmly
c3REaXNwbGF5Qm94IHx8ICZkaXNwbGF5Qm94ZXNbaW5kZXhdLmxheW91dEJveCgpID09IHByZXZp
b3VzSW5GbG93Qm94OworICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvKiBj
YW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wcmV2aW91c0luRmxvd1NpYmxpbmcoKTsKKyAgICBp
ZiAoIWNhbmlkYXRlQm94KQorICAgICAgICBjYW5pZGF0ZUJveCA9IG91dE9mRmxvd0JveC5wYXJl
bnQoKS5pc0lubGluZUJveCgpID8gJm91dE9mRmxvd0JveC5wYXJlbnQoKSA6IG51bGxwdHI7Cisg
ICAgd2hpbGUgKGNhbmlkYXRlQm94KSB7CisgICAgICAgIGlmIChhdXRvIGRpc3BsYXlCb3hJbmRl
eCA9IHByZXZpb3VzRGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKICAgICB9Ci0gICAgaWYgKGZvdW5kRmlyc3REaXNwbGF5Qm94KQotICAgICAgICByZXR1
cm4geyAmZGlzcGxheUJveGVzW2Rpc3BsYXlCb3hlcy5zaXplKCkgLSAxXSwgbnVsbHB0ciB9Owot
ICAgIHJldHVybiB7IG51bGxwdHIsIG51bGxwdHIgfTsKKyAgICByZXR1cm4geyB9OwogfQogCi1M
YXlvdXRQb2ludCBJbmxpbmVGb3JtYXR0aW5nR2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uRm9yT3V0
T2ZGbG93SW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gpIGNvbnN0CitzdGF0
aWMgc3RkOjpvcHRpb25hbDxzaXplX3Q+IG5leHREaXNwbGF5Qm94SW5kZXgoY29uc3QgQm94JiBv
dXRPZkZsb3dCb3gsIGNvbnN0IERpc3BsYXlCb3hlcyYgZGlzcGxheUJveGVzKQogewotICAgIEFT
U0VSVChvdXRPZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUlubGluZVR5cGUoKSk7
CisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4T2YgPSBbJl0gKGF1dG8mIGxheW91dEJveCkg
LT4gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsKKyAgICAgICAgZm9yIChhdXRvKiBib3ggPSAmbGF5
b3V0Qm94OyBib3g7IGJveCA9IGJveC0+bmV4dEluRmxvd1NpYmxpbmcoKSkgeworICAgICAgICAg
ICAgaWYgKGF1dG8gZGlzcGxheUJveEluZGV4ID0gZmlyc3REaXNwbGF5Qm94SW5kZXhGb3JMYXlv
dXRCb3goKmJveCwgZGlzcGxheUJveGVzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUJveEluZGV4OworICAgICAgICB9CisgICAgICAgIHJldHVybiB7IH07CisgICAgfTsKKworICAg
IGF1dG8qIGNhbmlkYXRlQm94ID0gb3V0T2ZGbG93Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCk7Cisg
ICAgaWYgKCFjYW5pZGF0ZUJveCkKKyAgICAgICAgY2FuaWRhdGVCb3ggPSBvdXRPZkZsb3dCb3gu
cGFyZW50KCkuaXNJbmxpbmVCb3goKSA/ICZvdXRPZkZsb3dCb3gucGFyZW50KCkgOiBudWxscHRy
OworICAgIHdoaWxlIChjYW5pZGF0ZUJveCkgeworICAgICAgICBpZiAoYXV0byBkaXNwbGF5Qm94
SW5kZXggPSBuZXh0RGlzcGxheUJveEluZGV4T2YoKmNhbmlkYXRlQm94KSkKKyAgICAgICAgICAg
IHJldHVybiBkaXNwbGF5Qm94SW5kZXg7CisgICAgICAgIGNhbmlkYXRlQm94ID0gY2FuaWRhdGVC
b3gtPnBhcmVudCgpLmlzSW5saW5lQm94KCkgPyAmY2FuaWRhdGVCb3gtPnBhcmVudCgpIDogbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KIAorTGF5b3V0UG9pbnQgSW5saW5lRm9y
bWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd0lubGluZUxldmVsQm94
KGNvbnN0IEJveCYgb3V0T2ZGbG93Qm94LCBMYXlvdXRQb2ludCBjb250ZW50Qm94VG9wTGVmdCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNPcmlnaW5hbERpc3Bs
YXlJbmxpbmVUeXBlKCkpOwogICAgIGF1dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdD
b250ZXh0KCkuZm9ybWF0dGluZ1N0YXRlKCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5n
U3RhdGUubGluZXMoKTsKICAgICBhdXRvJiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygp
OwogCi0gICAgYXV0byBbcHJldmlvdXNEaXNwbGF5Qm94LCBuZXh0RGlzcGxheUJveF0gPSBwcmV2
aW91c0FuZE5leHREaXNwbGF5Qm94Rm9yU3RhdGljUG9zaXRpb24ob3V0T2ZGbG93Qm94LCBib3hl
cyk7Ci0KLSAgICBpZiAoIXByZXZpb3VzRGlzcGxheUJveCAmJiAhbmV4dERpc3BsYXlCb3gpCisg
ICAgYXV0byBwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCA9IHByZXZp
b3VzRGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAgIGlmICghcHJldmlv
dXNEaXNwbGF5Qm94SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3gpCiAgICAgICAgIHJldHVybiB7IGJv
eGVzWzBdLmxlZnQoKSwgbGluZXNbMF0udG9wKCkgfTsKIAotICAgIGlmICghbmV4dERpc3BsYXlC
b3gpIHsKLSAgICAgICAgYXV0byYgY3VycmVudExpbmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlC
b3gtPmxpbmVJbmRleCgpXTsKLSAgICAgICAgYXV0byBzaG91bGRGaXRMaW5lID0gcHJldmlvdXNE
aXNwbGF5Qm94LT5yaWdodCgpIDw9IGN1cnJlbnRMaW5lLnJpZ2h0KCkgJiYgIXByZXZpb3VzRGlz
cGxheUJveC0+aXNMaW5lQnJlYWtCb3goKTsKLSAgICAgICAgcmV0dXJuIHNob3VsZEZpdExpbmUg
PyBMYXlvdXRQb2ludCB7IHByZXZpb3VzRGlzcGxheUJveC0+cmlnaHQoKSwgY3VycmVudExpbmUu
dG9wKCkgfSA6IExheW91dFBvaW50IHsgY3VycmVudExpbmUubGVmdCgpLCBjdXJyZW50TGluZS5i
b3R0b20oKSB9OworICAgIGF1dG8mIHByZXZpb3VzRGlzcGxheUJveCA9IGJveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF07CisgICAgYXV0byYgY3VycmVudExp
bmUgPSBsaW5lc1twcmV2aW91c0Rpc3BsYXlCb3gubGluZUluZGV4KCldOworICAgIGlmIChwcmV2
aW91c0Rpc3BsYXlCb3guaXNJbmxpbmVCb3goKSAmJiAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gubGF5b3V0Qm94KCkpIHsKKyAgICAgICAgLy8gU3BlY2lhbCBo
YW5kbGluZyBmb3IgY2FzZXMgd2hlbiB0aGlzIGlzIHRoZSBmaXJzdCBib3ggaW5zaWRlIGFuIGlu
bGluZSBib3g6CisgICAgICAgIC8vIDxkaXY+dGV4dDxzcGFuPjxpbWcgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZSI+Y29udGVudDwvc3Bhbj48L2Rpdj4KKyAgICAgICAgYXV0byYgaW5saW5lQm94
ID0gcHJldmlvdXNEaXNwbGF5Qm94LmxheW91dEJveCgpOworICAgICAgICBhdXRvIGZpcnN0RGlz
cGxheUJveCA9IGJveGVzWypmaXJzdERpc3BsYXlCb3hJbmRleEZvckxheW91dEJveChpbmxpbmVC
b3gsIGJveGVzKV07CisgICAgICAgIGF1dG8mIGlubGluZUJveEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVCb3gpOworICAgICAgICByZXR1cm4g
eyBMYXlvdXRVbml0KGZpcnN0RGlzcGxheUJveC5sZWZ0KCkpICsgaW5saW5lQm94Qm94R2VvbWV0
cnkuYm9yZGVyQW5kUGFkZGluZ1N0YXJ0KCksIGxpbmVzW2ZpcnN0RGlzcGxheUJveC5saW5lSW5k
ZXgoKV0udG9wKCkgfTsKICAgICB9CiAKLSAgICBpZiAocHJldmlvdXNEaXNwbGF5Qm94LT5pc0lu
bGluZUJveCgpKSB7Ci0gICAgICAgIC8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIGNhc2VzIHdoZW4g
dGhlIHByZXZpb3VzIGNvbnRlbnQgaXMgYW4gaW5saW5lIGJveDoKLSAgICAgICAgLy8gPGRpdj50
ZXh0PHNwYW4+PGltZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlIj5jb250ZW50PC9zcGFuPjwv
ZGl2PgotICAgICAgICAvLyBvcgotICAgICAgICAvLyA8ZGl2PnRleHQ8c3Bhbj5jb250ZW50PC9z
cGFuPjxpbWcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZSI+PC9kaXY+Ci0gICAgICAgIGF1dG8g
aXNGaXJzdENvbnRlbnRJbnNpZGVJbmxpbmVCb3ggPSAmb3V0T2ZGbG93Qm94LnBhcmVudCgpID09
ICZwcmV2aW91c0Rpc3BsYXlCb3gtPmxheW91dEJveCgpOwotICAgICAgICBhdXRvJiBpbmxpbmVC
b3hCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3gocHJldmlv
dXNEaXNwbGF5Qm94LT5sYXlvdXRCb3goKSk7Ci0KLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAg
ICAgIGlzRmlyc3RDb250ZW50SW5zaWRlSW5saW5lQm94ID8gQm94R2VvbWV0cnk6OmJvcmRlckJv
eExlZnQoaW5saW5lQm94Qm94R2VvbWV0cnkpICsgaW5saW5lQm94Qm94R2VvbWV0cnkuY29udGVu
dEJveExlZnQoKSA6IEJveEdlb21ldHJ5OjptYXJnaW5Cb3hSZWN0KGlubGluZUJveEJveEdlb21l
dHJ5KS5yaWdodCgpLAotICAgICAgICAgICAgbGluZXNbcHJldmlvdXNEaXNwbGF5Qm94LT5saW5l
SW5kZXgoKV0udG9wKCkKLSAgICAgICAgfTsKKyAgICBhdXRvIHByZXZpb3VzQm94T3ZlcmZsb3dz
ID0gcHJldmlvdXNEaXNwbGF5Qm94LnJpZ2h0KCkgPiBjdXJyZW50TGluZS5yaWdodCgpIHx8IHBy
ZXZpb3VzRGlzcGxheUJveC5pc0xpbmVCcmVha0JveCgpOworICAgIGlmICghcHJldmlvdXNCb3hP
dmVyZmxvd3MpCisgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGlzcGxheUJveC5yaWdodCgpLCBj
dXJyZW50TGluZS50b3AoKSB9OworCisgICAgYXV0byBuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJP
dXRPZkZsb3cgPSBuZXh0RGlzcGxheUJveEluZGV4KG91dE9mRmxvd0JveCwgYm94ZXMpOworICAg
IGlmICghbmV4dERpc3BsYXlCb3hJbmRleEFmdGVyT3V0T2ZGbG93KSB7CisgICAgICAgIC8vIFRo
aXMgaXMgdGhlIGxhc3QgY29udGVudCBvbiB0aGUgYmxvY2sgYW5kIGl0IGRvZXMgbm90IGZpdCB0
aGUgbGFzdCBsaW5lLgorICAgICAgICAvLyBGSVhNRTogVGhpcyBzdGlsbCBoYXMgbGluZSB0eW9l
IG9mIGNvbnN0cmFpbnRzIGxpa2UgdGV4dC1hbGlnbi4KKyAgICAgICAgcmV0dXJuIExheW91dFBv
aW50IHsgY29udGVudEJveFRvcExlZnQueCgpLCBjdXJyZW50TGluZS5ib3R0b20oKSB9OwogICAg
IH0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJveC0+bGlu
ZUluZGV4KCldOwotICAgIGF1dG8gc2hvdWxkRml0TGluZSA9IHByZXZpb3VzRGlzcGxheUJveC0+
bGluZUluZGV4KCkgPT0gbmV4dERpc3BsYXlCb3gtPmxpbmVJbmRleCgpIHx8IChwcmV2aW91c0Rp
c3BsYXlCb3gtPnJpZ2h0KCkgPD0gY3VycmVudExpbmUubGVmdCgpICYmICFwcmV2aW91c0Rpc3Bs
YXlCb3gtPmlzTGluZUJyZWFrQm94KCkpOwotICAgIHJldHVybiBzaG91bGRGaXRMaW5lID8gTGF5
b3V0UG9pbnQgeyBwcmV2aW91c0Rpc3BsYXlCb3gtPnJpZ2h0KCksIGN1cnJlbnRMaW5lLnRvcCgp
IH0gOiBMYXlvdXRQb2ludCB7IG5leHREaXNwbGF5Qm94LT5sZWZ0KCksIGxpbmVzW25leHREaXNw
bGF5Qm94LT5saW5lSW5kZXgoKV0udG9wKCkgfTsKKyAgICBhdXRvJiBuZXh0RGlzcGxheUJveCA9
IGJveGVzWypuZXh0RGlzcGxheUJveEluZGV4QWZ0ZXJPdXRPZkZsb3ddOworICAgIHJldHVybiB7
IG5leHREaXNwbGF5Qm94LmxlZnQoKSwgbGluZXNbbmV4dERpc3BsYXlCb3gubGluZUluZGV4KCld
LnRvcCgpIH07CiB9CiAKLUxheW91dFBvaW50IElubGluZUZvcm1hdHRpbmdHZW9tZXRyeTo6c3Rh
dGljUG9zaXRpb25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYgb3V0T2ZGbG93
Qm94KSBjb25zdAorTGF5b3V0UG9pbnQgSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5OjpzdGF0aWNQ
b3NpdGlvbkZvck91dE9mRmxvd0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JiBvdXRPZkZsb3dCb3gs
IExheW91dFBvaW50IGNvbnRlbnRCb3hUb3BMZWZ0KSBjb25zdAogewotICAgIEFTU0VSVChvdXRP
ZkZsb3dCb3guc3R5bGUoKS5pc09yaWdpbmFsRGlzcGxheUJsb2NrVHlwZSgpKTsKKyAgICBBU1NF
UlQob3V0T2ZGbG93Qm94LnN0eWxlKCkuaXNEaXNwbGF5QmxvY2tMZXZlbCgpKTsKIAogICAgIGF1
dG8mIGZvcm1hdHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZm9ybWF0dGluZ1N0YXRl
KCk7CiAgICAgYXV0byYgbGluZXMgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKTsKICAgICBhdXRv
JiBib3hlcyA9IGZvcm1hdHRpbmdTdGF0ZS5ib3hlcygpOwotCiAgICAgLy8gQmxvY2sgbGV2ZWwg
Ym94ZXMgYXJlIHBsYWNlZCB1bmRlciB0aGUgY3VycmVudCBsaW5lIGFzIGlmIHRoZXkgd2VyZSBu
b3JtYWwgaW5mbG93IGJsb2NrIGxldmVsIGJveGVzLgotICAgIGNvbnN0IElubGluZURpc3BsYXk6
OkJveCogcHJldmlvdXNEaXNwbGF5Qm94ID0gbnVsbHB0cjsKLSAgICBzdGQ6OnRpZShwcmV2aW91
c0Rpc3BsYXlCb3gsIHN0ZDo6aWdub3JlKSA9IHByZXZpb3VzQW5kTmV4dERpc3BsYXlCb3hGb3JT
dGF0aWNQb3NpdGlvbihvdXRPZkZsb3dCb3gsIGJveGVzKTsKLQotICAgIGlmICghcHJldmlvdXNE
aXNwbGF5Qm94KQotICAgICAgICByZXR1cm4geyBib3hlc1swXS5sZWZ0KCksIGxpbmVzWzBdLnRv
cCgpIH07Ci0KLSAgICBhdXRvJiBjdXJyZW50TGluZSA9IGxpbmVzW3ByZXZpb3VzRGlzcGxheUJv
eC0+bGluZUluZGV4KCldOwotICAgIHJldHVybiB7IGN1cnJlbnRMaW5lLmxlZnQoKSwgY3VycmVu
dExpbmUuYm90dG9tKCkgfTsKKyAgICBhdXRvIHByZXZpb3VzRGlzcGxheUJveEluZGV4QmVmb3Jl
T3V0T2ZGbG93Qm94ID0gcHJldmlvdXNEaXNwbGF5Qm94SW5kZXgob3V0T2ZGbG93Qm94LCBib3hl
cyk7CisgICAgaWYgKCFwcmV2aW91c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveCkK
KyAgICAgICAgcmV0dXJuIHsgY29udGVudEJveFRvcExlZnQueCgpLCBsaW5lc1swXS50b3AoKSB9
OworICAgIHJldHVybiB7IGNvbnRlbnRCb3hUb3BMZWZ0LngoKSwgcHJldmlvdXNEaXNwbGF5Qm94
SW5kZXhCZWZvcmVPdXRPZkZsb3dCb3ggPyBMYXlvdXRVbml0KGxpbmVzW2JveGVzWypwcmV2aW91
c0Rpc3BsYXlCb3hJbmRleEJlZm9yZU91dE9mRmxvd0JveF0ubGluZUluZGV4KCldLmJvdHRvbSgp
KSA6IGNvbnRlbnRCb3hUb3BMZWZ0LnkoKSB9OwogfQogCiBJbmxpbmVMYXlvdXRVbml0IElubGlu
ZUZvcm1hdHRpbmdHZW9tZXRyeTo6aW5pdGlhbExpbmVIZWlnaHQoYm9vbCBpc0ZpcnN0TGluZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0dlb21ldHJ5LmgK
aW5kZXggYTBkMDg1OWU5NzJmLi41YzBiYzcwMjc2NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUZvcm1hdHRpbmdHZW9t
ZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUZvcm1hdHRpbmdHZW9tZXRyeS5oCkBAIC01NSw4ICs1NSw4IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBJbmxpbmVSZWN0IGZsaXBWaXN1YWxSZWN0VG9Mb2dpY2FsRm9yV3JpdGlu
Z01vZGUoY29uc3QgSW5saW5lUmVjdCYgdmlzdWFsUmVjdCwgV3JpdGluZ01vZGUpOwogCi0gICAg
TGF5b3V0UG9pbnQgc3RhdGljUG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25z
dCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRQb2ludCBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxv
d0Jsb2NrTGV2ZWxCb3goY29uc3QgQm94JikgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGlj
UG9zaXRpb25Gb3JPdXRPZkZsb3dJbmxpbmVMZXZlbEJveChjb25zdCBCb3gmLCBMYXlvdXRQb2lu
dCBjb250ZW50Qm94VG9wTGVmdCkgY29uc3Q7CisgICAgTGF5b3V0UG9pbnQgc3RhdGljUG9zaXRp
b25Gb3JPdXRPZkZsb3dCbG9ja0xldmVsQm94KGNvbnN0IEJveCYsIExheW91dFBvaW50IGNvbnRl
bnRCb3hUb3BMZWZ0KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBjb25zdCBJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dD4oRm9ybWF0dGluZ0dlb21ldHJ5Ojpmb3JtYXR0aW5nQ29u
dGV4dCgpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCmluZGV4IGM2YjQ1YmI4MDk1
NC4uMWU1YzUwNjBmNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uQ292ZXJhZ2UuY3BwCkBAIC0zOTAs
OSArMzkwLDkgQEAgc3RhdGljIE9wdGlvblNldDxBdm9pZGFuY2VSZWFzb24+IGNhblVzZUZvckNo
aWxkKGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIEluY2wKICAgICAgICAgaWYgKHJlbmRlcmVy
LnN0eWxlKCkuc2hhcGVPdXRzaWRlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGlmIChyZW5kZXJlci5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAg
aWYgKCFpczxSZW5kZXJSZXBsYWNlZD4ocmVuZGVyZXIpKQorICAgICAgICAgICAgaWYgKCFyZW5k
ZXJlci5wYXJlbnQoKS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgIXJlbmRl
cmVyLnBhcmVudCgpLT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQo
KS0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgICAgICBpZiAoaXM8
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4ocmVuZGVyZXIucGFyZW50KCkpICYmIGRvd25jYXN0PFJl
bmRlckxheWVyTW9kZWxPYmplY3Q+KCpyZW5kZXJlci5wYXJlbnQoKSkuc2hvdWxkUGxhY2VWZXJ0
aWNhbFNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgICAgIC8vIFRoaXMgc2ltcGx5IGNoZWNrcyB0aGUgbm90LXlldCBzdXBwb3J0ZWQgY2Fz
ZSB3aGVuIHRoZSBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkCiAgICAgICAgICAgICAvLyBjb250ZW50
IGhhcyBhIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmUgY29udGFpbmluZyBibG9jayAoaGFz
IHRvIGNhbGwgY29udGFpbmVyIHRvIG5vdCBza2lwIFJlbmRlcklubGluZXMpLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNTQxN2FlM2U4MWNlLi5lY2VlZDdiMzg1MGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMjgwMCw2ICsyODAwLDcgQEAgd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFrL2xpbmUKIHdlYmtpdC5v
cmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQv
bGluZS1icmVhay9saW5lLWJyZWFrLXNoYXBpbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXRleHQvbGluZS1icmVha2luZy9saW5lLWJyZWFraW5nLTAxNi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0MjkwIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtpbmcvbGluZS1icmVha2luZy0wMTcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzI0NTkwNSBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9saW5lLWJyZWFraW5nL2xpbmUtYnJlYWtp
bmctMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTQyOTAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvb3ZlcmZsb3ctd3JhcC9v
dmVyZmxvdy13cmFwLW5vcm1hbC1rZWVwLWFsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdGV4dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAtc2hhcGluZy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDI5MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC9vdmVyZmxvdy13cmFwL292ZXJmbG93LXdyYXAt
c2hhcGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRy
ZWUtZXhwZWN0ZWQudHh0CmluZGV4IDhmMjUwNDZjYjc4MC4uZTUxMGM3YmE1OTE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdl
LWNhY2hlLWxheWVyLXRyZWUtZXhwZWN0ZWQudHh0CkBAIC02Miw3ICs2Miw3IEBAIFRoaXMgdGVz
dHMgdGhhdCBsYXllcnMgYXJlIHJlYnVpbHQgcHJvcGVybHkgYWZ0ZXIgdGhlIHBhZ2UgaXMgcmVz
dG9yZWQgZnJvbSB0aGUKICAgICAgICAgKQogICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAg
ICAgIChwb3NpdGlvbiA4LjAwIDI3NC4wMCkKLSAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjQu
MDApCisgICAgICAgICAgKGJvdW5kcyA3ODQuMDAgMjI4LjAwKQogICAgICAgICAgIChjaGlsZHJl
biAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAob2Zmc2V0RnJv
bVJlbmRlcmVyIHdpZHRoPS0yOCBoZWlnaHQ9LTI4KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJl
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2NvbXBvc2l0aW5n
L2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLWV4cGVjdGVkLnR4dAppbmRleCBiZGY5YmE3
Y2M5MTguLmU1NzZkMDM5YTIzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9jb21wb3NpdGluZy9pZnJhbWVz
L3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS1leHBlY3RlZC50eHQKQEAgLTYyLDcgKzYyLDcgQEAgVGhp
cyB0ZXN0cyB0aGF0IGxheWVycyBhcmUgcmVidWlsdCBwcm9wZXJseSBhZnRlciB0aGUgcGFnZSBp
cyByZXN0b3JlZCBmcm9tIHRoZQogICAgICAgICApCiAgICAgICAgIChHcmFwaGljc0xheWVyCiAg
ICAgICAgICAgKHBvc2l0aW9uIDguMDAgMjc3LjAwKQotICAgICAgICAgIChib3VuZHMgNzg0LjAw
IDIyNS4wMCkKKyAgICAgICAgICAoYm91bmRzIDc4NC4wMCAyMjguMDApCiAgICAgICAgICAgKGNo
aWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgIChvZmZz
ZXRGcm9tUmVuZGVyZXIgd2lkdGg9LTI4IGhlaWdodD0tMjgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4
cGVjdGVkLnR4dAppbmRleCA4MzExYWI0MWJjYzcuLjJiNzU3N2FhZjg5YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGll
bnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIgIgog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2
LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0eDE5
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUgNHgxOQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJz
LWNvbXBsZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0CmluZGV4IDdl
YTVhNjEzMzE0ZC4uNTYyYjUxZjVjYjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMtc3Bhbm5lcnMtY29tcGxleC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50
LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsMTEz
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsMTEzKSBz
aXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTk2LDExMykgd2lkdGggNDogIiAiCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE2LDExMykgc2l6ZSA0eDE5Ci0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDcxNiwxMTMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxMTYsMjU3KSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE2LDI1Nykgd2lk
dGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQ2LDI1Nykgc2l6ZSA0
eDE5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9j
bGllbnQtcmVjdHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dAppbmRl
eCA1YmMyM2QzODE1ZTQuLjE3MzFhNjBjMDIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVj
dHMtc3Bhbm5lcnMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIg
IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzE2LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0
eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxNiwyMTkpIHNpemUgNHgxOQpAQCAtNDIsOCArNDEs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NTE2LDIxOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjE2
LDIxOSkgc2l6ZSA0eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDYxNiwyMTkpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiwyMTkpIHNpemUgNHgxOQot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMjE5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoOTYsMzQwKSBzaXplIDR4MTkKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTYsMzQw
KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOTYsMzQwKSBz
aXplIDR4MTkKQEAgLTU2LDggKzU0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQ5NiwzNDApIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDU5NiwzNDApIHNpemUgNHgxOQogICAgICAgICAgIHRleHQgcnVu
IGF0ICg1OTYsMzQwKSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg2OTYsMzQwKSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjk2LDM0MCkgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4
LDY0KSBzaXplIDExNng3NgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMCkgc2l6ZSAxMTZ4
NzYgW2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
bXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAppbmRleCA4MzEx
YWI0MWJjYzcuLjJiNzU3N2FhZjg5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2Zhc3QvbXVsdGljb2wvbmV3bXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9tdWx0aWNvbC9uZXdtdWx0aWNvbC9j
bGllbnQtcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0yOCw4ICsyOCw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzYsOTgpIHdpZHRoIDQ6ICIg
IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5Niw5OCkgc2l6ZSA0eDE5CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5Niw5OCkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE2LDk4KSBzaXplIDR4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzE2LDk4KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2LDIxOSkgc2l6ZSA0
eDE5CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwNiwyMTkpIHNpemUgNHgxOQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1y
ZWN0cy1leHBlY3RlZC50eHQKaW5kZXggZmMxNzBjMjJkZGYyLi5jYTM1OTdkODI2ZDggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGlj
b2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0aCA0
OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgxOAog
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkpIHNp
emUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBzaXplIDR4MTgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1z
cGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dApp
bmRleCA2ZjU3NDVhMzdlN2IuLjJlYzM4ODJhZDUzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWNvbXBsZXgt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29s
L2NsaWVudC1yZWN0cy1zcGFubmVycy1jb21wbGV4LWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NDc2LDExNCkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTk2
LDExNCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5NiwxMTQpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiwxMTQpIHNpemUgNHgxOAot
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTYsMTE0KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTE2LDI1OCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwy
NTgpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0NiwyNTgp
IHNpemUgNHgxOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvY2xpZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBlY3RlZC50
eHQKaW5kZXggZjg3MjhiYzEzMDlhLi4xYTk3OTdjMzU3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2NsaWVudC1yZWN0cy1zcGFubmVycy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvY2xp
ZW50LXJlY3RzLXNwYW5uZXJzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0
aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkp
IHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMTYsMjE5KSBzaXplIDR4MTgKQEAgLTQy
LDggKzQxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDUxNiwyMTkpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDYxNiwyMTkpIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTYsMjE5KSB3
aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MTYsMjE5KSBzaXpl
IDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE2LDIxOSkgd2lkdGggNDogIiAiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDk2LDMzOSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDk2LDMzOSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk2
LDMzOSkgc2l6ZSA0eDE4CkBAIC01Niw4ICs1NCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0OTYsMzM5KSB3aWR0aCA0OiAiICIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsMzM5KSBzaXplIDR4MTgKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNTk2LDMzOSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjk2LDMzOSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDY5Niwz
MzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXll
ciBhdCAoOCw2Mykgc2l6ZSAxMTZ4NzYKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTApIHNp
emUgMTE2eDc2IFtjb2xvcj0jQUREOEU2XSBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDAwMDApXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3RlZC50eHQKaW5k
ZXggZmMxNzBjMjJkZGYyLi5jYTM1OTdkODI2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL25ld211bHRpY29sL2NsaWVudC1yZWN0cy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbmV3bXVs
dGljb2wvY2xpZW50LXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMjgsOCArMjgsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDc2LDk5KSB3aWR0
aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OTYsOTkpIHNpemUgNHgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICg1OTYsOTkpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNiw5OSkgc2l6ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDcxNiw5OSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwyMTkp
IHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMjE5KSB3aWR0aCA0OiAiICIK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDYsMjE5KSBzaXplIDR4MTgK
</data>

          </attachment>
      

    </bug>

</bugzilla>