<?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>233994</bug_id>
          
          <creation_ts>2021-12-08 01:43:22 -0800</creation_ts>
          <short_desc>GraphicsContextGLANGLE delivers context lost twice when reshape fails</short_desc>
          <delta_ts>2021-12-15 01:44:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821473</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 01:43:22 -0800</bug_when>
    <thetext>GraphicsContextGLANGLE delivers context lost twice when reshape fails</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821474</commentid>
    <comment_count>1</comment_count>
      <attachid>446334</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 01:51:07 -0800</bug_when>
    <thetext>Created attachment 446334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821477</commentid>
    <comment_count>2</comment_count>
      <attachid>446334</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-08 01:56:14 -0800</bug_when>
    <thetext>Comment on attachment 446334
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=446334&amp;action=review

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:387
&gt; +    // Returns true on success.
&gt;      bool reshapeFBOs(const IntSize&amp;);

enum class return type would requires less explanations

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:400
&gt; -    // Returns false if context should be lost due to timeout.
&gt; +    // Returns true on success. Returns false if context should be lost due to timeout.
&gt;      bool waitAndUpdateOldestFrame() WARN_UNUSED_RETURN;

here too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821482</commentid>
    <comment_count>3</comment_count>
      <attachid>446337</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 02:09:02 -0800</bug_when>
    <thetext>Created attachment 446337
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821498</commentid>
    <comment_count>4</comment_count>
      <attachid>446345</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 03:17:37 -0800</bug_when>
    <thetext>Created attachment 446345
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821705</commentid>
    <comment_count>5</comment_count>
      <attachid>446408</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 12:16:45 -0800</bug_when>
    <thetext>Created attachment 446408
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824285</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-15 01:44:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/86512404&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446334</attachid>
            <date>2021-12-08 01:51:07 -0800</date>
            <delta_ts>2021-12-08 02:08:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233994-20211208115105.patch</filename>
            <type>text/plain</type>
            <size>11037</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJmOWEyYWYyZGExYjFh
NjY0YWE3YTRlODE3NDhjZTA1ZThiOTkwNy4uYmFhNzA0YWI3ZDNlZGYwNTg2ZWNlOWMwM2VkMjYw
NTMyOTQxZjk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXB1cnBv
c2UgcmVzaGFwZUZCT3MgcmV0dXJuIHZhbHVlIHRvIHNpZ25pZnkgZXJyb3IgaW5zdGVhZCBvZgor
ICAgICAgICAibXVzdCByZWJpbmQgZmJvIi4KKyAgICAgICAgUHJldmlvdXNseSByZXNoYXBGQk9z
IHdvdWxkIGNvbnRpbnVlIGFmdGVyIHRoZSBjYWxsZWQgZnVuY3Rpb25zIHdvdWxkCisgICAgICAg
IGhhdmUgZXJyb3JzLiBUaGUgZnVuY3Rpb24gd291bGQgY2FsbCB0aGUgZm9yY2VDb250ZXh0TG9z
dCB1cG9uCisgICAgICAgIGZpcnN0IGVycm9yIGluIHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2lu
ZyBhbmQgdGhlbiBzZWNvbmQgdGltZQorICAgICAgICBpbiByZXNoYXBlRkJPcyBkdXJpbmcgbGFz
dCBlcnJvciBjaGVjayBgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKWAKKworICAgICAgICBSZW1v
dmUgbG9naWMgZm9yIGF2b2lkaW5nIHRoZSByZWJpbmQgb2YgY2xpZW50IGZib3MsIGFzIHRoYXQg
aXMgY3VycmVudGx5CisgICAgICAgIG5vdCBjb3JyZWN0IGluIGFsbCBicmFuY2hlcy4KKyAgICAg
ICAgSW5zdGVhZCwgYWx3YXlzIHJlYmluZCB0aGUgY2xpZW50IEZCTy4gQU5HTEUgd2lsbCBvcHRp
bWl6ZSB0aGVzZS4KKyAgICAgICAgTGF0ZXIgb24sIHN0YXRlIG1hbmFnZW1lbnQgY2FuIGJlIG1h
ZGUgbW9yZSBjb3JyZWN0IHdpdGggcmViaW5kIAorICAgICAgICBhdm9pZGFuY2UgdXNpbmcgbGFy
Z2VyIGRpcnR5IHN0YXRlIHN0b3JlLgorCisgICAgICAgIEFkZHMgYSB1bml0IHRlc3QgdGVzdGlu
ZyB0aGUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OnJlc2hhcGVGQk9zKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OmF0dGFjaERlcHRoQW5kU3RlbmNpbEJ1ZmZlcklmTmVlZGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hhcGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaDoKKwogMjAyMS0x
Mi0wNyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENv
Y29hIFdlYkdMIHNob3VsZCBzdXBwb3J0IFVJIHNpZGUgY29tcG9zaXRpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdM
QU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggNWM3ZGJiY2UzN2Q3ZTRmYTcwYzI5MDgzMTMyMmQ4
YzYwYmVjZjJmOS4uODIyNTUwNWY0ZTJmMWRlMjRjNmY3OTNmODZkNDU5YzEyZWUxMWNkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3ND
b250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTIyNSwyMCArMjI1LDE2IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYgc2l6
ZSkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBnbDo6QmluZFJlbmRlcmJ1ZmZl
cihHTF9SRU5ERVJCVUZGRVIsIDApOwotICAgICAgICBpZiAoZ2w6OkNoZWNrRnJhbWVidWZmZXJT
dGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7Ci0gICAg
ICAgICAgICAvLyBGSVhNRTogY2xlYW51cC4KLSAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGdsOjpDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZS
QU1FQlVGRkVSKSAhPSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICAvLyByZXNpemUgcmVndWxhciBGQk8KICAgICBnbDo6Qmlu
ZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBtX2Zibyk7CiAKLSAgICBpZiAoIXJlc2hhcGVE
aXNwbGF5QnVmZmVyQmFja2luZygpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFdlYkdMLCAiRmF0
YWw6IFVuYWJsZSB0byBhbGxvY2F0ZSBiYWNraW5nIHN0b3JlIG9mIHNpemUgJWQgeCAlZCIsIHdp
ZHRoLCBoZWlnaHQpOwotICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7Ci0gICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KKyAgICBpZiAoIXJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZygpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAobV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJU
ZXh0dXJlKSB7CiAgICAgICAgIC8vIFRoZSBjb250ZXh0IHJlcXVpcmVzIHRoZSB1c2Ugb2YgYW4g
aW50ZXJtZWRpYXRlIHRleHR1cmUgaW4gb3JkZXIgdG8gaW1wbGVtZW50CiAgICAgICAgIC8vIHBy
ZXNlcnZlRHJhd2luZ0J1ZmZlcjp0cnVlIHdpdGhvdXQgYW50aWFsaWFzaW5nLgpAQCAtMjU4LDIx
ICsyNTQsMTAgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRkJPcyhjb25z
dCBJbnRTaXplJiBzaXplKQogICAgICAgICBnbDo6RnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJB
TUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdl
dCgpLCBtX3RleHR1cmUsIDApOwogCiAgICAgYXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZO
ZWVkZWQobV9pbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0KLSAg
ICBib29sIG11c3RSZXN0b3JlRkJPID0gdHJ1ZTsKLSAgICBpZiAoYXR0cnMuYW50aWFsaWFzKSB7
Ci0gICAgICAgIGdsOjpCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG1fbXVsdGlzYW1w
bGVGQk8pOwotICAgICAgICBpZiAobV9zdGF0ZS5ib3VuZERyYXdGQk8gPT0gbV9tdWx0aXNhbXBs
ZUZCTyAmJiBtX3N0YXRlLmJvdW5kUmVhZEZCTyA9PSBtX211bHRpc2FtcGxlRkJPKQotICAgICAg
ICAgICAgbXVzdFJlc3RvcmVGQk8gPSBmYWxzZTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAo
bV9zdGF0ZS5ib3VuZERyYXdGQk8gPT0gbV9mYm8gJiYgbV9zdGF0ZS5ib3VuZFJlYWRGQk8gPT0g
bV9mYm8pCi0gICAgICAgICAgICBtdXN0UmVzdG9yZUZCTyA9IGZhbHNlOwotICAgIH0KLQotICAg
IHJldHVybiBtdXN0UmVzdG9yZUZCTzsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHRHTEFOR0xFOjphdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRlZChH
THVpbnQgaW50ZXJuYWxEZXB0aFN0ZW5jaWxGb3JtYXQsIGludCB3aWR0aCwgaW50IGhlaWdodCkK
K2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVy
SWZOZWVkZWQoR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpCiB7CiAgICAgYXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7CiAKQEAg
LTI5MiwxMCArMjc3LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjphdHRhY2hEZXB0
aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRlZChHTHVpbnQgaW50ZXJuYWwKICAgICAgICAgZ2w6OkJp
bmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCAwKTsKICAgICB9CiAKLSAgICBpZiAoZ2w6
OkNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVS
X0NPTVBMRVRFKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBjbGVhbnVwCi0gICAgICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgfQorICAgIGlmIChnbDo6Q2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9G
UkFNRUJVRkZFUikgIT0gR0xfRlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xF
OjpyZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJlY3QmIHJlY3QpCkBA
IC02MTAsNyArNTk0LDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZShp
bnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgVGVtcG9yYXJ5QU5HTEVTZXR0aW5nIHNjb3BlZERp
dGhlcihHTF9ESVRIRVIsIEdMX0ZBTFNFKTsKICAgICBTY29wZWRCdWZmZXJCaW5kaW5nIHNjb3Bl
ZFBpeGVsVW5wYWNrQnVmZmVyUmVzZXQoR0xfUElYRUxfVU5QQUNLX0JVRkZFUiwgMCwgbV9pc0Zv
cldlYkdMMik7CiAKLSAgICBib29sIG11c3RSZXN0b3JlRkJPID0gcmVzaGFwZUZCT3MoSW50U2l6
ZSh3aWR0aCwgaGVpZ2h0KSk7CisgICAgaWYgKCFyZXNoYXBlRkJPcyhJbnRTaXplKHdpZHRoLCBo
ZWlnaHQpKSkgeworICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKIAogICAgIC8v
IEluaXRpYWxpemUgcmVuZGVyYnVmZmVycyB0byAwLgpAQCAtNjU1LDExICs2NDMsOSBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQog
ICAgICAgICBnbDo6U3RlbmNpbE1hc2tTZXBhcmF0ZShHTF9CQUNLLCBzdGVuY2lsTWFza0JhY2sp
OwogICAgIH0KIAotICAgIGlmIChtdXN0UmVzdG9yZUZCTykgewotICAgICAgICBnbDo6QmluZEZy
YW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3VuZERy
YXdGQk8pOwotICAgICAgICBpZiAobV9pc0ZvcldlYkdMMiAmJiBtX3N0YXRlLmJvdW5kRHJhd0ZC
TyAhPSBtX3N0YXRlLmJvdW5kUmVhZEZCTykKLSAgICAgICAgICAgIGdsOjpCaW5kRnJhbWVidWZm
ZXIoR3JhcGhpY3NDb250ZXh0R0w6OlJFQURfRlJBTUVCVUZGRVIsIG1fc3RhdGUuYm91bmRSZWFk
RkJPKTsKLSAgICB9CisgICAgZ2w6OkJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHRHTDo6
RlJBTUVCVUZGRVIsIG1fc3RhdGUuYm91bmREcmF3RkJPKTsKKyAgICBpZiAobV9pc0ZvcldlYkdM
MiAmJiBtX3N0YXRlLmJvdW5kRHJhd0ZCTyAhPSBtX3N0YXRlLmJvdW5kUmVhZEZCTykKKyAgICAg
ICAgZ2w6OkJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHRHTDo6UkVBRF9GUkFNRUJVRkZF
UiwgbV9zdGF0ZS5ib3VuZFJlYWRGQk8pOwogCiAgICAgYXV0byBlcnJvciA9IGdsOjpHZXRFcnJv
cigpOwogICAgIGlmIChlcnJvciAhPSBHTF9OT19FUlJPUikgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0
R0xBTkdMRS5oCmluZGV4IDQzZDVkMjkwZGQ2ODJjYTU5NjU2MDExMGE2NmE1YTdkYThmODUyYTAu
LjAwNDY0NTg2NTNhZmVjNWY4NjU5ZDQzOWRjMTU3MDIxZWRiYTJmMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmgKQEAgLTM4MywxOCArMzgzLDIwIEBAIHByb3RlY3RlZDoKICAgICBz
dGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFkQ29tcG9zaXRlZFJlc3VsdHMoKTsKICAgICBz
dGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFkUGl4ZWxzRm9yUGFpbnRSZXN1bHRzKCk7CiAK
KyAgICAvLyBSZXR1cm5zIHRydWUgb24gc3VjY2Vzcy4KICAgICBib29sIHJlc2hhcGVGQk9zKGNv
bnN0IEludFNpemUmKTsKICAgICB2b2lkIHByZXBhcmVUZXh0dXJlSW1wbCgpOwogICAgIHZvaWQg
cmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiA9IEludFJlY3Qo
KSk7Ci0gICAgdm9pZCBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRlZChHQ0dMdWlu
dCBpbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKLQor
ICAgIC8vIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLgorICAgIGJvb2wgYXR0YWNoRGVwdGhBbmRT
dGVuY2lsQnVmZmVySWZOZWVkZWQoR0NHTHVpbnQgaW50ZXJuYWxEZXB0aFN0ZW5jaWxGb3JtYXQs
IGludCB3aWR0aCwgaW50IGhlaWdodCk7CisgICAgLy8gUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3Mu
CiAgICAgYm9vbCByZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICNpZiBQTEFURk9STShD
T0NPQSkKLSAgICBib29sIGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZm
ZXJCYWNraW5nKCk7CiAgICAgYm9vbCBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlx
dWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcik7CiAgICAgc3RhdGljIGJv
b2wgbWFrZUN1cnJlbnQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTERpc3BsYXksIFBsYXRmb3Jt
R3JhcGhpY3NDb250ZXh0R0wpOwogI2VuZGlmCi0gICAgLy8gUmV0dXJucyBmYWxzZSBpZiBjb250
ZXh0IHNob3VsZCBiZSBsb3N0IGR1ZSB0byB0aW1lb3V0LgorICAgIC8vIFJldHVybnMgdHJ1ZSBv
biBzdWNjZXNzLiBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxvc3QgZHVlIHRv
IHRpbWVvdXQuCiAgICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNF
RF9SRVRVUk47CiAKICAgICAvLyBQbGF0Zm9ybSBzcGVjaWZpYyBiZWhhdmlvciBmb3IgcmVsZWFz
ZVJlc291cmNlcygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDIwYzhiZThjYzE4N2FlZjg0ZmY2ZjNhZjc4YjVkZjc1MjczYmEzNTcuLmM1OTU4
OTU5MjY3MGNlOGFlNDNlN2I3ZWJhOThlOWNjYTdiZDRjZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMi0w
OCAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdyYXBo
aWNzQ29udGV4dEdMQU5HTEUgZGVsaXZlcnMgY29udGV4dCBsb3N0IHR3aWNlIHdoZW4gcmVzaGFw
ZSBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzOTk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgdGVzdCB0ZXN0aW5nIHRoYXQgaWYgYWxsb2NhdGlvbiBvZiB0aGUgYmFja2luZyBzdG9y
ZSBmYWlscywKKyAgICAgICAgZm9yY2VDb250ZXh0TG9zdCBHcmFwaGljc0NvbnRleHRHTDo6Q2xp
ZW50IGZ1bmN0aW9uIGlzIGNhbGxlZAorICAgICAgICBvbmNlIGFuZCBvbmx5IG9uY2UuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNzQ29u
dGV4dEdMQ29jb2EubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorCiAyMDIx
LTEyLTA3ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAg
Q29jb2EgV2ViR0wgc2hvdWxkIHN1cHBvcnQgVUkgc2lkZSBjb21wb3NpdGluZwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1Rlc3RHcmFwaGljc0Nv
bnRleHRHTENvY29hLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29h
L1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCmluZGV4IGUxOTExZGY2YzA5M2UzOGM4ZDQy
ZmExNzllZmQ1ZTc3MmVhNjVkYzQuLjA3OWZhYjJjOWFiY2QzZGY3MzBmNzVkYmNhY2I4NjEzMjdl
OGI5ZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2Nv
YS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0KQEAgLTQw
LDYgKzQwLDE4IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogbmFtZXNwYWNlIHsKIAor
Y2xhc3MgTW9ja0dyYXBoaWNzQ29udGV4dEdMQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEdMOjpDbGllbnQgeworcHVibGljOgorICAgIHZvaWQgZGlkQ29tcG9zaXRlKCkg
b3ZlcnJpZGUgeyBkaWRDb21wb3NpdGVDYWxsZWQrKzsgfTsKKyAgICB2b2lkIGZvcmNlQ29udGV4
dExvc3QoKSBvdmVycmlkZSB7IGZvcmNlQ29udGV4dExvc3RDYWxsZWQrKzsgfTsKKyAgICB2b2lk
IHJlY3ljbGVDb250ZXh0KCkgb3ZlcnJpZGUgeyByZWN5Y2xlQ29udGV4dENhbGxlZCsrOyB9Owor
ICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbigpIG92ZXJyaWRlIHsg
ZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbkNhbGxlZCsrOyB9CisgICAgaW50IGRp
ZENvbXBvc2l0ZUNhbGxlZCB7IDAgfTsKKyAgICBpbnQgZm9yY2VDb250ZXh0TG9zdENhbGxlZCB7
IDAgfTsKKyAgICBpbnQgcmVjeWNsZUNvbnRleHRDYWxsZWQgeyAwIH07CisgICAgaW50IGRpc3Bh
dGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb25DYWxsZWQgeyAwIH07Cit9OworICAgIAogY2xh
c3MgVGVzdGVkR3JhcGhpY3NDb250ZXh0R0xDb2NvYSA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHRHTENvY29hIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPFRlc3RlZEdyYXBo
aWNzQ29udGV4dEdMQ29jb2E+IGNyZWF0ZShXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmJiBhdHRyaWJ1dGVzKQpAQCAtNDgsMTEgKzYwLDIyIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIGNvbnRleHQ7CiAgICAgfQogICAgIFJlZlB0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q29udGVudHNEaXNwbGF5RGVsZWdhdGU+IGxheWVyQ29udGVudHNEaXNwbGF5RGVsZWdhdGUoKSBm
aW5hbCB7IHJldHVybiBudWxscHRyOyB9CisgICAgCisgICAgdm9pZCBzZXRGYWlsTmV4dERpc3Bs
YXlCdWZmZXJBbGxvY2F0aW9uRm9yVGVzdGluZygpIHsgbV9mYWlsTmV4dERpc3BsYXlCdWZmZXJB
bGxvY2F0aW9uRm9yVGVzdGluZyA9IHRydWU7IH0KK3Byb3RlY3RlZDoKKyAgICBib29sIGFsbG9j
YXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAg
IGlmIChtX2ZhaWxOZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xDb2NvYTo6YWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKKyAgICB9
CisKIHByaXZhdGU6CiAgICAgVGVzdGVkR3JhcGhpY3NDb250ZXh0R0xDb2NvYShXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmlidXRlcykKICAgICAgICAgOiBXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTENvY29hKFdURk1vdmUoYXR0cmlidXRlcykpCiAgICAgewogICAg
IH0KKyAgICBib29sIG1fZmFpbE5leHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3Rpbmcg
eyBmYWxzZSB9OwogfTsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0R0xDb2NvYVRlc3QgOiBwdWJs
aWMgOjp0ZXN0aW5nOjpUZXN0IHsKQEAgLTI0MSw2ICsyNjQsMTggQEAgVEVTVF9GKEdyYXBoaWNz
Q29udGV4dEdMQ29jb2FUZXN0LCBVbnJlY3ljbGVkRGlzcGxheUJ1ZmZlcnNOb0xlYWtzKQogICAg
IEVYUEVDVF9UUlVFKG1lbW9yeUZvb3RwcmludENoYW5nZWRCeShsYXN0Rm9vdHByaW50LCBmb290
cHJpbnRDaGFuZ2UsIGZvb3RwcmludEVycm9yKSk7CiB9CiAKK1RFU1RfRihHcmFwaGljc0NvbnRl
eHRHTENvY29hVGVzdCwgQWxsb2NhdGlvbkZhaWx1cmVPblJlc2hhcGVMb3Nlc0NvbnRleHQpCit7
CisgICAgYXV0byBjb250ZXh0ID0gY3JlYXRlRGVmYXVsdFRlc3RDb250ZXh0KHsgMjAsIDIwIH0p
OworICAgIEFTU0VSVF9ORShjb250ZXh0LCBudWxscHRyKTsKKyAgICBNb2NrR3JhcGhpY3NDb250
ZXh0R0xDbGllbnQgY2xpZW50OworICAgIGNvbnRleHQtPmFkZENsaWVudChjbGllbnQpOworICAg
IEVYUEVDVF9FUSgwLCBjbGllbnQuZm9yY2VDb250ZXh0TG9zdENhbGxlZCk7CisgICAgY29udGV4
dC0+c2V0RmFpbE5leHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3RpbmcoKTsKKyAgICBj
b250ZXh0LT5yZXNoYXBlKDE1LCAxNSk7CisgICAgRVhQRUNUX0VRKDEsIGNsaWVudC5mb3JjZUNv
bnRleHRMb3N0Q2FsbGVkKTsKK30KKwogfQogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446337</attachid>
            <date>2021-12-08 02:09:02 -0800</date>
            <delta_ts>2021-12-08 03:17:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233994-20211208120900.patch</filename>
            <type>text/plain</type>
            <size>11012</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYWM3ZTI2MTVhOGYz
MDA2ZTBhZmEwM2NiZGFiM2YxNTc3OGZmOC4uYjMzOWZjZGJiMjNhNWRlMzk5ZjdjZjUyZGYwNzJj
NDYyYjE5MmNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQK
KworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBSZXB1cnBv
c2UgcmVzaGFwZUZCT3MgcmV0dXJuIHZhbHVlIHRvIHNpZ25pZnkgZXJyb3IgaW5zdGVhZCBvZgor
ICAgICAgICAibXVzdCByZWJpbmQgZmJvIi4KKyAgICAgICAgUHJldmlvdXNseSByZXNoYXBGQk9z
IHdvdWxkIGNvbnRpbnVlIGFmdGVyIHRoZSBjYWxsZWQgZnVuY3Rpb25zIHdvdWxkCisgICAgICAg
IGhhdmUgZXJyb3JzLiBUaGUgZnVuY3Rpb24gd291bGQgY2FsbCB0aGUgZm9yY2VDb250ZXh0TG9z
dCB1cG9uCisgICAgICAgIGZpcnN0IGVycm9yIGluIHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2lu
ZyBhbmQgdGhlbiBzZWNvbmQgdGltZQorICAgICAgICBpbiByZXNoYXBlRkJPcyBkdXJpbmcgbGFz
dCBlcnJvciBjaGVjayBgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKWAKKworICAgICAgICBSZW1v
dmUgbG9naWMgZm9yIGF2b2lkaW5nIHRoZSByZWJpbmQgb2YgY2xpZW50IGZib3MsIGFzIHRoYXQg
aXMgY3VycmVudGx5CisgICAgICAgIG5vdCBjb3JyZWN0IGluIGFsbCBicmFuY2hlcy4KKyAgICAg
ICAgSW5zdGVhZCwgYWx3YXlzIHJlYmluZCB0aGUgY2xpZW50IEZCTy4gQU5HTEUgd2lsbCBvcHRp
bWl6ZSB0aGVzZS4KKyAgICAgICAgTGF0ZXIgb24sIHN0YXRlIG1hbmFnZW1lbnQgY2FuIGJlIG1h
ZGUgbW9yZSBjb3JyZWN0IHdpdGggcmViaW5kCisgICAgICAgIGF2b2lkYW5jZSB1c2luZyBsYXJn
ZXIgZGlydHkgc3RhdGUgc3RvcmUuCisKKyAgICAgICAgQWRkcyBhIHVuaXQgdGVzdCB0ZXN0aW5n
IHRoZSBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVzaGFwZUZCT3MpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorCiAyMDIxLTEy
LTA4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXSBFbmFibGUgbWVkaWFTb3VyY2VJbmxpbmVQYWludGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCA0ZTMwNmY0NTAwMjA2ODMyMGRlMGE2YTYxMDY5ZDAx
NDM1YjcwMmMxLi5lMzk1NzM2MWFlYzJkZWQwNjZiNjk4ODViZGZkYWZlYWIwMDZiNTI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtMjI1LDIwICsyMjUsMTYgQEAgYm9v
bCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRkJPcyhjb25zdCBJbnRTaXplJiBzaXpl
KQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIEdMX0JpbmRSZW5kZXJidWZmZXIo
R0xfUkVOREVSQlVGRkVSLCAwKTsKLSAgICAgICAgaWYgKEdMX0NoZWNrRnJhbWVidWZmZXJTdGF0
dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7Ci0gICAgICAg
ICAgICAvLyBGSVhNRTogY2xlYW51cC4KLSAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgICAgIH0KKyAgICAgICAgaWYgKEdMX0NoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xfRlJBTUVC
VUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIAogICAgIC8vIHJlc2l6ZSByZWd1bGFyIEZCTwogICAgIEdMX0JpbmRGcmFt
ZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbV9mYm8pOwogCi0gICAgaWYgKCFyZXNoYXBlRGlzcGxh
eUJ1ZmZlckJhY2tpbmcoKSkgewotICAgICAgICBSRUxFQVNFX0xPRyhXZWJHTCwgIkZhdGFsOiBV
bmFibGUgdG8gYWxsb2NhdGUgYmFja2luZyBzdG9yZSBvZiBzaXplICVkIHggJWQiLCB3aWR0aCwg
aGVpZ2h0KTsKLSAgICAgICAgZm9yY2VDb250ZXh0TG9zdCgpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9CisgICAgaWYgKCFyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyVGV4dHVy
ZSkgewogICAgICAgICAvLyBUaGUgY29udGV4dCByZXF1aXJlcyB0aGUgdXNlIG9mIGFuIGludGVy
bWVkaWF0ZSB0ZXh0dXJlIGluIG9yZGVyIHRvIGltcGxlbWVudAogICAgICAgICAvLyBwcmVzZXJ2
ZURyYXdpbmdCdWZmZXI6dHJ1ZSB3aXRob3V0IGFudGlhbGlhc2luZy4KQEAgLTI1OCwyMSArMjU0
LDEwIEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZUZCT3MoY29uc3QgSW50
U2l6ZSYgc2l6ZSkKICAgICAgICAgR0xfRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZG
RVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpLCBt
X3RleHR1cmUsIDApOwogCiAgICAgYXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQo
bV9pbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7Ci0KLSAgICBib29s
IG11c3RSZXN0b3JlRkJPID0gdHJ1ZTsKLSAgICBpZiAoYXR0cnMuYW50aWFsaWFzKSB7Ci0gICAg
ICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbV9tdWx0aXNhbXBsZUZCTyk7
Ci0gICAgICAgIGlmIChtX3N0YXRlLmJvdW5kRHJhd0ZCTyA9PSBtX211bHRpc2FtcGxlRkJPICYm
IG1fc3RhdGUuYm91bmRSZWFkRkJPID09IG1fbXVsdGlzYW1wbGVGQk8pCi0gICAgICAgICAgICBt
dXN0UmVzdG9yZUZCTyA9IGZhbHNlOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChtX3N0YXRl
LmJvdW5kRHJhd0ZCTyA9PSBtX2ZibyAmJiBtX3N0YXRlLmJvdW5kUmVhZEZCTyA9PSBtX2ZibykK
LSAgICAgICAgICAgIG11c3RSZXN0b3JlRkJPID0gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJu
IG11c3RSZXN0b3JlRkJPOworICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dEdMQU5HTEU6OmF0dGFjaERlcHRoQW5kU3RlbmNpbEJ1ZmZlcklmTmVlZGVkKEdMdWludCBp
bnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorYm9vbCBH
cmFwaGljc0NvbnRleHRHTEFOR0xFOjphdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRl
ZChHTHVpbnQgaW50ZXJuYWxEZXB0aFN0ZW5jaWxGb3JtYXQsIGludCB3aWR0aCwgaW50IGhlaWdo
dCkKIHsKICAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKIApAQCAtMjkyLDEw
ICsyNzcsOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OmF0dGFjaERlcHRoQW5kU3Rl
bmNpbEJ1ZmZlcklmTmVlZGVkKEdMdWludCBpbnRlcm5hbAogICAgICAgICBHTF9CaW5kUmVuZGVy
YnVmZmVyKEdMX1JFTkRFUkJVRkZFUiwgMCk7CiAgICAgfQogCi0gICAgaWYgKEdMX0NoZWNrRnJh
bWVidWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRF
KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBjbGVhbnVwCi0gICAgICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgfQorICAgIGlmIChHTF9DaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZSQU1FQlVGRkVS
KSAhPSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiB0cnVlOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc29sdmVN
dWx0aXNhbXBsaW5nSWZOZWNlc3NhcnkoY29uc3QgSW50UmVjdCYgcmVjdCkKQEAgLTYxMCw3ICs1
OTQsMTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlKGludCB3aWR0aCwg
aW50IGhlaWdodCkKICAgICBUZW1wb3JhcnlBTkdMRVNldHRpbmcgc2NvcGVkRGl0aGVyKEdMX0RJ
VEhFUiwgR0xfRkFMU0UpOwogICAgIFNjb3BlZEJ1ZmZlckJpbmRpbmcgc2NvcGVkUGl4ZWxVbnBh
Y2tCdWZmZXJSZXNldChHTF9QSVhFTF9VTlBBQ0tfQlVGRkVSLCAwLCBtX2lzRm9yV2ViR0wyKTsK
IAotICAgIGJvb2wgbXVzdFJlc3RvcmVGQk8gPSByZXNoYXBlRkJPcyhJbnRTaXplKHdpZHRoLCBo
ZWlnaHQpKTsKKyAgICBpZiAoIXJlc2hhcGVGQk9zKEludFNpemUod2lkdGgsIGhlaWdodCkpKSB7
CisgICAgICAgIGZvcmNlQ29udGV4dExvc3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIGF1dG8gYXR0cnMgPSBjb250ZXh0QXR0cmlidXRlcygpOwogCiAgICAgLy8gSW5pdGlhbGl6
ZSByZW5kZXJidWZmZXJzIHRvIDAuCkBAIC02NTUsMTEgKzY0Myw5IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0R0xBTkdMRTo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgICAgIEdM
X1N0ZW5jaWxNYXNrU2VwYXJhdGUoR0xfQkFDSywgc3RlbmNpbE1hc2tCYWNrKTsKICAgICB9CiAK
LSAgICBpZiAobXVzdFJlc3RvcmVGQk8pIHsKLSAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdy
YXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3VuZERyYXdGQk8pOwotICAg
ICAgICBpZiAobV9pc0ZvcldlYkdMMiAmJiBtX3N0YXRlLmJvdW5kRHJhd0ZCTyAhPSBtX3N0YXRl
LmJvdW5kUmVhZEZCTykKLSAgICAgICAgICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0Nv
bnRleHRHTDo6UkVBRF9GUkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3VuZFJlYWRGQk8pOwotICAgIH0K
KyAgICBHTF9CaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0R0w6OkZSQU1FQlVGRkVSLCBt
X3N0YXRlLmJvdW5kRHJhd0ZCTyk7CisgICAgaWYgKG1faXNGb3JXZWJHTDIgJiYgbV9zdGF0ZS5i
b3VuZERyYXdGQk8gIT0gbV9zdGF0ZS5ib3VuZFJlYWRGQk8pCisgICAgICAgIEdMX0JpbmRGcmFt
ZWJ1ZmZlcihHcmFwaGljc0NvbnRleHRHTDo6UkVBRF9GUkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3Vu
ZFJlYWRGQk8pOwogCiAgICAgYXV0byBlcnJvciA9IEdMX0dldEVycm9yKCk7CiAgICAgaWYgKGVy
cm9yICE9IEdMX05PX0VSUk9SKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXgg
NDNkNWQyOTBkZDY4MmNhNTk2NTYwMTEwYTY2YTVhN2RhOGY4NTJhMC4uMDA0NjQ1ODY1M2FmZWM1
Zjg2NTlkNDM5ZGMxNTcwMjFlZGJhMmYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUu
aApAQCAtMzgzLDE4ICszODMsMjAgQEAgcHJvdGVjdGVkOgogICAgIHN0ZDo6b3B0aW9uYWw8UGl4
ZWxCdWZmZXI+IHJlYWRDb21wb3NpdGVkUmVzdWx0cygpOwogICAgIHN0ZDo6b3B0aW9uYWw8UGl4
ZWxCdWZmZXI+IHJlYWRQaXhlbHNGb3JQYWludFJlc3VsdHMoKTsKIAorICAgIC8vIFJldHVybnMg
dHJ1ZSBvbiBzdWNjZXNzLgogICAgIGJvb2wgcmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYpOwog
ICAgIHZvaWQgcHJlcGFyZVRleHR1cmVJbXBsKCk7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1w
bGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKLSAgICB2b2lkIGF0
dGFjaERlcHRoQW5kU3RlbmNpbEJ1ZmZlcklmTmVlZGVkKEdDR0x1aW50IGludGVybmFsRGVwdGhT
dGVuY2lsRm9ybWF0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotCisgICAgLy8gUmV0dXJucyB0
cnVlIG9uIHN1Y2Nlc3MuCisgICAgYm9vbCBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5l
ZWRlZChHQ0dMdWludCBpbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKKyAgICAvLyBSZXR1cm5zIHRydWUgb24gc3VjY2Vzcy4KICAgICBib29sIHJlc2hh
cGVEaXNwbGF5QnVmZmVyQmFja2luZygpOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wg
YWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKICAg
ICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNl
PiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKICAgICBzdGF0aWMgYm9vbCBtYWtlQ3VycmVudChQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSwgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRH
TCk7CiAjZW5kaWYKLSAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxv
c3QgZHVlIHRvIHRpbWVvdXQuCisgICAgLy8gUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MuIFJldHVy
bnMgZmFsc2UgaWYgY29udGV4dCBzaG91bGQgYmUgbG9zdCBkdWUgdG8gdGltZW91dC4KICAgICBi
b29sIHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpIFdBUk5fVU5VU0VEX1JFVFVSTjsKIAogICAg
IC8vIFBsYXRmb3JtIHNwZWNpZmljIGJlaGF2aW9yIGZvciByZWxlYXNlUmVzb3VyY2VzKCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTNkZmQz
ZDBlYzExODQwNjVlODhjZDcwMzJmMjYxOTBhN2E2YjRhZS4uMTRhMmRlYjg3MTRlMWUzMTIyYzE2
ODg5ZmFkNDhiZWYwNWM1ZjM4YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTA4ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgYSB0ZXN0IHRlc3Rp
bmcgdGhhdCBpZiBhbGxvY2F0aW9uIG9mIHRoZSBiYWNraW5nIHN0b3JlIGZhaWxzLAorICAgICAg
ICBmb3JjZUNvbnRleHRMb3N0IEdyYXBoaWNzQ29udGV4dEdMOjpDbGllbnQgZnVuY3Rpb24gaXMg
Y2FsbGVkCisgICAgICAgIG9uY2UgYW5kIG9ubHkgb25jZS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMjEtMTItMDcgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBpbml0aWFs
IHN1cHBvcnQgZm9yIGZpbmQtaW4tcGFnZSBTUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250
ZXh0R0xDb2NvYS5tbQppbmRleCBlMTkxMWRmNmMwOTNlMzhjOGQ0MmZhMTc5ZWZkNWU3NzJlYTY1
ZGM0Li5iMWUzNWFmZWM4ZTA1NzhkZmZiNjRlYmI3ZGViMzJjMWI2M2E4NzNiIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNzQ29u
dGV4dEdMQ29jb2EubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2Nv
Y29hL1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCkBAIC00MCw2ICs0MCwxOCBAQCBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIG5hbWVzcGFjZSB7CiAKK2NsYXNzIE1vY2tHcmFwaGlj
c0NvbnRleHRHTENsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTDo6Q2xp
ZW50IHsKK3B1YmxpYzoKKyAgICB2b2lkIGRpZENvbXBvc2l0ZSgpIG92ZXJyaWRlIHsgZGlkQ29t
cG9zaXRlQ2FsbGVkKys7IH07CisgICAgdm9pZCBmb3JjZUNvbnRleHRMb3N0KCkgb3ZlcnJpZGUg
eyBmb3JjZUNvbnRleHRMb3N0Q2FsbGVkKys7IH07CisgICAgdm9pZCByZWN5Y2xlQ29udGV4dCgp
IG92ZXJyaWRlIHsgcmVjeWNsZUNvbnRleHRDYWxsZWQrKzsgfTsKKyAgICB2b2lkIGRpc3BhdGNo
Q29udGV4dENoYW5nZWROb3RpZmljYXRpb24oKSBvdmVycmlkZSB7IGRpc3BhdGNoQ29udGV4dENo
YW5nZWROb3RpZmljYXRpb25DYWxsZWQrKzsgfQorICAgIGludCBkaWRDb21wb3NpdGVDYWxsZWQg
eyAwIH07CisgICAgaW50IGZvcmNlQ29udGV4dExvc3RDYWxsZWQgeyAwIH07CisgICAgaW50IHJl
Y3ljbGVDb250ZXh0Q2FsbGVkIHsgMCB9OworICAgIGludCBkaXNwYXRjaENvbnRleHRDaGFuZ2Vk
Tm90aWZpY2F0aW9uQ2FsbGVkIHsgMCB9OworfTsKKwogY2xhc3MgVGVzdGVkR3JhcGhpY3NDb250
ZXh0R0xDb2NvYSA6IHB1YmxpYyBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENvY29hIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPFRlc3RlZEdyYXBoaWNzQ29udGV4dEdMQ29jb2E+IGNy
ZWF0ZShXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmJiBhdHRyaWJ1dGVzKQpA
QCAtNDgsMTEgKzYwLDIyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNvbnRleHQ7CiAgICAg
fQogICAgIFJlZlB0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyQ29udGVudHNEaXNwbGF5RGVsZWdh
dGU+IGxheWVyQ29udGVudHNEaXNwbGF5RGVsZWdhdGUoKSBmaW5hbCB7IHJldHVybiBudWxscHRy
OyB9CisKKyAgICB2b2lkIHNldEZhaWxOZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0
aW5nKCkgeyBtX2ZhaWxOZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nID0gdHJ1
ZTsgfQorcHJvdGVjdGVkOgorICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJh
Y2tpbmcoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgaWYgKG1fZmFpbE5leHREaXNwbGF5QnVm
ZmVyQWxsb2NhdGlvbkZvclRlc3RpbmcpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENvY29hOjphbGxvY2F0ZUFuZEJp
bmREaXNwbGF5QnVmZmVyQmFja2luZygpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBUZXN0ZWRH
cmFwaGljc0NvbnRleHRHTENvY29hKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRl
cyBhdHRyaWJ1dGVzKQogICAgICAgICA6IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ29jb2Eo
V1RGTW92ZShhdHRyaWJ1dGVzKSkKICAgICB7CiAgICAgfQorICAgIGJvb2wgbV9mYWlsTmV4dERp
c3BsYXlCdWZmZXJBbGxvY2F0aW9uRm9yVGVzdGluZyB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBH
cmFwaGljc0NvbnRleHRHTENvY29hVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgewpAQCAt
MjQxLDYgKzI2NCwxOCBAQCBURVNUX0YoR3JhcGhpY3NDb250ZXh0R0xDb2NvYVRlc3QsIFVucmVj
eWNsZWREaXNwbGF5QnVmZmVyc05vTGVha3MpCiAgICAgRVhQRUNUX1RSVUUobWVtb3J5Rm9vdHBy
aW50Q2hhbmdlZEJ5KGxhc3RGb290cHJpbnQsIGZvb3RwcmludENoYW5nZSwgZm9vdHByaW50RXJy
b3IpKTsKIH0KIAorVEVTVF9GKEdyYXBoaWNzQ29udGV4dEdMQ29jb2FUZXN0LCBBbGxvY2F0aW9u
RmFpbHVyZU9uUmVzaGFwZUxvc2VzQ29udGV4dCkKK3sKKyAgICBhdXRvIGNvbnRleHQgPSBjcmVh
dGVEZWZhdWx0VGVzdENvbnRleHQoeyAyMCwgMjAgfSk7CisgICAgQVNTRVJUX05FKGNvbnRleHQs
IG51bGxwdHIpOworICAgIE1vY2tHcmFwaGljc0NvbnRleHRHTENsaWVudCBjbGllbnQ7CisgICAg
Y29udGV4dC0+YWRkQ2xpZW50KGNsaWVudCk7CisgICAgRVhQRUNUX0VRKDAsIGNsaWVudC5mb3Jj
ZUNvbnRleHRMb3N0Q2FsbGVkKTsKKyAgICBjb250ZXh0LT5zZXRGYWlsTmV4dERpc3BsYXlCdWZm
ZXJBbGxvY2F0aW9uRm9yVGVzdGluZygpOworICAgIGNvbnRleHQtPnJlc2hhcGUoMTUsIDE1KTsK
KyAgICBFWFBFQ1RfRVEoMSwgY2xpZW50LmZvcmNlQ29udGV4dExvc3RDYWxsZWQpOworfQorCiB9
CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446345</attachid>
            <date>2021-12-08 03:17:37 -0800</date>
            <delta_ts>2021-12-08 12:16:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233994-20211208131735.patch</filename>
            <type>text/plain</type>
            <size>18589</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYWM3ZTI2MTVhOGYz
MDA2ZTBhZmEwM2NiZGFiM2YxNTc3OGZmOC4uYjMzOWZjZGJiMjNhNWRlMzk5ZjdjZjUyZGYwNzJj
NDYyYjE5MmNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQK
KworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBSZXB1cnBv
c2UgcmVzaGFwZUZCT3MgcmV0dXJuIHZhbHVlIHRvIHNpZ25pZnkgZXJyb3IgaW5zdGVhZCBvZgor
ICAgICAgICAibXVzdCByZWJpbmQgZmJvIi4KKyAgICAgICAgUHJldmlvdXNseSByZXNoYXBGQk9z
IHdvdWxkIGNvbnRpbnVlIGFmdGVyIHRoZSBjYWxsZWQgZnVuY3Rpb25zIHdvdWxkCisgICAgICAg
IGhhdmUgZXJyb3JzLiBUaGUgZnVuY3Rpb24gd291bGQgY2FsbCB0aGUgZm9yY2VDb250ZXh0TG9z
dCB1cG9uCisgICAgICAgIGZpcnN0IGVycm9yIGluIHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2lu
ZyBhbmQgdGhlbiBzZWNvbmQgdGltZQorICAgICAgICBpbiByZXNoYXBlRkJPcyBkdXJpbmcgbGFz
dCBlcnJvciBjaGVjayBgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKWAKKworICAgICAgICBSZW1v
dmUgbG9naWMgZm9yIGF2b2lkaW5nIHRoZSByZWJpbmQgb2YgY2xpZW50IGZib3MsIGFzIHRoYXQg
aXMgY3VycmVudGx5CisgICAgICAgIG5vdCBjb3JyZWN0IGluIGFsbCBicmFuY2hlcy4KKyAgICAg
ICAgSW5zdGVhZCwgYWx3YXlzIHJlYmluZCB0aGUgY2xpZW50IEZCTy4gQU5HTEUgd2lsbCBvcHRp
bWl6ZSB0aGVzZS4KKyAgICAgICAgTGF0ZXIgb24sIHN0YXRlIG1hbmFnZW1lbnQgY2FuIGJlIG1h
ZGUgbW9yZSBjb3JyZWN0IHdpdGggcmViaW5kCisgICAgICAgIGF2b2lkYW5jZSB1c2luZyBsYXJn
ZXIgZGlydHkgc3RhdGUgc3RvcmUuCisKKyAgICAgICAgQWRkcyBhIHVuaXQgdGVzdCB0ZXN0aW5n
IHRoZSBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVzaGFwZUZCT3MpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorCiAyMDIxLTEy
LTA4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXSBFbmFibGUgbWVkaWFTb3VyY2VJbmxpbmVQYWludGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCA0ZTMwNmY0NTAwMjA2ODMyMGRlMGE2YTYxMDY5ZDAx
NDM1YjcwMmMxLi4wZmRjZjJjNTIxMWViYTMwZmVkODE4ZjZhNjhmNDk3ZmRmMGZjMTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6dmFsaWRhdGVBdHRyaWJ1dGVzKCkKICAgICB2YWxpZGF0
ZURlcHRoU3RlbmNpbChwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lKTsKIH0KIAotYm9v
bCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRkJPcyhjb25zdCBJbnRTaXplJiBzaXpl
KQorR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6UmVzdWx0IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6
OnJlc2hhcGVGQk9zKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgYXV0byBhdHRycyA9IGNv
bnRleHRBdHRyaWJ1dGVzKCk7CiAgICAgY29uc3QgaW50IHdpZHRoID0gc2l6ZS53aWR0aCgpOwpA
QCAtMjI1LDIwICsyMjUsMTYgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBl
RkJPcyhjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
ICAgIEdMX0JpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCAwKTsKLSAgICAgICAgaWYg
KEdMX0NoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVG
RkVSX0NPTVBMRVRFKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogY2xlYW51cC4KLSAgICAgICAg
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKEdMX0NoZWNrRnJh
bWVidWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRF
KQorICAgICAgICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKICAgICB9CiAKICAgICAvLyBy
ZXNpemUgcmVndWxhciBGQk8KICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIs
IG1fZmJvKTsKIAotICAgIGlmICghcmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkpIHsKLSAg
ICAgICAgUkVMRUFTRV9MT0coV2ViR0wsICJGYXRhbDogVW5hYmxlIHRvIGFsbG9jYXRlIGJhY2tp
bmcgc3RvcmUgb2Ygc2l6ZSAlZCB4ICVkIiwgd2lkdGgsIGhlaWdodCk7Ci0gICAgICAgIGZvcmNl
Q29udGV4dExvc3QoKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGlmIChyZXNo
YXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKSA9PSBSZXN1bHQ6OkZhaWx1cmUpCisgICAgICAgIHJl
dHVybiBSZXN1bHQ6OkZhaWx1cmU7CisKICAgICBpZiAobV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJU
ZXh0dXJlKSB7CiAgICAgICAgIC8vIFRoZSBjb250ZXh0IHJlcXVpcmVzIHRoZSB1c2Ugb2YgYW4g
aW50ZXJtZWRpYXRlIHRleHR1cmUgaW4gb3JkZXIgdG8gaW1wbGVtZW50CiAgICAgICAgIC8vIHBy
ZXNlcnZlRHJhd2luZ0J1ZmZlcjp0cnVlIHdpdGhvdXQgYW50aWFsaWFzaW5nLgpAQCAtMjU5LDE3
ICsyNTUsOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hhcGVGQk9zKGNvbnN0
IEludFNpemUmIHNpemUpCiAKICAgICBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5lZWRl
ZChtX2ludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0KTsKIAotICAgIGJv
b2wgbXVzdFJlc3RvcmVGQk8gPSB0cnVlOwotICAgIGlmIChhdHRycy5hbnRpYWxpYXMpIHsKLSAg
ICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBtX211bHRpc2FtcGxlRkJP
KTsKLSAgICAgICAgaWYgKG1fc3RhdGUuYm91bmREcmF3RkJPID09IG1fbXVsdGlzYW1wbGVGQk8g
JiYgbV9zdGF0ZS5ib3VuZFJlYWRGQk8gPT0gbV9tdWx0aXNhbXBsZUZCTykKLSAgICAgICAgICAg
IG11c3RSZXN0b3JlRkJPID0gZmFsc2U7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKG1fc3Rh
dGUuYm91bmREcmF3RkJPID09IG1fZmJvICYmIG1fc3RhdGUuYm91bmRSZWFkRkJPID09IG1fZmJv
KQotICAgICAgICAgICAgbXVzdFJlc3RvcmVGQk8gPSBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gbXVzdFJlc3RvcmVGQk87CisgICAgaWYgKEdMX0NoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xf
RlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgICAgICByZXR1cm4g
UmVzdWx0OjpGYWlsdXJlOworICAgIHJldHVybiBSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKIHZvaWQg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVk
ZWQoR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQgd2lkdGgsIGludCBoZWln
aHQpCkBAIC0yOTEsMTEgKzI3OSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YXR0
YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQoR0x1aW50IGludGVybmFsCiAgICAgICAg
IH0KICAgICAgICAgR0xfQmluZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIDApOwogICAg
IH0KLQotICAgIGlmIChHTF9DaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZSQU1FQlVGRkVSKSAh
PSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkgewotICAgICAgICAvLyBGSVhNRTogY2xlYW51cAot
ICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIH0KIH0KIAogdm9pZCBHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjpyZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJlY3Qm
IHJlY3QpCkBAIC02MTAsNyArNTkzLDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6
cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgVGVtcG9yYXJ5QU5HTEVTZXR0aW5n
IHNjb3BlZERpdGhlcihHTF9ESVRIRVIsIEdMX0ZBTFNFKTsKICAgICBTY29wZWRCdWZmZXJCaW5k
aW5nIHNjb3BlZFBpeGVsVW5wYWNrQnVmZmVyUmVzZXQoR0xfUElYRUxfVU5QQUNLX0JVRkZFUiwg
MCwgbV9pc0ZvcldlYkdMMik7CiAKLSAgICBib29sIG11c3RSZXN0b3JlRkJPID0gcmVzaGFwZUZC
T3MoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CisgICAgaWYgKHJlc2hhcGVGQk9zKHsgd2lkdGgs
IGhlaWdodCB9KSA9PSBSZXN1bHQ6OkZhaWx1cmUpIHsKKyAgICAgICAgZm9yY2VDb250ZXh0TG9z
dCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYXV0byBhdHRycyA9IGNvbnRleHRB
dHRyaWJ1dGVzKCk7CiAKICAgICAvLyBJbml0aWFsaXplIHJlbmRlcmJ1ZmZlcnMgdG8gMC4KQEAg
LTY1NSwxMSArNjQyLDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlKGlu
dCB3aWR0aCwgaW50IGhlaWdodCkKICAgICAgICAgR0xfU3RlbmNpbE1hc2tTZXBhcmF0ZShHTF9C
QUNLLCBzdGVuY2lsTWFza0JhY2spOwogICAgIH0KIAotICAgIGlmIChtdXN0UmVzdG9yZUZCTykg
ewotICAgICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0R0w6OkZSQU1FQlVG
RkVSLCBtX3N0YXRlLmJvdW5kRHJhd0ZCTyk7Ci0gICAgICAgIGlmIChtX2lzRm9yV2ViR0wyICYm
IG1fc3RhdGUuYm91bmREcmF3RkJPICE9IG1fc3RhdGUuYm91bmRSZWFkRkJPKQotICAgICAgICAg
ICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdMOjpSRUFEX0ZSQU1FQlVGRkVS
LCBtX3N0YXRlLmJvdW5kUmVhZEZCTyk7Ci0gICAgfQorICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihH
cmFwaGljc0NvbnRleHRHTDo6RlJBTUVCVUZGRVIsIG1fc3RhdGUuYm91bmREcmF3RkJPKTsKKyAg
ICBpZiAobV9pc0ZvcldlYkdMMiAmJiBtX3N0YXRlLmJvdW5kRHJhd0ZCTyAhPSBtX3N0YXRlLmJv
dW5kUmVhZEZCTykKKyAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdM
OjpSRUFEX0ZSQU1FQlVGRkVSLCBtX3N0YXRlLmJvdW5kUmVhZEZCTyk7CiAKICAgICBhdXRvIGVy
cm9yID0gR0xfR2V0RXJyb3IoKTsKICAgICBpZiAoZXJyb3IgIT0gR0xfTk9fRVJST1IpIHsKQEAg
LTI4OTAsMTAgKzI4NzUsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjptdWx0aURy
YXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKEdDR0xlbnVtIG1vZGUsIEdDR0wKICAgICBHTF9NdWx0
aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKG1vZGUsIGNvdW50cy5kYXRhLCB0eXBlLCBwb2lu
dGVycy5kYXRhKCksIGluc3RhbmNlQ291bnRzLmRhdGEsIGRyYXdjb3VudCk7CiB9CiAKLWJvb2wg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKK0dyYXBo
aWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp3YWl0QW5k
VXBkYXRlT2xkZXN0RnJhbWUoKQogewogICAgIHNpemVfdCBvbGRlc3RGcmFtZUNvbXBsZXRpb25G
ZW5jZSA9IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UrKyAlIG1heFBlbmRpbmdGcmFtZXM7
Ci0gICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAgICBSZXN1bHQgcmVzdWx0ID0gUmVzdWx0OjpT
dWNjZXNzOwogICAgIGlmIChTY29wZWRHTEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1lQ29t
cGxldGlvbkZlbmNlc1tvbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZV0pKSB7CiAgICAgICAgIC8v
IFdhaXQgc28gdGhhdCByZW5kZXJpbmcgZG9lw5hzIG5vdCBnZXQgbW9yZSB0aGFuIG1heFBlbmRp
bmdGcmFtZXMgZnJhbWVzIGFoZWFkLgogICAgICAgICBHTGJpdGZpZWxkIGZsYWdzID0gR0xfU1lO
Q19GTFVTSF9DT01NQU5EU19CSVQ7CkBAIC0yOTAzLDEyICsyODg4LDEyIEBAIGJvb2wgR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRTo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKICAgICAgICAgLy8g
VGhpcyBtZWFucyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVuIGZs
dXNoZWQuCiAgICAgICAgIGZsYWdzID0gMDsKICNlbmRpZgotICAgICAgICBHTGVudW0gcmVzdWx0
ID0gR0xfQ2xpZW50V2FpdFN5bmMoZmVuY2UsIGZsYWdzLCBtYXhGcmFtZUR1cmF0aW9uLm5hbm9z
ZWNvbmRzQXM8R0x1aW50NjQ+KCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0ICE9IEdMX1dBSVRf
RkFJTEVEKTsKLSAgICAgICAgc3VjY2VzcyA9IHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCAmJiBy
ZXN1bHQgIT0gR0xfVElNRU9VVF9FWFBJUkVEOworICAgICAgICBHTGVudW0gd2FpdFJlc3VsdCA9
IEdMX0NsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vj
b25kc0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHdhaXRSZXN1bHQgIT0gR0xfV0FJ
VF9GQUlMRUQpOworICAgICAgICByZXN1bHQgPSB3YWl0UmVzdWx0ICE9IEdMX1dBSVRfRkFJTEVE
ICYmIHdhaXRSZXN1bHQgIT0gR0xfVElNRU9VVF9FWFBJUkVEID8gUmVzdWx0OjpTdWNjZXNzIDog
UmVzdWx0OjpGYWlsdXJlOwogICAgIH0KICAgICBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tvbGRl
c3RGcmFtZUNvbXBsZXRpb25GZW5jZV0uZmVuY2VTeW5jKCk7Ci0gICAgcmV0dXJuIHN1Y2Nlc3M7
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpz
aW11bGF0ZUV2ZW50Rm9yVGVzdGluZyhTaW11bGF0ZWRFdmVudEZvclRlc3RpbmcgZXZlbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXggNDNkNWQyOTBkZDY4MmNhNTk2NTYwMTEw
YTY2YTVhN2RhOGY4NTJhMC4uM2MzM2M1ZjYxOTdkOGVkZmM2NzJlMTFkNjI3ZDE0NjhiOTYwMGM2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaApAQCAtMzgzLDE5ICszODMsMjEgQEAg
cHJvdGVjdGVkOgogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRDb21wb3NpdGVk
UmVzdWx0cygpOwogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRQaXhlbHNGb3JQ
YWludFJlc3VsdHMoKTsKIAotICAgIGJvb2wgcmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYpOwor
ICAgIGVudW0gY2xhc3MgUmVzdWx0IDogYm9vbCB7CisgICAgICAgIEZhaWx1cmUgPSBmYWxzZSwK
KyAgICAgICAgU3VjY2VzcyA9IHRydWUKKyAgICB9OworICAgIFJlc3VsdCByZXNoYXBlRkJPcyhj
b25zdCBJbnRTaXplJikgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHZvaWQgcHJlcGFyZVRleHR1
cmVJbXBsKCk7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0
IEludFJlY3QmID0gSW50UmVjdCgpKTsKICAgICB2b2lkIGF0dGFjaERlcHRoQW5kU3RlbmNpbEJ1
ZmZlcklmTmVlZGVkKEdDR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQgd2lk
dGgsIGludCBoZWlnaHQpOwotCi0gICAgYm9vbCByZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmco
KTsKKyAgICBSZXN1bHQgcmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkgV0FSTl9VTlVTRURf
UkVUVVJOOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5kRGlz
cGxheUJ1ZmZlckJhY2tpbmcoKTsKLSAgICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhz
dGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIFJlc3VsdCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVy
QmFja2luZygpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyAgICBSZXN1bHQgYmluZERpc3BsYXlCdWZm
ZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGJhY2tpbmcsIHZvaWQqIHBidWZm
ZXIpIFdBUk5fVU5VU0VEX1JFVFVSTjsKICAgICBzdGF0aWMgYm9vbCBtYWtlQ3VycmVudChQbGF0
Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSwgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTCk7
CiAjZW5kaWYKLSAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxvc3Qg
ZHVlIHRvIHRpbWVvdXQuCi0gICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJO
X1VOVVNFRF9SRVRVUk47CisgICAgUmVzdWx0IHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpIFdB
Uk5fVU5VU0VEX1JFVFVSTjsKIAogICAgIC8vIFBsYXRmb3JtIHNwZWNpZmljIGJlaGF2aW9yIGZv
ciByZWxlYXNlUmVzb3VyY2VzKCk7CiAgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1SZWxlYXNlVGhy
ZWFkUmVzb3VyY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA0ZDAx
ZWYzOGU5M2M0YjYxMGI3NWI5NWUwZjJkYjI1NTNlMTU1YTlkLi42N2I3ZjdmOWVmMmUyNDUzNTMz
ODIyZWYxYWFhMjJhNmM2NWVmOTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0K
QEAgLTUyOCw3ICs1MjgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnVwZGF0ZUNv
bnRleHRPbkRpc3BsYXlSZWNvbmZpZ3VyYXRpb24oKQogfQogI2VuZGlmCiAKLWJvb2wgR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkKK0dyYXBoaWNz
Q29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlz
cGxheUJ1ZmZlckJhY2tpbmcoKQogewogICAgIEFTU0VSVCghZ2V0SW50ZXJuYWxGcmFtZWJ1ZmZl
clNpemUoKS5pc0VtcHR5KCkpOwogICAgIC8vIFJlc2V0IHRoZSBjdXJyZW50IGJhY2tidWZmZXIg
bm93IGJlZm9yZSBhbGxvY2F0aW5nIGEgbmV3IG9uZSBpbiBvcmRlciB0byBzbGlnaHRseSByZWR1
Y2UgbWVtb3J5IHByZXNzdXJlLgpAQCAtNTQ2LDEyICs1NDYsMTIgQEAgYm9vbCBHcmFwaGljc0Nv
bnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogICAgIHJldHVybiBh
bGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwogfQogCi1ib29sIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEU6OmFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCkKK0dy
YXBoaWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjphbGxv
Y2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpCiB7CiAgICAgQVNTRVJUKCFnZXRJbnRl
cm5hbEZyYW1lYnVmZmVyU2l6ZSgpLmlzRW1wdHkoKSk7CiAgICAgYXV0byBiYWNraW5nID0gSU9T
dXJmYWNlOjpjcmVhdGUoZ2V0SW50ZXJuYWxGcmFtZWJ1ZmZlclNpemUoKSwgRGVzdGluYXRpb25D
b2xvclNwYWNlOjpTUkdCKCkpOwogICAgIGlmICghYmFja2luZykKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gUmVzdWx0OjpGYWlsdXJlOwogCiAgICAgYmFja2luZy0+bWln
cmF0ZUNvbG9yU3BhY2VUb1Byb3BlcnRpZXMoKTsKIApAQCAtNTcxLDIyICs1NzEsMjIgQEAgYm9v
bCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFj
a2luZygpCiAgICAgfTsKICAgICBFR0xTdXJmYWNlIHBidWZmZXIgPSBFR0xfQ3JlYXRlUGJ1ZmZl
ckZyb21DbGllbnRCdWZmZXIobV9kaXNwbGF5T2JqLCBFR0xfSU9TVVJGQUNFX0FOR0xFLCBiYWNr
aW5nLT5zdXJmYWNlKCksIG1fY29uZmlnT2JqLCBzdXJmYWNlQXR0cmlidXRlcyk7CiAgICAgaWYg
KCFwYnVmZmVyKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBSZXN1bHQ6
OkZhaWx1cmU7CiAgICAgcmV0dXJuIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhXVEZNb3ZlKGJh
Y2tpbmcpLCBwYnVmZmVyKTsKIH0KIAotYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpiaW5k
RGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywg
dm9pZCogcGJ1ZmZlcikKK0dyYXBoaWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0Nv
bnRleHRHTEFOR0xFOjpiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRyPElP
U3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcikKIHsKICAgICBHQ0dMZW51bSB0ZXh0dXJl
VGFyZ2V0ID0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKICAgICBTY29wZWRSZXN0b3Jl
VGV4dHVyZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRR
dWVyeUZvckRyYXdpbmdUYXJnZXQodGV4dHVyZVRhcmdldCksIHRleHR1cmVUYXJnZXQsIHRleHR1
cmVUYXJnZXQgIT0gVEVYVFVSRV9SRUNUQU5HTEVfQVJCKTsKICAgICBHTF9CaW5kVGV4dHVyZSh0
ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUpOwogICAgIGlmICghRUdMX0JpbmRUZXhJbWFnZShtX2Rp
c3BsYXlPYmosIHBidWZmZXIsIEVHTF9CQUNLX0JVRkZFUikpIHsKICAgICAgICAgRUdMX0Rlc3Ry
b3lTdXJmYWNlKG1fZGlzcGxheU9iaiwgcGJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKICAgICB9CiAgICAgbV9kaXNwbGF5QnVm
ZmVyUGJ1ZmZlciA9IHBidWZmZXI7CiAgICAgbV9kaXNwbGF5QnVmZmVyQmFja2luZyA9IFdURk1v
dmUoYmFja2luZyk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIFJlc3VsdDo6U3VjY2Vz
czsKIH0KIAogYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjptYWtlQ3VycmVudChQbGF0Zm9y
bUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSBkaXNwbGF5LCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dEdMIGNvbnRleHQpCkBAIC02NzAsOCArNjcwLDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xB
TkdMRTo6cHJlcGFyZUZvckRpc3BsYXkoKQogewogICAgIGlmIChtX2xheWVyQ29tcG9zaXRlZCkK
ICAgICAgICAgcmV0dXJuOwotICAgIGlmICghbWFrZUNvbnRleHRDdXJyZW50KCkpCisgICAgaWYg
KCFtYWtlQ29udGV4dEN1cnJlbnQoKSkgeworICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7CiAg
ICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgcHJlcGFyZVRleHR1cmVJbXBsKCk7CiAKICAgICAv
LyBUaGUgSU9TdXJmYWNlIHdpbGwgYmUgdXNlZCBmcm9tIG90aGVyIGdyYXBoaWNzIHN1YnN5c3Rl
bSwgc28gZmx1c2ggR0wgY29tbWFuZHMuCkBAIC02ODUsMjIgKzY4NywyNSBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dEdMQU5HTEU6OnByZXBhcmVGb3JEaXNwbGF5KCkKIAogICAgIGJvb2wgaGFzTmV3
QmFja2luZyA9IGZhbHNlOwogICAgIGlmIChyZWN5Y2xlZEJ1ZmZlci5zdXJmYWNlICYmIHJlY3lj
bGVkQnVmZmVyLnN1cmZhY2UtPnNpemUoKSA9PSBnZXRJbnRlcm5hbEZyYW1lYnVmZmVyU2l6ZSgp
KSB7Ci0gICAgICAgIGhhc05ld0JhY2tpbmcgPSBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoV1RG
TW92ZShyZWN5Y2xlZEJ1ZmZlci5zdXJmYWNlKSwgcmVjeWNsZWRCdWZmZXIuaGFuZGxlKTsKKyAg
ICAgICAgaGFzTmV3QmFja2luZyA9IGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhXVEZNb3ZlKHJl
Y3ljbGVkQnVmZmVyLnN1cmZhY2UpLCByZWN5Y2xlZEJ1ZmZlci5oYW5kbGUpID09IFJlc3VsdDo6
U3VjY2VzczsKICAgICAgICAgcmVjeWNsZWRCdWZmZXIuaGFuZGxlID0gbnVsbHB0cjsKICAgICB9
CiAgICAgcmVjeWNsZWRCdWZmZXIuc3VyZmFjZS5yZXNldCgpOwogICAgIGlmIChyZWN5Y2xlZEJ1
ZmZlci5oYW5kbGUpCiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmosIHJl
Y3ljbGVkQnVmZmVyLmhhbmRsZSk7CiAKLSAgICAvLyBFcnJvciB3aWxsIGJlIGhhbmRsZWQgYnkg
bmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90aWNlIGxhY2sg
b2YgZGlzcGxheSBidWZmZXIuCi0gICAgaWYgKCFoYXNOZXdCYWNraW5nKQotICAgICAgICBhbGxv
Y2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOworICAgIGlmICghaGFzTmV3QmFja2lu
ZykgeworICAgICAgICBpZiAoYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKSA9
PSBSZXN1bHQ6OkZhaWx1cmUpIHsKKyAgICAgICAgICAgIGZvcmNlQ29udGV4dExvc3QoKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KIAogICAgIG1hcmtMYXllckNvbXBv
c2l0ZWQoKTsKIAogICAgIGlmIChtX3VzZUZlbmNlU3luY0ZvckRpc3BsYXlSYXRlTGltaXQpIHsK
LSAgICAgICAgYm9vbCBzdWNjZXNzID0gd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCk7Ci0gICAg
ICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVudCBjb250ZXh0
IGxvc3QuCisgICAgICAgIFJlc3VsdCByZXN1bHQgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUo
KTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKHJlc3VsdCk7IC8vIEZJWE1FOiBpbXBsZW1lbnQg
Y29udGV4dCBsb3N0LgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xF
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0Nv
bnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKaW5kZXggY2ZhZDg0MzhlODQ1OTUwMTJlZjE5
MzNmZjZiZjgzN2YyNTI0NmE3NS4uOTVlMWM4NjhkNzE0MTJhZjdlZGFkOGNkMzg1ZjZkNzdmMjg0
Y2FmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFw
cGVyQU5HTEUuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFO
R0xFOjpwcmVwYXJlRm9yRGlzcGxheSgpCiB7CiB9CiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0R0xB
TkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkKK0dyYXBoaWNzQ29udGV4dEdMQU5H
TEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJh
Y2tpbmcoKQogewogICAgIGF1dG8gYXR0cnMgPSBjb250ZXh0QXR0cmlidXRlcygpOwogICAgIGNv
bnN0IGF1dG8gc2l6ZSA9IGdldEludGVybmFsRnJhbWVidWZmZXJTaXplKCk7CkBAIC0yMDEsNyAr
MjAxLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1ZmZl
ckJhY2tpbmcoKQogICAgIEdMX0JpbmRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1fdGV4dHVyZSk7
CiAgICAgR0xfVGV4SW1hZ2UyRCh0ZXh0dXJlVGFyZ2V0LCAwLCBpbnRlcm5hbENvbG9yRm9ybWF0
LCB3aWR0aCwgaGVpZ2h0LCAwLCBjb2xvckZvcm1hdCwgR0xfVU5TSUdORURfQllURSwgMCk7CiAg
ICAgR0xfRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFD
SE1FTlQwLCB0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUsIDApOwotICAgIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiBSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xB
TkdMRTo6cGxhdGZvcm1SZWxlYXNlVGhyZWFkUmVzb3VyY2VzKCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhM2RmZDNkMGVjMTE4NDA2NWU4OGNk
NzAzMmYyNjE5MGE3YTZiNGFlLi4xNGEyZGViODcxNGUxZTMxMjJjMTY4ODlmYWQ0OGJlZjA1YzVm
MzhjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFw
cGxlLmNvbT4KKworICAgICAgICBHcmFwaGljc0NvbnRleHRHTEFOR0xFIGRlbGl2ZXJzIGNvbnRl
eHQgbG9zdCB0d2ljZSB3aGVuIHJlc2hhcGUgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzk5NAorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
dHRpIEtvaXZpc3RvLgorCisgICAgICAgIEFkZCBhIHRlc3QgdGVzdGluZyB0aGF0IGlmIGFsbG9j
YXRpb24gb2YgdGhlIGJhY2tpbmcgc3RvcmUgZmFpbHMsCisgICAgICAgIGZvcmNlQ29udGV4dExv
c3QgR3JhcGhpY3NDb250ZXh0R0w6OkNsaWVudCBmdW5jdGlvbiBpcyBjYWxsZWQKKyAgICAgICAg
b25jZSBhbmQgb25seSBvbmNlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL2NvY29hL1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVF9GKToKKwogMjAyMS0xMi0wNyAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRo
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgZmlu
ZC1pbi1wYWdlIFNQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL2NvY29hL1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCmlu
ZGV4IGUxOTExZGY2YzA5M2UzOGM4ZDQyZmExNzllZmQ1ZTc3MmVhNjVkYzQuLjA4NDk1NGM3MGQx
NTE4NGI3Njg3YmI5NzBmYjc2NWM3OWNjY2MzNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNz
Q29udGV4dEdMQ29jb2EubW0KQEAgLTQwLDYgKzQwLDE4IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKIAogbmFtZXNwYWNlIHsKIAorY2xhc3MgTW9ja0dyYXBoaWNzQ29udGV4dEdMQ2xpZW50
IDogcHVibGljIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMOjpDbGllbnQgeworcHVibGljOgor
ICAgIHZvaWQgZGlkQ29tcG9zaXRlKCkgb3ZlcnJpZGUgeyBkaWRDb21wb3NpdGVDYWxsZWQrKzsg
fTsKKyAgICB2b2lkIGZvcmNlQ29udGV4dExvc3QoKSBvdmVycmlkZSB7IGZvcmNlQ29udGV4dExv
c3RDYWxsZWQrKzsgfTsKKyAgICB2b2lkIHJlY3ljbGVDb250ZXh0KCkgb3ZlcnJpZGUgeyByZWN5
Y2xlQ29udGV4dENhbGxlZCsrOyB9OworICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5v
dGlmaWNhdGlvbigpIG92ZXJyaWRlIHsgZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5vdGlmaWNhdGlv
bkNhbGxlZCsrOyB9CisgICAgaW50IGRpZENvbXBvc2l0ZUNhbGxlZCB7IDAgfTsKKyAgICBpbnQg
Zm9yY2VDb250ZXh0TG9zdENhbGxlZCB7IDAgfTsKKyAgICBpbnQgcmVjeWNsZUNvbnRleHRDYWxs
ZWQgeyAwIH07CisgICAgaW50IGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb25DYWxs
ZWQgeyAwIH07Cit9OworCiBjbGFzcyBUZXN0ZWRHcmFwaGljc0NvbnRleHRHTENvY29hIDogcHVi
bGljIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ29jb2EgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWZQdHI8VGVzdGVkR3JhcGhpY3NDb250ZXh0R0xDb2NvYT4gY3JlYXRlKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYmIGF0dHJpYnV0ZXMpCkBAIC00OCwxMSArNjAsMjIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gY29udGV4dDsKICAgICB9CiAgICAgUmVmUHRyPFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDb250ZW50c0Rpc3BsYXlEZWxlZ2F0ZT4gbGF5ZXJDb250ZW50
c0Rpc3BsYXlEZWxlZ2F0ZSgpIGZpbmFsIHsgcmV0dXJuIG51bGxwdHI7IH0KKworICAgIHZvaWQg
c2V0RmFpbE5leHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3RpbmcoKSB7IG1fZmFpbE5l
eHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3RpbmcgPSB0cnVlOyB9Citwcm90ZWN0ZWQ6
CisgICAgUmVzdWx0IGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCkgb3ZlcnJp
ZGUKKyAgICB7CisgICAgICAgIGlmIChtX2ZhaWxOZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25G
b3JUZXN0aW5nKQorICAgICAgICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ29jb2E6OmFsbG9jYXRlQW5kQmluZERp
c3BsYXlCdWZmZXJCYWNraW5nKCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIFRlc3RlZEdyYXBo
aWNzQ29udGV4dEdMQ29jb2EoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMpCiAgICAgICAgIDogV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xDb2NvYShXVEZN
b3ZlKGF0dHJpYnV0ZXMpKQogICAgIHsKICAgICB9CisgICAgYm9vbCBtX2ZhaWxOZXh0RGlzcGxh
eUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNzIEdyYXBo
aWNzQ29udGV4dEdMQ29jb2FUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdCB7CkBAIC0yNDEs
NiArMjY0LDE4IEBAIFRFU1RfRihHcmFwaGljc0NvbnRleHRHTENvY29hVGVzdCwgVW5yZWN5Y2xl
ZERpc3BsYXlCdWZmZXJzTm9MZWFrcykKICAgICBFWFBFQ1RfVFJVRShtZW1vcnlGb290cHJpbnRD
aGFuZ2VkQnkobGFzdEZvb3RwcmludCwgZm9vdHByaW50Q2hhbmdlLCBmb290cHJpbnRFcnJvcikp
OwogfQogCitURVNUX0YoR3JhcGhpY3NDb250ZXh0R0xDb2NvYVRlc3QsIEFsbG9jYXRpb25GYWls
dXJlT25SZXNoYXBlTG9zZXNDb250ZXh0KQoreworICAgIGF1dG8gY29udGV4dCA9IGNyZWF0ZURl
ZmF1bHRUZXN0Q29udGV4dCh7IDIwLCAyMCB9KTsKKyAgICBBU1NFUlRfTkUoY29udGV4dCwgbnVs
bHB0cik7CisgICAgTW9ja0dyYXBoaWNzQ29udGV4dEdMQ2xpZW50IGNsaWVudDsKKyAgICBjb250
ZXh0LT5hZGRDbGllbnQoY2xpZW50KTsKKyAgICBFWFBFQ1RfRVEoMCwgY2xpZW50LmZvcmNlQ29u
dGV4dExvc3RDYWxsZWQpOworICAgIGNvbnRleHQtPnNldEZhaWxOZXh0RGlzcGxheUJ1ZmZlckFs
bG9jYXRpb25Gb3JUZXN0aW5nKCk7CisgICAgY29udGV4dC0+cmVzaGFwZSgxNSwgMTUpOworICAg
IEVYUEVDVF9FUSgxLCBjbGllbnQuZm9yY2VDb250ZXh0TG9zdENhbGxlZCk7Cit9CisKIH0KIAog
I2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446408</attachid>
            <date>2021-12-08 12:16:45 -0800</date>
            <delta_ts>2021-12-08 19:47:53 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233994-20211208221643.patch</filename>
            <type>text/plain</type>
            <size>18638</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwYWM3ZTI2MTVhOGYz
MDA2ZTBhZmEwM2NiZGFiM2YxNTc3OGZmOC4uYjMzOWZjZGJiMjNhNWRlMzk5ZjdjZjUyZGYwNzJj
NDYyYjE5MmNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQK
KworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBSZXB1cnBv
c2UgcmVzaGFwZUZCT3MgcmV0dXJuIHZhbHVlIHRvIHNpZ25pZnkgZXJyb3IgaW5zdGVhZCBvZgor
ICAgICAgICAibXVzdCByZWJpbmQgZmJvIi4KKyAgICAgICAgUHJldmlvdXNseSByZXNoYXBGQk9z
IHdvdWxkIGNvbnRpbnVlIGFmdGVyIHRoZSBjYWxsZWQgZnVuY3Rpb25zIHdvdWxkCisgICAgICAg
IGhhdmUgZXJyb3JzLiBUaGUgZnVuY3Rpb24gd291bGQgY2FsbCB0aGUgZm9yY2VDb250ZXh0TG9z
dCB1cG9uCisgICAgICAgIGZpcnN0IGVycm9yIGluIHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2lu
ZyBhbmQgdGhlbiBzZWNvbmQgdGltZQorICAgICAgICBpbiByZXNoYXBlRkJPcyBkdXJpbmcgbGFz
dCBlcnJvciBjaGVjayBgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKWAKKworICAgICAgICBSZW1v
dmUgbG9naWMgZm9yIGF2b2lkaW5nIHRoZSByZWJpbmQgb2YgY2xpZW50IGZib3MsIGFzIHRoYXQg
aXMgY3VycmVudGx5CisgICAgICAgIG5vdCBjb3JyZWN0IGluIGFsbCBicmFuY2hlcy4KKyAgICAg
ICAgSW5zdGVhZCwgYWx3YXlzIHJlYmluZCB0aGUgY2xpZW50IEZCTy4gQU5HTEUgd2lsbCBvcHRp
bWl6ZSB0aGVzZS4KKyAgICAgICAgTGF0ZXIgb24sIHN0YXRlIG1hbmFnZW1lbnQgY2FuIGJlIG1h
ZGUgbW9yZSBjb3JyZWN0IHdpdGggcmViaW5kCisgICAgICAgIGF2b2lkYW5jZSB1c2luZyBsYXJn
ZXIgZGlydHkgc3RhdGUgc3RvcmUuCisKKyAgICAgICAgQWRkcyBhIHVuaXQgdGVzdCB0ZXN0aW5n
IHRoZSBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVzaGFwZUZCT3MpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorCiAyMDIxLTEy
LTA4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1N0cmVhbWVyXSBFbmFibGUgbWVkaWFTb3VyY2VJbmxpbmVQYWludGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCA0ZTMwNmY0NTAwMjA2ODMyMGRlMGE2YTYxMDY5ZDAx
NDM1YjcwMmMxLi5jMzczN2NhODhkNjhkZjdhYmZjMzBhMzJhMjYxMDcwZmVmMzQ2MTljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6dmFsaWRhdGVBdHRyaWJ1dGVzKCkKICAgICB2YWxpZGF0
ZURlcHRoU3RlbmNpbChwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lKTsKIH0KIAotYm9v
bCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRkJPcyhjb25zdCBJbnRTaXplJiBzaXpl
KQorR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6UmVzdWx0IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6
OnJlc2hhcGVGQk9zKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgYXV0byBhdHRycyA9IGNv
bnRleHRBdHRyaWJ1dGVzKCk7CiAgICAgY29uc3QgaW50IHdpZHRoID0gc2l6ZS53aWR0aCgpOwpA
QCAtMjI2LDE5ICsyMjYsMTkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBl
RkJPcyhjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAgICB9CiAgICAgICAgIEdMX0JpbmRSZW5k
ZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCAwKTsKICAgICAgICAgaWYgKEdMX0NoZWNrRnJhbWVi
dWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7
Ci0gICAgICAgICAgICAvLyBGSVhNRTogY2xlYW51cC4KLSAgICAgICAgICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGZhbHNlLCAiaGVyZTEiKTsK
KyAgICAgICAgICAgIHJldHVybiBSZXN1bHQ6OkZhaWx1cmU7CiAgICAgICAgIH0KICAgICB9CiAK
ICAgICAvLyByZXNpemUgcmVndWxhciBGQk8KICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR0xfRlJB
TUVCVUZGRVIsIG1fZmJvKTsKIAotICAgIGlmICghcmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5n
KCkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0coV2ViR0wsICJGYXRhbDogVW5hYmxlIHRvIGFsbG9j
YXRlIGJhY2tpbmcgc3RvcmUgb2Ygc2l6ZSAlZCB4ICVkIiwgd2lkdGgsIGhlaWdodCk7Ci0gICAg
ICAgIGZvcmNlQ29udGV4dExvc3QoKTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHJl
c2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZygpID09IFJlc3VsdDo6RmFpbHVyZSkgeworICAgICAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKGZhbHNlLCAiaGVyZTIiKTsKKyAgICAgICAgcmV0dXJuIFJl
c3VsdDo6RmFpbHVyZTsKICAgICB9CisKICAgICBpZiAobV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJU
ZXh0dXJlKSB7CiAgICAgICAgIC8vIFRoZSBjb250ZXh0IHJlcXVpcmVzIHRoZSB1c2Ugb2YgYW4g
aW50ZXJtZWRpYXRlIHRleHR1cmUgaW4gb3JkZXIgdG8gaW1wbGVtZW50CiAgICAgICAgIC8vIHBy
ZXNlcnZlRHJhd2luZ0J1ZmZlcjp0cnVlIHdpdGhvdXQgYW50aWFsaWFzaW5nLgpAQCAtMjU5LDE3
ICsyNTksMTEgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRkJPcyhjb25z
dCBJbnRTaXplJiBzaXplKQogCiAgICAgYXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVk
ZWQobV9pbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgd2lkdGgsIGhlaWdodCk7CiAKLSAgICBi
b29sIG11c3RSZXN0b3JlRkJPID0gdHJ1ZTsKLSAgICBpZiAoYXR0cnMuYW50aWFsaWFzKSB7Ci0g
ICAgICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihHTF9GUkFNRUJVRkZFUiwgbV9tdWx0aXNhbXBsZUZC
Tyk7Ci0gICAgICAgIGlmIChtX3N0YXRlLmJvdW5kRHJhd0ZCTyA9PSBtX211bHRpc2FtcGxlRkJP
ICYmIG1fc3RhdGUuYm91bmRSZWFkRkJPID09IG1fbXVsdGlzYW1wbGVGQk8pCi0gICAgICAgICAg
ICBtdXN0UmVzdG9yZUZCTyA9IGZhbHNlOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChtX3N0
YXRlLmJvdW5kRHJhd0ZCTyA9PSBtX2ZibyAmJiBtX3N0YXRlLmJvdW5kUmVhZEZCTyA9PSBtX2Zi
bykKLSAgICAgICAgICAgIG11c3RSZXN0b3JlRkJPID0gZmFsc2U7CisgICAgaWYgKEdMX0NoZWNr
RnJhbWVidWZmZXJTdGF0dXMoR0xfRlJBTUVCVUZGRVIpICE9IEdMX0ZSQU1FQlVGRkVSX0NPTVBM
RVRFKSB7CisgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoZmFsc2UsICJoZXJlMyIpOworICAg
ICAgICByZXR1cm4gUmVzdWx0OjpGYWlsdXJlOwogICAgIH0KLQotICAgIHJldHVybiBtdXN0UmVz
dG9yZUZCTzsKKyAgICByZXR1cm4gUmVzdWx0OjpTdWNjZXNzOwogfQogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEU6OmF0dGFjaERlcHRoQW5kU3RlbmNpbEJ1ZmZlcklmTmVlZGVkKEdMdWlu
dCBpbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQpAQCAt
MjkxLDExICsyODUsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OmF0dGFjaERlcHRo
QW5kU3RlbmNpbEJ1ZmZlcklmTmVlZGVkKEdMdWludCBpbnRlcm5hbAogICAgICAgICB9CiAgICAg
ICAgIEdMX0JpbmRSZW5kZXJidWZmZXIoR0xfUkVOREVSQlVGRkVSLCAwKTsKICAgICB9Ci0KLSAg
ICBpZiAoR0xfQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikgIT0gR0xfRlJB
TUVCVUZGRVJfQ09NUExFVEUpIHsKLSAgICAgICAgLy8gRklYTUU6IGNsZWFudXAKLSAgICAgICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICB9CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RTo6cmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0JiByZWN0KQpA
QCAtNjEwLDcgKzU5OSwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hhcGUo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICAgIFRlbXBvcmFyeUFOR0xFU2V0dGluZyBzY29wZWRE
aXRoZXIoR0xfRElUSEVSLCBHTF9GQUxTRSk7CiAgICAgU2NvcGVkQnVmZmVyQmluZGluZyBzY29w
ZWRQaXhlbFVucGFja0J1ZmZlclJlc2V0KEdMX1BJWEVMX1VOUEFDS19CVUZGRVIsIDAsIG1faXNG
b3JXZWJHTDIpOwogCi0gICAgYm9vbCBtdXN0UmVzdG9yZUZCTyA9IHJlc2hhcGVGQk9zKEludFNp
emUod2lkdGgsIGhlaWdodCkpOworICAgIGlmIChyZXNoYXBlRkJPcyh7IHdpZHRoLCBoZWlnaHQg
fSkgPT0gUmVzdWx0OjpGYWlsdXJlKSB7CisgICAgICAgIGZvcmNlQ29udGV4dExvc3QoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gYXR0cnMgPSBjb250ZXh0QXR0cmlidXRl
cygpOwogCiAgICAgLy8gSW5pdGlhbGl6ZSByZW5kZXJidWZmZXJzIHRvIDAuCkBAIC02NTUsMTEg
KzY0OCw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZShpbnQgd2lkdGgs
IGludCBoZWlnaHQpCiAgICAgICAgIEdMX1N0ZW5jaWxNYXNrU2VwYXJhdGUoR0xfQkFDSywgc3Rl
bmNpbE1hc2tCYWNrKTsKICAgICB9CiAKLSAgICBpZiAobXVzdFJlc3RvcmVGQk8pIHsKLSAgICAg
ICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUiwgbV9z
dGF0ZS5ib3VuZERyYXdGQk8pOwotICAgICAgICBpZiAobV9pc0ZvcldlYkdMMiAmJiBtX3N0YXRl
LmJvdW5kRHJhd0ZCTyAhPSBtX3N0YXRlLmJvdW5kUmVhZEZCTykKLSAgICAgICAgICAgIEdMX0Jp
bmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHRHTDo6UkVBRF9GUkFNRUJVRkZFUiwgbV9zdGF0
ZS5ib3VuZFJlYWRGQk8pOwotICAgIH0KKyAgICBHTF9CaW5kRnJhbWVidWZmZXIoR3JhcGhpY3ND
b250ZXh0R0w6OkZSQU1FQlVGRkVSLCBtX3N0YXRlLmJvdW5kRHJhd0ZCTyk7CisgICAgaWYgKG1f
aXNGb3JXZWJHTDIgJiYgbV9zdGF0ZS5ib3VuZERyYXdGQk8gIT0gbV9zdGF0ZS5ib3VuZFJlYWRG
Qk8pCisgICAgICAgIEdMX0JpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHRHTDo6UkVBRF9G
UkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3VuZFJlYWRGQk8pOwogCiAgICAgYXV0byBlcnJvciA9IEdM
X0dldEVycm9yKCk7CiAgICAgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKSB7CkBAIC0yODkwLDEw
ICsyODgxLDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6bXVsdGlEcmF3RWxlbWVu
dHNJbnN0YW5jZWRBTkdMRShHQ0dMZW51bSBtb2RlLCBHQ0dMCiAgICAgR0xfTXVsdGlEcmF3RWxl
bWVudHNJbnN0YW5jZWRBTkdMRShtb2RlLCBjb3VudHMuZGF0YSwgdHlwZSwgcG9pbnRlcnMuZGF0
YSgpLCBpbnN0YW5jZUNvdW50cy5kYXRhLCBkcmF3Y291bnQpOwogfQogCi1ib29sIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEU6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCitHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjpSZXN1bHQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6d2FpdEFuZFVwZGF0ZU9s
ZGVzdEZyYW1lKCkKIHsKICAgICBzaXplX3Qgb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UgPSBt
X29sZGVzdEZyYW1lQ29tcGxldGlvbkZlbmNlKysgJSBtYXhQZW5kaW5nRnJhbWVzOwotICAgIGJv
b2wgc3VjY2VzcyA9IHRydWU7CisgICAgUmVzdWx0IHJlc3VsdCA9IFJlc3VsdDo6U3VjY2VzczsK
ICAgICBpZiAoU2NvcGVkR0xGZW5jZSBmZW5jZSA9IFdURk1vdmUobV9mcmFtZUNvbXBsZXRpb25G
ZW5jZXNbb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2VdKSkgewogICAgICAgICAvLyBXYWl0IHNv
IHRoYXQgcmVuZGVyaW5nIGRvZcOYcyBub3QgZ2V0IG1vcmUgdGhhbiBtYXhQZW5kaW5nRnJhbWVz
IGZyYW1lcyBhaGVhZC4KICAgICAgICAgR0xiaXRmaWVsZCBmbGFncyA9IEdMX1NZTkNfRkxVU0hf
Q09NTUFORFNfQklUOwpAQCAtMjkwMywxMiArMjg5NCwxMiBAQCBib29sIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OndhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpCiAgICAgICAgIC8vIFRoaXMgbWVh
bnMgdGhlIGNyZWF0aW9uIG9mIHRoaXMgZmVuY2UgaGFzIGFscmVhZHkgYmVlbiBmbHVzaGVkLgog
ICAgICAgICBmbGFncyA9IDA7CiAjZW5kaWYKLSAgICAgICAgR0xlbnVtIHJlc3VsdCA9IEdMX0Ns
aWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5vc2Vjb25kc0Fz
PEdMdWludDY0PigpKTsKLSAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCk7
Ci0gICAgICAgIHN1Y2Nlc3MgPSByZXN1bHQgIT0gR0xfV0FJVF9GQUlMRUQgJiYgcmVzdWx0ICE9
IEdMX1RJTUVPVVRfRVhQSVJFRDsKKyAgICAgICAgR0xlbnVtIHdhaXRSZXN1bHQgPSBHTF9DbGll
bnRXYWl0U3luYyhmZW5jZSwgZmxhZ3MsIG1heEZyYW1lRHVyYXRpb24ubmFub3NlY29uZHNBczxH
THVpbnQ2ND4oKSk7CisgICAgICAgIEFTU0VSVCh3YWl0UmVzdWx0ICE9IEdMX1dBSVRfRkFJTEVE
KTsKKyAgICAgICAgcmVzdWx0ID0gd2FpdFJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCAmJiB3YWl0
UmVzdWx0ICE9IEdMX1RJTUVPVVRfRVhQSVJFRCA/IFJlc3VsdDo6U3VjY2VzcyA6IFJlc3VsdDo6
RmFpbHVyZTsKICAgICB9CiAgICAgbV9mcmFtZUNvbXBsZXRpb25GZW5jZXNbb2xkZXN0RnJhbWVD
b21wbGV0aW9uRmVuY2VdLmZlbmNlU3luYygpOwotICAgIHJldHVybiBzdWNjZXNzOworICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6c2ltdWxhdGVF
dmVudEZvclRlc3RpbmcoU2ltdWxhdGVkRXZlbnRGb3JUZXN0aW5nIGV2ZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0
R0xBTkdMRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5oCmluZGV4IDQzZDVkMjkwZGQ2ODJjYTU5NjU2MDExMGE2NmE1YTdk
YThmODUyYTAuLjNjMzNjNWY2MTk3ZDhlZGZjNjcyZTExZDYyN2QxNDY4Yjk2MDBjNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29u
dGV4dEdMQU5HTEUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKQEAgLTM4MywxOSArMzgzLDIxIEBAIHByb3RlY3Rl
ZDoKICAgICBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFkQ29tcG9zaXRlZFJlc3VsdHMo
KTsKICAgICBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFkUGl4ZWxzRm9yUGFpbnRSZXN1
bHRzKCk7CiAKLSAgICBib29sIHJlc2hhcGVGQk9zKGNvbnN0IEludFNpemUmKTsKKyAgICBlbnVt
IGNsYXNzIFJlc3VsdCA6IGJvb2wgeworICAgICAgICBGYWlsdXJlID0gZmFsc2UsCisgICAgICAg
IFN1Y2Nlc3MgPSB0cnVlCisgICAgfTsKKyAgICBSZXN1bHQgcmVzaGFwZUZCT3MoY29uc3QgSW50
U2l6ZSYpIFdBUk5fVU5VU0VEX1JFVFVSTjsKICAgICB2b2lkIHByZXBhcmVUZXh0dXJlSW1wbCgp
OwogICAgIHZvaWQgcmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeShjb25zdCBJbnRSZWN0
JiA9IEludFJlY3QoKSk7CiAgICAgdm9pZCBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxCdWZmZXJJZk5l
ZWRlZChHQ0dMdWludCBpbnRlcm5hbERlcHRoU3RlbmNpbEZvcm1hdCwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0KTsKLQotICAgIGJvb2wgcmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCk7CisgICAg
UmVzdWx0IHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZygpIFdBUk5fVU5VU0VEX1JFVFVSTjsK
ICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBib29sIGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZm
ZXJCYWNraW5nKCk7Ci0gICAgYm9vbCBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlx
dWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcik7CisgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCBSZXN1bHQgYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmco
KSBXQVJOX1VOVVNFRF9SRVRVUk47CisgICAgUmVzdWx0IGJpbmREaXNwbGF5QnVmZmVyQmFja2lu
ZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKSBXQVJO
X1VOVVNFRF9SRVRVUk47CiAgICAgc3RhdGljIGJvb2wgbWFrZUN1cnJlbnQoUGxhdGZvcm1HcmFw
aGljc0NvbnRleHRHTERpc3BsYXksIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0wpOwogI2VuZGlm
Ci0gICAgLy8gUmV0dXJucyBmYWxzZSBpZiBjb250ZXh0IHNob3VsZCBiZSBsb3N0IGR1ZSB0byB0
aW1lb3V0LgotICAgIGJvb2wgd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkgV0FSTl9VTlVTRURf
UkVUVVJOOworICAgIFJlc3VsdCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBXQVJOX1VOVVNF
RF9SRVRVUk47CiAKICAgICAvLyBQbGF0Zm9ybSBzcGVjaWZpYyBiZWhhdmlvciBmb3IgcmVsZWFz
ZVJlc291cmNlcygpOwogICAgIHN0YXRpYyB2b2lkIHBsYXRmb3JtUmVsZWFzZVRocmVhZFJlc291
cmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0KaW5kZXggNGQwMWVmMzhlOTNj
NGI2MTBiNzViOTVlMGYyZGIyNTUzZTE1NWE5ZC4uNjdiN2Y3ZjllZjJlMjQ1MzUzMzgyMmVmMWFh
YTIyYTZjNjVlZjk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tCkBAIC01Mjgs
NyArNTI4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTENvY29hOjp1cGRhdGVDb250ZXh0T25E
aXNwbGF5UmVjb25maWd1cmF0aW9uKCkKIH0KICNlbmRpZgogCi1ib29sIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OnJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZygpCitHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjpSZXN1bHQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZm
ZXJCYWNraW5nKCkKIHsKICAgICBBU1NFUlQoIWdldEludGVybmFsRnJhbWVidWZmZXJTaXplKCku
aXNFbXB0eSgpKTsKICAgICAvLyBSZXNldCB0aGUgY3VycmVudCBiYWNrYnVmZmVyIG5vdyBiZWZv
cmUgYWxsb2NhdGluZyBhIG5ldyBvbmUgaW4gb3JkZXIgdG8gc2xpZ2h0bHkgcmVkdWNlIG1lbW9y
eSBwcmVzc3VyZS4KQEAgLTU0NiwxMiArNTQ2LDEyIEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xB
TkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkKICAgICByZXR1cm4gYWxsb2NhdGVB
bmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKIH0KIAotYm9vbCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpCitHcmFwaGljc0Nv
bnRleHRHTEFOR0xFOjpSZXN1bHQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YWxsb2NhdGVBbmRC
aW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogewogICAgIEFTU0VSVCghZ2V0SW50ZXJuYWxGcmFt
ZWJ1ZmZlclNpemUoKS5pc0VtcHR5KCkpOwogICAgIGF1dG8gYmFja2luZyA9IElPU3VyZmFjZTo6
Y3JlYXRlKGdldEludGVybmFsRnJhbWVidWZmZXJTaXplKCksIERlc3RpbmF0aW9uQ29sb3JTcGFj
ZTo6U1JHQigpKTsKICAgICBpZiAoIWJhY2tpbmcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKIAogICAgIGJhY2tpbmctPm1pZ3JhdGVDb2xv
clNwYWNlVG9Qcm9wZXJ0aWVzKCk7CiAKQEAgLTU3MSwyMiArNTcxLDIyIEBAIGJvb2wgR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRTo6YWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQog
ICAgIH07CiAgICAgRUdMU3VyZmFjZSBwYnVmZmVyID0gRUdMX0NyZWF0ZVBidWZmZXJGcm9tQ2xp
ZW50QnVmZmVyKG1fZGlzcGxheU9iaiwgRUdMX0lPU1VSRkFDRV9BTkdMRSwgYmFja2luZy0+c3Vy
ZmFjZSgpLCBtX2NvbmZpZ09iaiwgc3VyZmFjZUF0dHJpYnV0ZXMpOwogICAgIGlmICghcGJ1ZmZl
cikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gUmVzdWx0OjpGYWlsdXJl
OwogICAgIHJldHVybiBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoV1RGTW92ZShiYWNraW5nKSwg
cGJ1ZmZlcik7CiB9CiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YmluZERpc3BsYXlC
dWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGJhY2tpbmcsIHZvaWQqIHBi
dWZmZXIpCitHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpSZXN1bHQgR3JhcGhpY3NDb250ZXh0R0xB
TkdMRTo6YmluZERpc3BsYXlCdWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+
IGJhY2tpbmcsIHZvaWQqIHBidWZmZXIpCiB7CiAgICAgR0NHTGVudW0gdGV4dHVyZVRhcmdldCA9
IGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAgICAgU2NvcGVkUmVzdG9yZVRleHR1cmVC
aW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JE
cmF3aW5nVGFyZ2V0KHRleHR1cmVUYXJnZXQpLCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlVGFyZ2V0
ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CiAgICAgR0xfQmluZFRleHR1cmUodGV4dHVyZVRh
cmdldCwgbV90ZXh0dXJlKTsKICAgICBpZiAoIUVHTF9CaW5kVGV4SW1hZ2UobV9kaXNwbGF5T2Jq
LCBwYnVmZmVyLCBFR0xfQkFDS19CVUZGRVIpKSB7CiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFj
ZShtX2Rpc3BsYXlPYmosIHBidWZmZXIpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiBSZXN1bHQ6OkZhaWx1cmU7CiAgICAgfQogICAgIG1fZGlzcGxheUJ1ZmZlclBidWZm
ZXIgPSBwYnVmZmVyOwogICAgIG1fZGlzcGxheUJ1ZmZlckJhY2tpbmcgPSBXVEZNb3ZlKGJhY2tp
bmcpOwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAK
IGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6bWFrZUN1cnJlbnQoUGxhdGZvcm1HcmFwaGlj
c0NvbnRleHRHTERpc3BsYXkgZGlzcGxheSwgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTCBjb250
ZXh0KQpAQCAtNjcwLDggKzY3MCwxMCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnBy
ZXBhcmVGb3JEaXNwbGF5KCkKIHsKICAgICBpZiAobV9sYXllckNvbXBvc2l0ZWQpCiAgICAgICAg
IHJldHVybjsKLSAgICBpZiAoIW1ha2VDb250ZXh0Q3VycmVudCgpKQorICAgIGlmICghbWFrZUNv
bnRleHRDdXJyZW50KCkpIHsKKyAgICAgICAgZm9yY2VDb250ZXh0TG9zdCgpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogICAgIHByZXBhcmVUZXh0dXJlSW1wbCgpOwogCiAgICAgLy8gVGhlIElP
U3VyZmFjZSB3aWxsIGJlIHVzZWQgZnJvbSBvdGhlciBncmFwaGljcyBzdWJzeXN0ZW0sIHNvIGZs
dXNoIEdMIGNvbW1hbmRzLgpAQCAtNjg1LDIyICs2ODcsMjUgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAKICAgICBib29sIGhhc05ld0JhY2tpbmcg
PSBmYWxzZTsKICAgICBpZiAocmVjeWNsZWRCdWZmZXIuc3VyZmFjZSAmJiByZWN5Y2xlZEJ1ZmZl
ci5zdXJmYWNlLT5zaXplKCkgPT0gZ2V0SW50ZXJuYWxGcmFtZWJ1ZmZlclNpemUoKSkgewotICAg
ICAgICBoYXNOZXdCYWNraW5nID0gYmluZERpc3BsYXlCdWZmZXJCYWNraW5nKFdURk1vdmUocmVj
eWNsZWRCdWZmZXIuc3VyZmFjZSksIHJlY3ljbGVkQnVmZmVyLmhhbmRsZSk7CisgICAgICAgIGhh
c05ld0JhY2tpbmcgPSBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoV1RGTW92ZShyZWN5Y2xlZEJ1
ZmZlci5zdXJmYWNlKSwgcmVjeWNsZWRCdWZmZXIuaGFuZGxlKSA9PSBSZXN1bHQ6OlN1Y2Nlc3M7
CiAgICAgICAgIHJlY3ljbGVkQnVmZmVyLmhhbmRsZSA9IG51bGxwdHI7CiAgICAgfQogICAgIHJl
Y3ljbGVkQnVmZmVyLnN1cmZhY2UucmVzZXQoKTsKICAgICBpZiAocmVjeWNsZWRCdWZmZXIuaGFu
ZGxlKQogICAgICAgICBFR0xfRGVzdHJveVN1cmZhY2UobV9kaXNwbGF5T2JqLCByZWN5Y2xlZEJ1
ZmZlci5oYW5kbGUpOwogCi0gICAgLy8gRXJyb3Igd2lsbCBiZSBoYW5kbGVkIGJ5IG5leHQgY2Fs
bCB0byBtYWtlQ29udGV4dEN1cnJlbnQoKSB3aGljaCB3aWxsIG5vdGljZSBsYWNrIG9mIGRpc3Bs
YXkgYnVmZmVyLgotICAgIGlmICghaGFzTmV3QmFja2luZykKLSAgICAgICAgYWxsb2NhdGVBbmRC
aW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKKyAgICBpZiAoIWhhc05ld0JhY2tpbmcpIHsKKyAg
ICAgICAgaWYgKGFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCkgPT0gUmVzdWx0
OjpGYWlsdXJlKSB7CisgICAgICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CiAKICAgICBtYXJrTGF5ZXJDb21wb3NpdGVkKCk7
CiAKICAgICBpZiAobV91c2VGZW5jZVN5bmNGb3JEaXNwbGF5UmF0ZUxpbWl0KSB7Ci0gICAgICAg
IGJvb2wgc3VjY2VzcyA9IHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgpOwotICAgICAgICBVTlVT
RURfVkFSSUFCTEUoc3VjY2Vzcyk7IC8vIEZJWE1FOiBpbXBsZW1lbnQgY29udGV4dCBsb3N0Lgor
ICAgICAgICBSZXN1bHQgcmVzdWx0ID0gd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCk7CisgICAg
ICAgIFVOVVNFRF9WQVJJQUJMRShyZXN1bHQpOyAvLyBGSVhNRTogaW1wbGVtZW50IGNvbnRleHQg
bG9zdC4KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xU
ZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmluZGV4IGNmYWQ4NDM4ZTg0NTk1MDEyZWYxOTMzZmY2YmY4
MzdmMjUyNDZhNzUuLjk1ZTFjODY4ZDcxNDEyYWY3ZWRhZDhjZDM4NWY2ZDc3ZjI4NGNhZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xF
LmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cHJl
cGFyZUZvckRpc3BsYXkoKQogewogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJl
c2hhcGVEaXNwbGF5QnVmZmVyQmFja2luZygpCitHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpSZXN1
bHQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkK
IHsKICAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKICAgICBjb25zdCBhdXRv
IHNpemUgPSBnZXRJbnRlcm5hbEZyYW1lYnVmZmVyU2l6ZSgpOwpAQCAtMjAxLDcgKzIwMSw3IEBA
IGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5n
KCkKICAgICBHTF9CaW5kVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUpOwogICAgIEdM
X1RleEltYWdlMkQodGV4dHVyZVRhcmdldCwgMCwgaW50ZXJuYWxDb2xvckZvcm1hdCwgd2lkdGgs
IGhlaWdodCwgMCwgY29sb3JGb3JtYXQsIEdMX1VOU0lHTkVEX0JZVEUsIDApOwogICAgIEdMX0Zy
YW1lYnVmZmVyVGV4dHVyZTJEKEdMX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9BVFRBQ0hNRU5UMCwg
dGV4dHVyZVRhcmdldCwgbV90ZXh0dXJlLCAwKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gUmVzdWx0OjpTdWNjZXNzOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnBs
YXRmb3JtUmVsZWFzZVRocmVhZFJlc291cmNlcygpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTNkZmQzZDBlYzExODQwNjVlODhjZDcwMzJmMjYx
OTBhN2E2YjRhZS4uMTRhMmRlYjg3MTRlMWUzMTIyYzE2ODg5ZmFkNDhiZWYwNWM1ZjM4YyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIxLTEyLTA4ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+
CisKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3Qg
dHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2
aXN0by4KKworICAgICAgICBBZGQgYSB0ZXN0IHRlc3RpbmcgdGhhdCBpZiBhbGxvY2F0aW9uIG9m
IHRoZSBiYWNraW5nIHN0b3JlIGZhaWxzLAorICAgICAgICBmb3JjZUNvbnRleHRMb3N0IEdyYXBo
aWNzQ29udGV4dEdMOjpDbGllbnQgZnVuY3Rpb24gaXMgY2FsbGVkCisgICAgICAgIG9uY2UgYW5k
IG9ubHkgb25jZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2Nv
YS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1RfRik6CisKIDIwMjEtMTItMDcgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGZpbmQtaW4tcGFn
ZSBTUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2Nv
YS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCBlMTkx
MWRmNmMwOTNlMzhjOGQ0MmZhMTc5ZWZkNWU3NzJlYTY1ZGM0Li4wODQ5NTRjNzBkMTUxODRiNzY4
N2JiOTcwZmI3NjVjNzljY2NjMzZhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1Rlc3RHcmFwaGljc0NvbnRleHRH
TENvY29hLm1tCkBAIC00MCw2ICs0MCwxOCBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAK
IG5hbWVzcGFjZSB7CiAKK2NsYXNzIE1vY2tHcmFwaGljc0NvbnRleHRHTENsaWVudCA6IHB1Ymxp
YyBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTDo6Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2b2lk
IGRpZENvbXBvc2l0ZSgpIG92ZXJyaWRlIHsgZGlkQ29tcG9zaXRlQ2FsbGVkKys7IH07CisgICAg
dm9pZCBmb3JjZUNvbnRleHRMb3N0KCkgb3ZlcnJpZGUgeyBmb3JjZUNvbnRleHRMb3N0Q2FsbGVk
Kys7IH07CisgICAgdm9pZCByZWN5Y2xlQ29udGV4dCgpIG92ZXJyaWRlIHsgcmVjeWNsZUNvbnRl
eHRDYWxsZWQrKzsgfTsKKyAgICB2b2lkIGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRp
b24oKSBvdmVycmlkZSB7IGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb25DYWxsZWQr
KzsgfQorICAgIGludCBkaWRDb21wb3NpdGVDYWxsZWQgeyAwIH07CisgICAgaW50IGZvcmNlQ29u
dGV4dExvc3RDYWxsZWQgeyAwIH07CisgICAgaW50IHJlY3ljbGVDb250ZXh0Q2FsbGVkIHsgMCB9
OworICAgIGludCBkaXNwYXRjaENvbnRleHRDaGFuZ2VkTm90aWZpY2F0aW9uQ2FsbGVkIHsgMCB9
OworfTsKKwogY2xhc3MgVGVzdGVkR3JhcGhpY3NDb250ZXh0R0xDb2NvYSA6IHB1YmxpYyBXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTENvY29hIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRy
PFRlc3RlZEdyYXBoaWNzQ29udGV4dEdMQ29jb2E+IGNyZWF0ZShXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHRHTEF0dHJpYnV0ZXMmJiBhdHRyaWJ1dGVzKQpAQCAtNDgsMTEgKzYwLDIyIEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIGNvbnRleHQ7CiAgICAgfQogICAgIFJlZlB0cjxXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ29udGVudHNEaXNwbGF5RGVsZWdhdGU+IGxheWVyQ29udGVudHNEaXNwbGF5
RGVsZWdhdGUoKSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9CisKKyAgICB2b2lkIHNldEZhaWxO
ZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nKCkgeyBtX2ZhaWxOZXh0RGlzcGxh
eUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nID0gdHJ1ZTsgfQorcHJvdGVjdGVkOgorICAgIFJl
c3VsdCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpIG92ZXJyaWRlCisgICAg
eworICAgICAgICBpZiAobV9mYWlsTmV4dERpc3BsYXlCdWZmZXJBbGxvY2F0aW9uRm9yVGVzdGlu
ZykKKyAgICAgICAgICAgIHJldHVybiBSZXN1bHQ6OkZhaWx1cmU7CisgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENvY29hOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVm
ZmVyQmFja2luZygpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBUZXN0ZWRHcmFwaGljc0NvbnRl
eHRHTENvY29hKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVz
KQogICAgICAgICA6IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ29jb2EoV1RGTW92ZShhdHRy
aWJ1dGVzKSkKICAgICB7CiAgICAgfQorICAgIGJvb2wgbV9mYWlsTmV4dERpc3BsYXlCdWZmZXJB
bGxvY2F0aW9uRm9yVGVzdGluZyB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBHcmFwaGljc0NvbnRl
eHRHTENvY29hVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgewpAQCAtMjQxLDYgKzI2NCwx
OCBAQCBURVNUX0YoR3JhcGhpY3NDb250ZXh0R0xDb2NvYVRlc3QsIFVucmVjeWNsZWREaXNwbGF5
QnVmZmVyc05vTGVha3MpCiAgICAgRVhQRUNUX1RSVUUobWVtb3J5Rm9vdHByaW50Q2hhbmdlZEJ5
KGxhc3RGb290cHJpbnQsIGZvb3RwcmludENoYW5nZSwgZm9vdHByaW50RXJyb3IpKTsKIH0KIAor
VEVTVF9GKEdyYXBoaWNzQ29udGV4dEdMQ29jb2FUZXN0LCBBbGxvY2F0aW9uRmFpbHVyZU9uUmVz
aGFwZUxvc2VzQ29udGV4dCkKK3sKKyAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVEZWZhdWx0VGVz
dENvbnRleHQoeyAyMCwgMjAgfSk7CisgICAgQVNTRVJUX05FKGNvbnRleHQsIG51bGxwdHIpOwor
ICAgIE1vY2tHcmFwaGljc0NvbnRleHRHTENsaWVudCBjbGllbnQ7CisgICAgY29udGV4dC0+YWRk
Q2xpZW50KGNsaWVudCk7CisgICAgRVhQRUNUX0VRKDAsIGNsaWVudC5mb3JjZUNvbnRleHRMb3N0
Q2FsbGVkKTsKKyAgICBjb250ZXh0LT5zZXRGYWlsTmV4dERpc3BsYXlCdWZmZXJBbGxvY2F0aW9u
Rm9yVGVzdGluZygpOworICAgIGNvbnRleHQtPnJlc2hhcGUoMTUsIDE1KTsKKyAgICBFWFBFQ1Rf
RVEoMSwgY2xpZW50LmZvcmNlQ29udGV4dExvc3RDYWxsZWQpOworfQorCiB9CiAKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="471899"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>