<?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>237071</bug_id>
          
          <creation_ts>2022-02-22 18:53:19 -0800</creation_ts>
          <short_desc>Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP</short_desc>
          <delta_ts>2022-02-27 12:30:11 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=237105</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=237258</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844975</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-02-22 18:53:19 -0800</bug_when>
    <thetext>Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844976</commentid>
    <comment_count>1</comment_count>
      <attachid>452928</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-02-22 18:55:26 -0800</bug_when>
    <thetext>Created attachment 452928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844991</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-22 19:59:51 -0800</bug_when>
    <thetext>I will be a little surprised if the ProcessSwap.ResponsePolicyDownloadAfterCOOPProcessSwap API test still passes.

I added this check not long to fix a bug and added that API test to cover the change (see Bug 233798)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845128</commentid>
    <comment_count>3</comment_count>
      <attachid>452928</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-23 07:15:57 -0800</bug_when>
    <thetext>Comment on attachment 452928
Patch

No API test failures, things must have changed since this check was added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845131</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-23 07:21:42 -0800</bug_when>
    <thetext>Committed r290371 (247687@main): &lt;https://commits.webkit.org/247687@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452928.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845132</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-23 07:22:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/89354367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845901</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-02-24 21:10:31 -0800</bug_when>
    <thetext>Reverted in r290493</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845903</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-02-24 21:10:58 -0800</bug_when>
    <thetext>*** Bug 237105 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846015</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-25 08:06:02 -0800</bug_when>
    <thetext>So here is what&apos;s happening:
1. We navigate to https://webkit.org/path1 in Process A
2. We request a navigation to https://example.com/path3.
3. Because the navigation is cross-site, PSON triggers and starts a provisional load in Process B AND tells Process A to stop all loads (no more provisional load going on in Process A).
4. When we receive the response for https://example.com/path3, the COOP header is present is triggers yet another process swap to process C.
5. We start a provisional load in process C and Process B actually goes away because it is associated with a ProvisionalPageProxy and the WebPageProxy can only have one ProvisionalPageProxy at any point, and we are constructing a new ProvisionalPageProxy for process C.
6. So at this point, we only have committed Process A and provisional Process C. There is no longer a provisional load going on in Process A (it was going on in Process B which was canceled before it got committed).
6. Then the client blocks the navigation via DecidePolicyForNavigationResponse which causes the ProvisionalPageProxy to go away. Normally, destroying the ProvisionalPageProxy would stop the provisional load in the committed process and cause a didFailProvisionalLoad to get sent to the client. However, in this case, it is not happening since there is no longer a provisional load going on in Process A (because PSON and the provisional load to process B messed with that).

I am looking into how to best fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846044</commentid>
    <comment_count>9</comment_count>
      <attachid>453223</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-25 09:19:01 -0800</bug_when>
    <thetext>Created attachment 453223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846127</commentid>
    <comment_count>10</comment_count>
      <attachid>453223</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-25 12:03:13 -0800</bug_when>
    <thetext>Comment on attachment 453223
Patch

Looks like I messed up something. Will investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846158</commentid>
    <comment_count>11</comment_count>
      <attachid>453252</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-25 13:22:47 -0800</bug_when>
    <thetext>Created attachment 453252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846434</commentid>
    <comment_count>12</comment_count>
      <attachid>453252</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-27 08:17:16 -0800</bug_when>
    <thetext>Comment on attachment 453252
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:1839
&gt; +    SetForScope&lt;bool&gt; isStoppingLoadingDueToProcessSwap(m_isStoppingLoadingDueToProcessSwap, true);

Do we still need to write &lt;bool&gt;? If so, maybe we should add deduction guides so we don’t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846439</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-27 08:34:22 -0800</bug_when>
    <thetext>Committed r290563 (247841@main): &lt;https://commits.webkit.org/247841@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453252.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846476</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-27 12:30:11 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #12)
&gt; Comment on attachment 453252 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453252&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:1839
&gt; &gt; +    SetForScope&lt;bool&gt; isStoppingLoadingDueToProcessSwap(m_isStoppingLoadingDueToProcessSwap, true);
&gt; 
&gt; Do we still need to write &lt;bool&gt;? If so, maybe we should add deduction
&gt; guides so we don’t.

No we don&apos;t. Following up in Bug 237258.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452928</attachid>
            <date>2022-02-22 18:55:26 -0800</date>
            <delta_ts>2022-02-25 09:18:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237071-20220222185525.patch</filename>
            <type>text/plain</type>
            <size>6578</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQxOTc5YjRkMmNhN2E0ODUw
ZGFjMjc3YzcxMDQ4NGNjOTM5ZWUzOGQuLmMyZDUzMTczZWRjNzJlNmQ0NGQ1YzMzMmY1N2YzZjkz
NmM5NjAzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDItMjIgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBDYWxsIFdLTmF2
aWdhdGlvbkRlbGVnYXRlLmRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24gZXZlbiBhZnRlciBh
IGNyb3NzLW9yaWdpbiBuYXZpZ2F0aW9uIHdpdGggQ09PUAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDcxCisgICAgICAgIDxyZGFyOi8vODg2NTIz
NzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
cmUgd2FzIGFuIGFzc3VtcHRpb24gdGhhdCB0aGlzIGNhbGxiYWNrIHdhc24ndCBuZWVkZWQgaW4g
dGhpcyBjYXNlLCBidXQgaXQgaXMuCisgICAgICAgIENvdmVyZWQgYnkgYW4gQVBJIHRlc3QgdGhh
dCB2ZXJpZmllcyB0aGUgY2FsbGJhY2sgaXMgcmVjZWl2ZWQuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25h
bFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKToKKwogMjAyMi0wMi0y
MiAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBG
aXggbGlmZXRpbWUgaXNzdWUgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
cm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5kZXggNjM0NTRhOWUyOGY5NWYyNjIxZmVmMWNkN2M1
NzAxZWRiNjk1MjNlYS4uNjlhMjA3NDYxMWYwM2M1MTg5OTYzYmIwZjg5MTg5ZTdlNzZiNWMwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNw
cApAQCAtMjk3LDE1ICsyOTcsNiBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRGYWls
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSQogICAgIEFTU0VS
VCghbV9wcm92aXNpb25hbExvYWRVUkwuaXNOdWxsKCkpOwogICAgIG1fcHJvdmlzaW9uYWxMb2Fk
VVJMID0geyB9OwogCi0gICAgaWYgKG1faXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRpb25SZXNw
b25zZSkgewotICAgICAgICAvLyBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBmYWlscyBhbmQgd2Ug
d2VyZSBwcm9jZXNzLXN3YXBwaW5nIG9uIG5hdmlnYXRpb24gcmVzcG9uc2UsIHRoZW4gd2Ugc2lt
cGx5IGRlc3Ryb3kgb3Vyc2VsdmVzLgotICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHRoZSBwcm92
aXNpb25hbCBsb2FkIGlzIHN0aWxsIG9uZ29pbmcgaW4gdGhlIGNvbW1pdHRlZCBwcm9jZXNzIGFu
ZCB0aGUgUHJvdmlzaW9uYWxQYWdlUHJveHkgZGVzdHJ1Y3RvcgotICAgICAgICAvLyB3aWxsIHN0
b3AgaXQgYW5kIGNhdXNlIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzZW5kIGl0cyBvd24gRGlk
RmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lIElQQy4KLSAgICAgICAgQVNTRVJUKG1fcGFnZS5w
cm92aXNpb25hbFBhZ2VQcm94eSgpID09IHRoaXMpOwotICAgICAgICBtX3BhZ2UuZGVzdHJveVBy
b3Zpc2lvbmFsUGFnZSgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgLy8gTWFrZSBz
dXJlIHRoZSBQYWdlJ3MgbWFpbiBmcmFtZSdzIGV4cGVjdGVkVVJMIGdldHMgY2xlYXJlZCBzaW5j
ZSB3ZSB1cGRhdGVkIGl0IGluIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkLgogICAgIGlmIChhdXRv
KiBwYWdlTWFpbkZyYW1lID0gbV9wYWdlLm1haW5GcmFtZSgpKQogICAgICAgICBwYWdlTWFpbkZy
YW1lLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTBmNjIzZWMwNDRjYzhhNTBmZWJkZWY2ZTIwZDA5
N2U5NDliYjU2Yy4uZWQzN2FjYWRlNTkxOTE1MjAzMDM1YzhlNjJiNzBjYzM2ZWNjZTNiOSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDIyLTAyLTIyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQ2FsbCBXS05hdmlnYXRpb25EZWxlZ2F0ZS5kaWRGYWlsUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uIGV2ZW4gYWZ0ZXIgYSBjcm9zcy1vcmlnaW4gbmF2aWdhdGlvbiB3aXRo
IENPT1AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NzA3MQorICAgICAgICA8cmRhcjovLzg4NjUyMzc1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9OYXZpZ2F0aW9uLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjItMDItMjIgIFBoaWxpcHBl
IE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIFN3
aXRjaCBtZWRpYSBwbGF5ZXIgdG8gcGxheWJpbjMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlvbi5tbQppbmRleCA5M2M1Nzk5NDI3MjRiNDk5
YzMzMzA0MGYxM2ZhMDAwODI0Mjk0NWM0Li4xMTMyOWUwYjAzMDNlYzM3Zjg2NWI4ZGNhMzUyYWJh
NDFiNjFmYTNkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL05hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9OYXZpZ2F0aW9uLm1tCkBAIC0zOCw2ICszOCw4IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tO
YXZpZ2F0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJL
aXQvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAj
aW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEwMTAsMyArMTAxMiw1NCBAQCBURVNUKFdLTmF2
aWdhdGlvbiwgTG9hZFJhZGFyVVJMRnJvbVNhbmRib3hlZEZyYW1lTWlzc2luZ1VzZXJHZXN0dXJl
KQogCiAgICAgRVhQRUNUX0ZBTFNFKGRpZFRyeVRvTG9hZFJhZGFyVVJMKTsKIH0KKworVEVTVChX
S05hdmlnYXRpb24sIENyb3NzT3JpZ2luQ09PUENhbmNlbFJlc3BvbnNlRmFpbFByb3Zpc2lvbmFs
TmF2aWdhdGlvbkNhbGxiYWNrKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
OworICAgIEhUVFBTZXJ2ZXIgc2VydmVyKHsKKyAgICAgICAgeyAiL3BhdGgxIiwgeyAiaGkiIH0g
fSwKKyAgICAgICAgeyAiL3BhdGgyIiwgeyAiaGkiIH0gfSwKKyAgICAgICAgeyAiL3BhdGgzIiwg
eyB7IHsgIkNyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IiwgInNhbWUtb3JpZ2luIiB9IH0sICJo
aSIgfSB9CisgICAgfSwgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzUHJveHkpOworCisgICAg
YXV0byBzdG9yZUNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXROb25QZXJzaXN0ZW50Q29uZmlndXJhdGlvbl0pOworICAg
IFtzdG9yZUNvbmZpZ3VyYXRpb24gc2V0UHJveHlDb25maWd1cmF0aW9uOkB7CisgICAgICAgIChO
U1N0cmluZyAqKWtDRlN0cmVhbVByb3BlcnR5SFRUUFNQcm94eUhvc3Q6IEAiMTI3LjAuMC4xIiwK
KyAgICAgICAgKE5TU3RyaW5nICopa0NGU3RyZWFtUHJvcGVydHlIVFRQU1Byb3h5UG9ydDogQChz
ZXJ2ZXIucG9ydCgpKQorICAgIH1dOworICAgIGF1dG8gZGF0YVN0b3JlID0gYWRvcHROUyhbW1dL
V2Vic2l0ZURhdGFTdG9yZSBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpzdG9yZUNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtXS1dl
YlZpZXdDb25maWd1cmF0aW9uIG5ld10pOworICAgIFtjb25maWd1cmF0aW9uIHNldFdlYnNpdGVE
YXRhU3RvcmU6ZGF0YVN0b3JlLmdldCgpXTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBfX2Jsb2NrIFZlY3Rvcjxib29sPiBmaW5pc2hl
ZFN1Y2Nlc3NmdWxseUNhbGxiYWNrczsKKyAgICBhdXRvIGxvYWRXaXRoUmVzcG9uc2VQb2xpY3kg
PSBeKFdLV2ViVmlldyAqd2ViVmlldywgTlNTdHJpbmcgKnVybCwgV0tOYXZpZ2F0aW9uUmVzcG9u
c2VQb2xpY3kgcmVzcG9uc2VQb2xpY3kpIHsKKyAgICAgICAgYXV0byBjYWxsYmFja3NTaXplQmVm
b3JlID0gZmluaXNoZWRTdWNjZXNzZnVsbHlDYWxsYmFja3Muc2l6ZSgpOworCisgICAgICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIG5ld10pOworICAg
ICAgICBkZWxlZ2F0ZS5nZXQoKS5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UgPSBe
KFdLTmF2aWdhdGlvblJlc3BvbnNlICpyZXNwb25zZSwgdm9pZCAoXmRlY2lzaW9uSGFuZGxlciko
V0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xpY3kpKSB7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRs
ZXIocmVzcG9uc2VQb2xpY3kpOworICAgICAgICB9OworCisgICAgICAgIGRlbGVnYXRlLmdldCgp
LmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSA9IF4oV0tXZWJWaWV3ICosIE5TVVJM
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgKmNoYWxsZW5nZSwgdm9pZCAoXmNvbXBsZXRpb25IYW5k
bGVyKShOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlh
bCAqKSkgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoTlNVUkxTZXNzaW9uQXV0aENo
YWxsZW5nZVVzZUNyZWRlbnRpYWwsIFtOU1VSTENyZWRlbnRpYWwgY3JlZGVudGlhbEZvclRydXN0
OmNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHJ1c3RdKTsKKyAgICAgICAgfTsKKyAg
ICAgICAgZGVsZWdhdGUuZ2V0KCkuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IF4oV0tX
ZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopIHsKKyAgICAgICAgICAgIGZpbmlz
aGVkU3VjY2Vzc2Z1bGx5Q2FsbGJhY2tzLmFwcGVuZChmYWxzZSk7CisgICAgICAgIH07CisgICAg
ICAgIGRlbGVnYXRlLmdldCgpLmRpZEZpbmlzaE5hdmlnYXRpb24gPSBeKFdLV2ViVmlldyAqLCBX
S05hdmlnYXRpb24gKikgeworICAgICAgICAgICAgZmluaXNoZWRTdWNjZXNzZnVsbHlDYWxsYmFj
a3MuYXBwZW5kKHRydWUpOworICAgICAgICB9OworICAgICAgICBbd2ViVmlldyBzZXROYXZpZ2F0
aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgICAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOnVybF1d
XTsKKyAgICAgICAgd2hpbGUgKGZpbmlzaGVkU3VjY2Vzc2Z1bGx5Q2FsbGJhY2tzLnNpemUoKSA9
PSBjYWxsYmFja3NTaXplQmVmb3JlKQorICAgICAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
c3BpblJ1bkxvb3AoMTApOworICAgIH07CisKKyAgICBsb2FkV2l0aFJlc3BvbnNlUG9saWN5KHdl
YlZpZXcuZ2V0KCksIEAiaHR0cHM6Ly93ZWJraXQub3JnL3BhdGgxIiwgV0tOYXZpZ2F0aW9uUmVz
cG9uc2VQb2xpY3lBbGxvdyk7CisgICAgbG9hZFdpdGhSZXNwb25zZVBvbGljeSh3ZWJWaWV3Lmdl
dCgpLCBAImh0dHBzOi8vd2Via2l0Lm9yZy9wYXRoMiIsIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9s
aWN5Q2FuY2VsKTsKKyAgICBsb2FkV2l0aFJlc3BvbnNlUG9saWN5KHdlYlZpZXcuZ2V0KCksIEAi
aHR0cHM6Ly9leGFtcGxlLmNvbS9wYXRoMyIsIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5Q2Fu
Y2VsKTsKKworICAgIFZlY3Rvcjxib29sPiBleHBlY3RlZENhbGxiYWNrcyB7IHRydWUsIGZhbHNl
LCBmYWxzZSB9OworICAgIEVYUEVDVF9FUShmaW5pc2hlZFN1Y2Nlc3NmdWxseUNhbGxiYWNrcywg
ZXhwZWN0ZWRDYWxsYmFja3MpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453223</attachid>
            <date>2022-02-25 09:19:01 -0800</date>
            <delta_ts>2022-02-25 13:30:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237071-20220225091900.patch</filename>
            <type>text/plain</type>
            <size>13241</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyNTcwNTc4MmRmMTUzZmIx
MGYxZDliNjYzMTRhYWVhNjViYzhjNWUuLmIwNjE2MDFlMzM1ZmE1Yzc1Y2MxNjJlZTM3ZWUxODg1
MmQzOTRlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMjItMDItMjUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBDYWxsIFdLTmF2aWdhdGlvbkRlbGVn
YXRlLmRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24gZXZlbiBhZnRlciBhIGNyb3NzLW9yaWdp
biBuYXZpZ2F0aW9uIHdpdGggQ09PUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM3MDcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTM1NDM2Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRv
aW5nIGEgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRpb24gKFBTT04pLCB3ZSBzdGFydCBhIG5ldyBw
cm92aXNpb25hbCBsb2FkIGluIHRoZSBuZXcgcHJvdmlzaW9uYWwKKyAgICAgICAgcHJvY2VzcyBh
bmQgYXNrIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzdG9wIGFsbCBsb2Fkcy4gVGhlIGNvbW1p
dHRlZCBwcm9jZXNzIHNlbmRzIHVzIGEKKyAgICAgICAgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCAo
c2luY2Ugd2Ugc3RvcHBlZCBpdHMgcHJvdmlzaW9uYWwgbG9hZCkgYnV0IHdlIGlnbm9yZSBpdCBz
aW5jZSB3ZSBrbm93IHdlJ3JlCisgICAgICAgIHNpbXBseSBjb250aW51aW5nIHRoaXMgcHJvdmlz
aW9uYWwgbG9hZCBpbiBhIG5ldyBwcm92aXNpb25hbCBwYWdlIC8gcHJvY2Vzcy4gSWYgdGhlIHBy
b3Zpc2lvbmFsIHByb2Nlc3MKKyAgICAgICAgc2VuZHMgdXMgYSBkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkIHRob3VnaCwgd2Uga25vdyB0aGUgcHJvdmlzaW9uYWwgbG9hZCBoYXMgZmFpbGVkIGFuZCB3
ZSB0YWtlIHRoaXMgaW50bworICAgICAgICBjb25zaWRlcmF0aW9uIGFuZCBub3RpZnkgdGhlIGNs
aWVudCBhcHAuCisKKyAgICAgICAgV2hlbiBkb2luZyBhIHByb2Nlc3Mgc3dhcCBvbiByZXNvdXJj
ZSByZXNwb25zZSAoZHVlIHRvIENPT1ApLCB3ZSB3ZXJlIGJlaGF2aW5nIGRpZmZlcmVudGx5IGFu
ZCBpdCB3YXMKKyAgICAgICAgY2F1c2luZyBzb21lIGNvbmZ1c2lvbi4gRmlyc3RseSwgd2Ugd291
bGQgTk9UIGFzayB0aGUgY29tbWl0dGVkIHByb2Nlc3MgdG8gc3RvcCBhbGwgbG9hZHMgc28gdGhl
CisgICAgICAgIHByb3Zpc2lvbmFsIGxvYWQgd291bGQgc3RpbGwgYmUgZ29pbmcgb24gaW4gdGhl
IGNvbW1pdHRlZCBwcm9jZXNzIHdoaWxlIGFub3RoZXIgcHJvdmlzaW9uYWwgbG9hZCBzdGFydHMK
KyAgICAgICAgaGFwcGVuaW5nIGluIHRoZSBwcm92aXNpb25hbCBwYWdlIC8gcHJvY2Vzcy4gVGhl
biwgaWYgdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3Mgd291bGQgc2VuZCB1cyBhCisgICAgICAgIGRp
ZEZhaWxQcm92aXNpb25hbCwgd2Ugd291bGQgbm90IHBhc3MgaXQgYWxvbmcgdG8gdGhlIGNsaWVu
dCBhcHAuIEluc3RlYWQgd2Ugd291bGQgZGVzdHJveSB0aGUKKyAgICAgICAgUHJvdmlzaW9uYWxQ
YWdlUHJveHksIHdoaWNoIHdvdWxkIHRlbGwgdGhlIGNvbW1pdHRlZCBwcm9jZXNzIHRvIHN0b3Ag
bG9hZGluZyBhbmQgc2VuZCBpdHMgb3duCisgICAgICAgIGRpZEZhaWxQcm92aXNpb25hbExvYWQs
IGFuZCB0aGUgY2xpZW50IGFwcCB3b3VsZCBldmVudHVhbGx5IGdldCBub3RpZmllZC4KKworICAg
ICAgICBFdmVuIHRob3VnaCB0aGUgZGlmZmVyZW5jZSBpbiBiZWhhdmlvciB3YXMgY29uZnVzaW5n
LCBpdCB3YXMgd29ya2luZyBpbiBtb3N0IGNhc2VzLiBUaGVyZSB3YXMgaG93ZXZlcgorICAgICAg
ICBhbiBlZGdlIGNhc2Ugd2hlcmUgaXQgZGlkbid0IHdvcmsgYW5kIHdlIHdvdWxkIGZhaWwgdG8g
dGVsbCB0aGUgY2xpZW50IGFwcCB0aGF0IHRoZSBwcm92aXNpb25hbCBsb2FkCisgICAgICAgIGhh
ZCBmYWlsZWQuIEluIHBhcnRpY3VsYXIsIHdlIHdvdWxkIHJ1biBpbnRvIHRyb3VibGUgd2hlbiBu
YXZpZ2F0aW5nIGNyb3NzLXNpdGUgdG8gYSBzaXRlIHRoYXQgYWRvcHRlZAorICAgICAgICB0aGUg
Q09PUCBoZWFkZXIuIFdlIHdvdWxkIGZpcnN0IGRvIGEgcHJvY2Vzcy1zd2FwIG9uIG5hdmlnYXRp
b24sIHN0b3AgdGhlIHByb3Zpc2lvbmFsIGxvYWQgaW4gdGhlIGNvbW1pdHRlZAorICAgICAgICBw
cm9jZXNzIEEsIHRoZW4gc3RhcnQgYSBwcm92aXNpb25hbCBsb2FkIGluIHByb2Nlc3MgQi4gV2Ug
d291bGQgdGhlbiBnZXQgdGhlIENPT1AgaGVhZGVyIGFuZCB3ZSB3b3VsZAorICAgICAgICBzdGFy
dCBhIG5ldyBwcm92aXNpb25hbCBsb2FkIGluIHByb2Nlc3MgQy4gUHJvY2VzcyBCIHdvdWxkIGdv
IGF3YXkgc2luY2Ugd2UgY2Fubm90IGhhdmUgMiBwcm92aXNpb25hbAorICAgICAgICBwYWdlcyAv
IHByb2Nlc3NlcyBhdCB0aGUgc2FtZSB0aW1lIGZvciB0aGUgc2FtZSBXZWJQYWdlUHJveHkuIFRo
ZW4gaWYgdGhlIHByb3Zpc2lvbmFsIGxvYWQgZmFpbHMgaW4KKyAgICAgICAgcHJvY2VzcyBDLCB3
ZSB3b3VsZCBpZ25vcmUgdGhlIGRpZEZhaWxQcm92aXNpb25hbExvYWQgZnJvbSBwcm9jZXNzIEMg
YW5kIGRlc3Ryb3kgdGhlIHByb3Zpc2lvbmFsIHBhZ2UuCisgICAgICAgIFdlIHdvdWxkIHRlbGwg
dGhlIGNvbW1pdHRlZCBwcm9jZXNzIEEgdG8gc3RvcCBsb2FkaW5nLCBleHBlY3RpbmcgaXQgdG8g
c2VuZCBpdHMgb3duIGRpZEZhaWxQcm92aXNpb25hbExvYWQKKyAgICAgICAgYnV0IGl0IHdvdWxk
bid0IGhhcHBlbiBzaW5jZSBQU09OIGhhZCBhbHJlYWR5IHN0b3BwZWQgYWxsIGxvYWRpbmcgaW4g
cHJvY2VzcyBBIGVhcmxpZXIgd2hlbiBzd2FwcGluZyB0bworICAgICAgICBwcm9jZXNzIEIuCisK
KyAgICAgICAgVG8gYWRkcmVzcyB0aGUgaXNzdWUsIHdlIGFsaWduIENPT1AgcHJvY2VzcyBzd2Fw
IHdpdGggUFNPTiBwcm9jZXNzIHN3YXAuIFdlIG5vdyBoYXMgdGhlIGNvbW1pdHRlZCBwcm9jZXNz
CisgICAgICAgIHRvIHN0b3AgYWxsIGxvYWRzIHdoZW4gcHJvY2VzcyBzd2FwcGluZyBvbiByZXNv
dXJjZSByZXNwb25zZSBkdWUgdG8gQ09PUC4gQXMgYSByZXN1bHQsIHdoZW4gdGhlIHByb3Zpc2lv
bmFsCisgICAgICAgIGxvYWQgZmFpbHMgaW4gdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3MsIHdlIGNh
biBzaW1wbHkgcGFzcyBpdCBhbG9uZyB0byB0aGUgY2xpZW50LCBubyBtYXR0ZXIgaWYgdGhlIHBy
b2Nlc3MKKyAgICAgICAgc3dhcCBvY2N1cnJlZCBkdWUgdG8gUFNPTiBvciBDT09QLgorCisgICAg
ICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0LgorCisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zp
c2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJv
eHk6On5Qcm92aXNpb25hbFBhZ2VQcm94eSk6CisgICAgICAgIFdlIG5vIGxvbmdlciBuZWVkIHRv
IHRlbGwgdGhlIGNvbW1pdHRlZCBwcm9jZXNzIHRvIHN0b3AgbG9hZGluZyB3aGVuIHRoZSBwcm92
aXNpb25hbCBwYWdlIGdldHMgZGVzdHJveWVkCisgICAgICAgIGFuZCB0aGlzIHdhcyBhIHByb2Nl
c3Mgc3dhcCBvbiByZXNvdXJjZSByZXNwb25zZS4gVGhlIHJlYXNvbiBpcyB0aGF0IHdoZW4gcHJv
Y2Vzcy1zd2FwcGluZyBvbiBuYXZpZ2F0aW9uCisgICAgICAgIHJlc3BvbnNlLCB3ZSBub3cgZHJv
cCB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpbiB0aGUgY29tbWl0dGVkIHByb2Nlc3MgcmlnaHQgYXdh
eSwgbGlrZSBpbiB0aGUgUFNPTiBjYXNlLgorCisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFs
UGFnZVByb3h5OjpjYW5jZWwpOgorICAgICAgICBXaGVuIGNhbmNlbGxpbmcgYSBwcm92aXNpb25h
bCBsb2FkIGR1ZSB0byBQU09OIG9yIENPT1AsIHdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQg
dGhhdCB0aGUgcHJvdmlzaW9uYWwKKyAgICAgICAgbG9hZCBmYWlsZWQuIFdlIHVzZWQgdG8gb25s
eSB0byBpdCBpbiB0aGUgUFNPTiBjYXNlLiBXZSBub3cgZG8gaXQgZm9yIGJvdGggUFNPTiBhbmQg
Q09PUCBzaW5jZSB0aGV5CisgICAgICAgIGJlaGF2ZSB0aGUgc2FtZS4KKworICAgICAgICAoV2Vi
S2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1l
KToKKyAgICAgICAgU2ltaWxhcmx5IGFzIGFib3ZlLCBub3cgdGhhdCBQU09OIGFuZCBDT09QIGJl
aGF2ZSB0aGUgc2FtZSwgd2UgbmVlZCB0byBwYXNzIHRoZSBkaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
CisgICAgICAgIGZyb20gdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3MgdG8gdGhlIGNsaWVudCBhcHAg
Zm9yIGJvdGggUFNPTiBhbmQgQ09PUCAoTm90IGp1c3QgUFNPTikuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp0
cmlnZ2VyQnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hGb3JOYXZpZ2F0aW9uKToKKyAgICAgICAg
V2hlbiB0cmlnZ2VyaW5nIGEgcHJvY2VzcyBzd2FwIG9uIHJlc291cmNlIHJlc3BvbnNlIChkdWUg
dG8gQ09PUCksIHdlIG5vdyBzdG9wIHRoZSBwcm92aXNpb25hbCBsb2FkIGdvaW5nCisgICAgICAg
IG9uIGluIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBiZSBjb25zaXN0ZW50IHdpdGggd2hhdCB3
ZSBkbyBpbiB0aGUgUFNPTiBjYXNlLiBUaGlzIHdheSB0aGVyZSBpcyBvbmx5IGEKKyAgICAgICAg
c2luZ2xlIHByb3Zpc2lvbmFsIGxvYWQgZ29pbmcgb24gYW5kIGl0IGlzIGhhcHBlbmluZyBpbiB0
aGUgcHJvdmlzaW9uYWwgcGFnZSAvIHByb2Nlc3MuCisKKwogMjAyMi0wMi0yNSAgS2ltbW8gS2lu
bnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4OTU4
MCk6IFsgaU9TIG1hY09TIF0gVGVzdFdlYktpdEFQSS5JUENUZXN0aW5nQVBJLkNhblJlY2VpdmVT
aGFyZWRNZW1vcnkgaXMgYSBjb25zdGFudCB0aW1lb3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5kZXggNjM0NTRhOWUyOGY5NWYyNjIx
ZmVmMWNkN2M1NzAxZWRiNjk1MjNlYS4uMDUyOTZhZDAyZDQ2YWE1MzdmZTQxMzhhNzQzZjBiNjhl
OGE3MWE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFn
ZVByb3h5LmNwcApAQCAtMTE4LDEyICsxMTgsNiBAQCBQcm92aXNpb25hbFBhZ2VQcm94eTo6flBy
b3Zpc2lvbmFsUGFnZVByb3h5KCkKICAgICAgICAgbV9wcm9jZXNzLT5yZW1vdmVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dl
YlBhZ2VJRCk7CiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCkpOwogICAg
ICAgICBtX3Byb2Nlc3MtPnJlbW92ZVZpc2l0ZWRMaW5rU3RvcmVVc2VyKG1fcGFnZS52aXNpdGVk
TGlua1N0b3JlKCksIG1fcGFnZS5pZGVudGlmaWVyKCkpOwotCi0gICAgICAgIC8vIElmIHdlIHdl
cmUgcHJvY2Vzcy1zd2FwcGluZyBvbiBuYXZpZ2F0aW9uIHJlc3BvbnNlIHRoZW4gdGhlcmUgaXMg
c3RpbGwgYSBwcm92aXNpb25hbCBsb2FkIGdvaW5nIG9uIGluIHRoZSBwcmV2aW91cyBwcm9jZXNz
Ci0gICAgICAgIC8vIGFuZCBpdHMgbGF5ZXIgdHJlZSBpcyBmcm96ZW4uIFNpbmNlIHdlIGRpZG4n
dCBlbmQgdXAgY29tbWl0dGluZyB0aGUgcHJvdmlzaW9uYWwgcHJvY2Vzcywgd2UgbmVlZCB0byBz
dG9wIHRoZSBsb2FkIGluIHRoZQotICAgICAgICAvLyBwcmV2aW91cyBwcm9jZXNzIHNvIHRoYXQg
aXQgY2FuY2VscyBpdHMgbmF2aWdhdGlvbiBhbmQgdW5mcmVlemVzIGl0cyBsYXllciB0cmVlLgot
ICAgICAgICBpZiAoaXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRpb25SZXNwb25zZSgpKQotICAg
ICAgICAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BMb2FkaW5nKCkpOwog
ICAgIH0KIAogICAgIG1fcHJvY2Vzcy0+cmVtb3ZlUHJvdmlzaW9uYWxQYWdlUHJveHkoKnRoaXMp
OwpAQCAtMTQzLDcgKzEzNyw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBQ
cm92aXNpb25hbFBhZ2VQcm94eTo6dGFrZURyYXdpbmdBcmVhKCkKIHZvaWQgUHJvdmlzaW9uYWxQ
YWdlUHJveHk6OmNhbmNlbCgpCiB7CiAgICAgLy8gSWYgdGhlIHByb3Zpc2lvbmFsIGxvYWQgc3Rh
cnRlZCwgdGhlbiBpbmRpY2F0ZSB0aGF0IGl0IGZhaWxlZCBkdWUgdG8gY2FuY2VsbGF0aW9uIGJ5
IGNhbGxpbmcgZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKCkuCi0gICAgaWYgKG1fcHJv
dmlzaW9uYWxMb2FkVVJMLmlzRW1wdHkoKSB8fCBtX2lzUHJvY2Vzc1N3YXBwaW5nT25OYXZpZ2F0
aW9uUmVzcG9uc2UpCisgICAgaWYgKG1fcHJvdmlzaW9uYWxMb2FkVVJMLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKG1fcHJvY2Vzcy0+c3RhdGUoKSA9PSBXZWJQcm9j
ZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKTsKQEAgLTI5NywxNSArMjkxLDYgQEAgdm9pZCBQcm92
aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKEZyYW1lSWRl
bnRpZmllciBmcmFtZUkKICAgICBBU1NFUlQoIW1fcHJvdmlzaW9uYWxMb2FkVVJMLmlzTnVsbCgp
KTsKICAgICBtX3Byb3Zpc2lvbmFsTG9hZFVSTCA9IHsgfTsKIAotICAgIGlmIChtX2lzUHJvY2Vz
c1N3YXBwaW5nT25OYXZpZ2F0aW9uUmVzcG9uc2UpIHsKLSAgICAgICAgLy8gSWYgdGhlIHByb3Zp
c2lvbmFsIGxvYWQgZmFpbHMgYW5kIHdlIHdlcmUgcHJvY2Vzcy1zd2FwcGluZyBvbiBuYXZpZ2F0
aW9uIHJlc3BvbnNlLCB0aGVuIHdlIHNpbXBseSBkZXN0cm95IG91cnNlbHZlcy4KLSAgICAgICAg
Ly8gSW4gdGhpcyBjYXNlLCB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpcyBzdGlsbCBvbmdvaW5nIGlu
IHRoZSBjb21taXR0ZWQgcHJvY2VzcyBhbmQgdGhlIFByb3Zpc2lvbmFsUGFnZVByb3h5IGRlc3Ry
dWN0b3IKLSAgICAgICAgLy8gd2lsbCBzdG9wIGl0IGFuZCBjYXVzZSB0aGUgY29tbWl0dGVkIHBy
b2Nlc3MgdG8gc2VuZCBpdHMgb3duIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSBJUEMu
Ci0gICAgICAgIEFTU0VSVChtX3BhZ2UucHJvdmlzaW9uYWxQYWdlUHJveHkoKSA9PSB0aGlzKTsK
LSAgICAgICAgbV9wYWdlLmRlc3Ryb3lQcm92aXNpb25hbFBhZ2UoKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUGFnZSdzIG1haW4gZnJhbWUncyBleHBl
Y3RlZFVSTCBnZXRzIGNsZWFyZWQgc2luY2Ugd2UgdXBkYXRlZCBpdCBpbiBkaWRTdGFydFByb3Zp
c2lvbmFsTG9hZC4KICAgICBpZiAoYXV0byogcGFnZU1haW5GcmFtZSA9IG1fcGFnZS5tYWluRnJh
bWUoKSkKICAgICAgICAgcGFnZU1haW5GcmFtZS0+ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggODU1Mjg0NTcwZWVi
ZjJhOGU0OTQ4N2JkOGU1M2Q0NTM0OGE0NjEwNC4uMDUyOGIyNzIwYmRlZjAzODI4YWU0NGMxMTVh
Y2Q4Zjk5ZTA1ZDA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC01NzU0LDYgKzU3NTQsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dHJpZ2dlckJyb3dzaW5n
Q29udGV4dEdyb3VwU3dpdGNoRm9yTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZwogICAgIGVsc2UK
ICAgICAgICAgcHJvY2Vzc0Zvck5hdmlnYXRpb24gPSBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCku
cHJvY2Vzc0ZvclJlZ2lzdHJhYmxlRG9tYWluKHdlYnNpdGVEYXRhU3RvcmUoKSwgcmVzcG9uc2VE
b21haW4sIG1fcHJvY2Vzcy0+Y2FwdGl2ZVBvcnRhbE1vZGUoKSk7CiAKKyAgICAvLyBUZWxsIGNv
bW1pdHRlZCBwcm9jZXNzIHRvIHN0b3AgbG9hZGluZyBzaW5jZSB3ZSdyZSBnb2luZyB0byBkbyB0
aGUgcHJvdmlzaW9uYWwgbG9hZCBpbiBhIHByb3Zpc2lvbmFsIHBhZ2Ugbm93LgorICAgIGlmICgh
bV9wcm92aXNpb25hbFBhZ2UpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BM
b2FkaW5nKCkpOwogICAgIGNvbnRpbnVlTmF2aWdhdGlvbkluTmV3UHJvY2VzcygqbmF2aWdhdGlv
biwgbnVsbHB0ciwgcHJvY2Vzc0Zvck5hdmlnYXRpb24ucmVsZWFzZU5vbk51bGwoKSwgUHJvY2Vz
c1N3YXBSZXF1ZXN0ZWRCeUNsaWVudDo6Tm8sIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6
WWVzQWZ0ZXJQcm92aXNpb25hbExvYWRTdGFydGVkLCBudWxscHRyLCBleGlzdGluZ05ldHdvcmtS
ZXNvdXJjZUxvYWRJZGVudGlmaWVyVG9SZXN1bWUpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHRy
dWUpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDFjYmY1ODhjOGY4MzVmZTE2NDg4MTViMjRjNTAzOTkyZjBlN2QxZDAuLmI0MDI4ZmE1ZTFl
NTlmZWIxNTE2OGUzNDExZTljNjg3MGZiN2JmMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wMi0yNSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENhbGwgV0tOYXZpZ2F0aW9u
RGVsZWdhdGUuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiBldmVuIGFmdGVyIGEgY3Jvc3Mt
b3JpZ2luIG5hdmlnYXRpb24gd2l0aCBDT09QCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcwNzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg5MzU0
MzY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdGVzdCBjb3ZlcmFnZSAoVGVzdCB3YXMgd3JpdHRlbiBieSBBbGV4IENocmlzdGVuc2Vu
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlv
bi5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIyLTAyLTI1ICBLaW1tbyBLaW5udW5lbiAgPGtr
aW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjg5NTgwKTogWyBpT1Mg
bWFjT1MgXSBUZXN0V2ViS2l0QVBJLklQQ1Rlc3RpbmdBUEkuQ2FuUmVjZWl2ZVNoYXJlZE1lbW9y
eSBpcyBhIGNvbnN0YW50IHRpbWVvdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlvbi5tbQppbmRleCA5M2M1Nzk5NDI3MjRiNDk5YzMzMzA0
MGYxM2ZhMDAwODI0Mjk0NWM0Li4xMTMyOWUwYjAzMDNlYzM3Zjg2NWI4ZGNhMzUyYWJhNDFiNjFm
YTNkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL05h
dmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9O
YXZpZ2F0aW9uLm1tCkBAIC0zOCw2ICszOCw4IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0
aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0
IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEwMTAsMyArMTAxMiw1NCBAQCBURVNUKFdLTmF2aWdhdGlv
biwgTG9hZFJhZGFyVVJMRnJvbVNhbmRib3hlZEZyYW1lTWlzc2luZ1VzZXJHZXN0dXJlKQogCiAg
ICAgRVhQRUNUX0ZBTFNFKGRpZFRyeVRvTG9hZFJhZGFyVVJMKTsKIH0KKworVEVTVChXS05hdmln
YXRpb24sIENyb3NzT3JpZ2luQ09PUENhbmNlbFJlc3BvbnNlRmFpbFByb3Zpc2lvbmFsTmF2aWdh
dGlvbkNhbGxiYWNrKQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJOworICAg
IEhUVFBTZXJ2ZXIgc2VydmVyKHsKKyAgICAgICAgeyAiL3BhdGgxIiwgeyAiaGkiIH0gfSwKKyAg
ICAgICAgeyAiL3BhdGgyIiwgeyAiaGkiIH0gfSwKKyAgICAgICAgeyAiL3BhdGgzIiwgeyB7IHsg
IkNyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IiwgInNhbWUtb3JpZ2luIiB9IH0sICJoaSIgfSB9
CisgICAgfSwgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzUHJveHkpOworCisgICAgYXV0byBz
dG9yZUNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24gYWxsb2NdIGluaXROb25QZXJzaXN0ZW50Q29uZmlndXJhdGlvbl0pOworICAgIFtzdG9y
ZUNvbmZpZ3VyYXRpb24gc2V0UHJveHlDb25maWd1cmF0aW9uOkB7CisgICAgICAgIChOU1N0cmlu
ZyAqKWtDRlN0cmVhbVByb3BlcnR5SFRUUFNQcm94eUhvc3Q6IEAiMTI3LjAuMC4xIiwKKyAgICAg
ICAgKE5TU3RyaW5nICopa0NGU3RyZWFtUHJvcGVydHlIVFRQU1Byb3h5UG9ydDogQChzZXJ2ZXIu
cG9ydCgpKQorICAgIH1dOworICAgIGF1dG8gZGF0YVN0b3JlID0gYWRvcHROUyhbW1dLV2Vic2l0
ZURhdGFTdG9yZSBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpzdG9yZUNvbmZpZ3VyYXRp
b24uZ2V0KCldKTsKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtXS1dlYlZpZXdD
b25maWd1cmF0aW9uIG5ld10pOworICAgIFtjb25maWd1cmF0aW9uIHNldFdlYnNpdGVEYXRhU3Rv
cmU6ZGF0YVN0b3JlLmdldCgpXTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uLmdldCgpXSk7CisKKyAgICBfX2Jsb2NrIFZlY3Rvcjxib29sPiBmaW5pc2hlZFN1Y2Nl
c3NmdWxseUNhbGxiYWNrczsKKyAgICBhdXRvIGxvYWRXaXRoUmVzcG9uc2VQb2xpY3kgPSBeKFdL
V2ViVmlldyAqd2ViVmlldywgTlNTdHJpbmcgKnVybCwgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQb2xp
Y3kgcmVzcG9uc2VQb2xpY3kpIHsKKyAgICAgICAgYXV0byBjYWxsYmFja3NTaXplQmVmb3JlID0g
ZmluaXNoZWRTdWNjZXNzZnVsbHlDYWxsYmFja3Muc2l6ZSgpOworCisgICAgICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIG5ld10pOworICAgICAgICBk
ZWxlZ2F0ZS5nZXQoKS5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UgPSBeKFdLTmF2
aWdhdGlvblJlc3BvbnNlICpyZXNwb25zZSwgdm9pZCAoXmRlY2lzaW9uSGFuZGxlcikoV0tOYXZp
Z2F0aW9uUmVzcG9uc2VQb2xpY3kpKSB7CisgICAgICAgICAgICBkZWNpc2lvbkhhbmRsZXIocmVz
cG9uc2VQb2xpY3kpOworICAgICAgICB9OworCisgICAgICAgIGRlbGVnYXRlLmdldCgpLmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSA9IF4oV0tXZWJWaWV3ICosIE5TVVJMQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgKmNoYWxsZW5nZSwgdm9pZCAoXmNvbXBsZXRpb25IYW5kbGVyKShO
U1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlhbCAqKSkg
eworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5n
ZVVzZUNyZWRlbnRpYWwsIFtOU1VSTENyZWRlbnRpYWwgY3JlZGVudGlhbEZvclRydXN0OmNoYWxs
ZW5nZS5wcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHJ1c3RdKTsKKyAgICAgICAgfTsKKyAgICAgICAg
ZGVsZWdhdGUuZ2V0KCkuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiA9IF4oV0tXZWJWaWV3
ICosIFdLTmF2aWdhdGlvbiAqLCBOU0Vycm9yICopIHsKKyAgICAgICAgICAgIGZpbmlzaGVkU3Vj
Y2Vzc2Z1bGx5Q2FsbGJhY2tzLmFwcGVuZChmYWxzZSk7CisgICAgICAgIH07CisgICAgICAgIGRl
bGVnYXRlLmdldCgpLmRpZEZpbmlzaE5hdmlnYXRpb24gPSBeKFdLV2ViVmlldyAqLCBXS05hdmln
YXRpb24gKikgeworICAgICAgICAgICAgZmluaXNoZWRTdWNjZXNzZnVsbHlDYWxsYmFja3MuYXBw
ZW5kKHRydWUpOworICAgICAgICB9OworICAgICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVs
ZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOnVybF1dXTsKKyAg
ICAgICAgd2hpbGUgKGZpbmlzaGVkU3VjY2Vzc2Z1bGx5Q2FsbGJhY2tzLnNpemUoKSA9PSBjYWxs
YmFja3NTaXplQmVmb3JlKQorICAgICAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1
bkxvb3AoMTApOworICAgIH07CisKKyAgICBsb2FkV2l0aFJlc3BvbnNlUG9saWN5KHdlYlZpZXcu
Z2V0KCksIEAiaHR0cHM6Ly93ZWJraXQub3JnL3BhdGgxIiwgV0tOYXZpZ2F0aW9uUmVzcG9uc2VQ
b2xpY3lBbGxvdyk7CisgICAgbG9hZFdpdGhSZXNwb25zZVBvbGljeSh3ZWJWaWV3LmdldCgpLCBA
Imh0dHBzOi8vd2Via2l0Lm9yZy9wYXRoMiIsIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5Q2Fu
Y2VsKTsKKyAgICBsb2FkV2l0aFJlc3BvbnNlUG9saWN5KHdlYlZpZXcuZ2V0KCksIEAiaHR0cHM6
Ly9leGFtcGxlLmNvbS9wYXRoMyIsIFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5Q2FuY2VsKTsK
KworICAgIFZlY3Rvcjxib29sPiBleHBlY3RlZENhbGxiYWNrcyB7IHRydWUsIGZhbHNlLCBmYWxz
ZSB9OworICAgIEVYUEVDVF9FUShmaW5pc2hlZFN1Y2Nlc3NmdWxseUNhbGxiYWNrcywgZXhwZWN0
ZWRDYWxsYmFja3MpOworfQo=
</data>
<flag name="commit-queue"
          id="480551"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453252</attachid>
            <date>2022-02-25 13:22:47 -0800</date>
            <delta_ts>2022-02-27 08:34:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237071-20220225132246.patch</filename>
            <type>text/plain</type>
            <size>16798</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxMWZiOGFmNDViZDFkNDJj
ODA5Y2FmNWMzZDkxOTc0M2UwNGM0MTkuLmIzODQxMGZhYjYwOTEyY2NiNDFhMTIwYjgwMzdkZTBj
NjE0MjUwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMjItMDItMjUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBDYWxsIFdLTmF2aWdhdGlvbkRlbGVn
YXRlLmRpZEZhaWxQcm92aXNpb25hbE5hdmlnYXRpb24gZXZlbiBhZnRlciBhIGNyb3NzLW9yaWdp
biBuYXZpZ2F0aW9uIHdpdGggQ09PUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM3MDcxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTM1NDM2Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRv
aW5nIGEgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRpb24gKFBTT04pLCB3ZSBzdGFydCBhIG5ldyBw
cm92aXNpb25hbCBsb2FkIGluIHRoZSBuZXcgcHJvdmlzaW9uYWwKKyAgICAgICAgcHJvY2VzcyBh
bmQgYXNrIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBzdG9wIGFsbCBsb2Fkcy4gU2luY2Ugd2Ug
c3dhcCBpbiBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uLAorICAgICAgICBubyBwcm92
aXNpb25hbCBsb2FkIGhhcyBzdGFydGVkIGluIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB5ZXQuIElm
IHRoZSBwcm92aXNpb25hbCBwcm9jZXNzIHNlbmRzIHVzIGEKKyAgICAgICAgZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZCB0aG91Z2gsIHdlIGtub3cgdGhlIHByb3Zpc2lvbmFsIGxvYWQgaGFzIGZhaWxl
ZCBhbmQgd2UgdGFrZSB0aGlzIGludG8gY29uc2lkZXJhdGlvbgorICAgICAgICBhbmQgbm90aWZ5
IHRoZSBjbGllbnQgYXBwLgorCisgICAgICAgIFdoZW4gZG9pbmcgYSBwcm9jZXNzIHN3YXAgb24g
cmVzb3VyY2UgcmVzcG9uc2UgKGR1ZSB0byBDT09QKSwgd2Ugd2VyZSBiZWhhdmluZyBkaWZmZXJl
bnRseSBhbmQgaXQgd2FzCisgICAgICAgIGNhdXNpbmcgc29tZSBjb25mdXNpb24uIFNpbmNlIHdl
IHN3YXAgb24gcmVzb3VyY2UgcmVzcG9uc2UsIHRoZSBwcm92aXNpb25hbCBsb2FkIGhhcyBzdGFy
dGVkIGluIHRoZQorICAgICAgICBjb21taXR0ZWQgcHJvY2VzcyBieSB0aGUgdGltZSB3ZSBwcm9j
ZXNzLXN3YXAgKHVubGlrZSBQU09OKS4gV2Ugd2VyZSBhbHNvIG5vdCBhc2tpbmcgZm9yIHRoZSBj
b21taXR0ZWQKKyAgICAgICAgcHJvY2VzcyB0byBzdG9wL2NhbmNlbCB0aGlzIHByb3Zpc2lvbmFs
IGxvYWQuIEFzIGEgcmVzdWx0LCBhIHByb3Zpc2lvbmFsIGxvYWQgd291bGQgc3RpbGwgYmUgZ29p
bmcgb24KKyAgICAgICAgaW4gdGhlIGNvbW1pdHRlZCBwcm9jZXNzIHdoaWxlIGFub3RoZXIgcHJv
dmlzaW9uYWwgbG9hZCBzdGFydHMgaGFwcGVuaW5nIGluIHRoZSBwcm92aXNpb25hbCBwYWdlIC8g
cHJvY2Vzcy4KKyAgICAgICAgVGhlbiwgaWYgdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3Mgd291bGQg
c2VuZCB1cyBhIGRpZEZhaWxQcm92aXNpb25hbCwgd2Ugd291bGQgbm90IHBhc3MgaXQgYWxvbmcg
dG8gdGhlCisgICAgICAgIGNsaWVudCBhcHAuIEluc3RlYWQgd2Ugd291bGQgZGVzdHJveSB0aGUg
UHJvdmlzaW9uYWxQYWdlUHJveHksIHdoaWNoIHdvdWxkIHRlbGwgdGhlIGNvbW1pdHRlZCBwcm9j
ZXNzIHRvCisgICAgICAgIHN0b3AgbG9hZGluZyBhbmQgc2VuZCBpdHMgb3duIGRpZEZhaWxQcm92
aXNpb25hbExvYWQsIGFuZCB0aGUgY2xpZW50IGFwcCB3b3VsZCBldmVudHVhbGx5IGdldCBub3Rp
ZmllZC4KKworICAgICAgICBFdmVuIHRob3VnaCB0aGUgZGlmZmVyZW5jZSBpbiBiZWhhdmlvciB3
YXMgY29uZnVzaW5nLCBpdCB3YXMgd29ya2luZyBpbiBtb3N0IGNhc2VzLiBUaGVyZSB3YXMgaG93
ZXZlcgorICAgICAgICBhbiBlZGdlIGNhc2Ugd2hlcmUgaXQgZGlkbid0IHdvcmsgYW5kIHdlIHdv
dWxkIGZhaWwgdG8gdGVsbCB0aGUgY2xpZW50IGFwcCB0aGF0IHRoZSBwcm92aXNpb25hbCBsb2Fk
CisgICAgICAgIGhhZCBmYWlsZWQuIEluIHBhcnRpY3VsYXIsIHdlIHdvdWxkIHJ1biBpbnRvIHRy
b3VibGUgd2hlbiBuYXZpZ2F0aW5nIGNyb3NzLXNpdGUgdG8gYSBzaXRlIHRoYXQgYWRvcHRlZAor
ICAgICAgICB0aGUgQ09PUCBoZWFkZXIuIFdlIHdvdWxkIGZpcnN0IGRvIGEgcHJvY2Vzcy1zd2Fw
IG9uIG5hdmlnYXRpb24sIHN0b3AgdGhlIHByb3Zpc2lvbmFsIGxvYWQgaW4gdGhlIGNvbW1pdHRl
ZAorICAgICAgICBwcm9jZXNzIEEsIHRoZW4gc3RhcnQgYSBwcm92aXNpb25hbCBsb2FkIGluIHBy
b2Nlc3MgQi4gV2Ugd291bGQgdGhlbiBnZXQgdGhlIENPT1AgaGVhZGVyIGFuZCB3ZSB3b3VsZAor
ICAgICAgICBzdGFydCBhIG5ldyBwcm92aXNpb25hbCBsb2FkIGluIHByb2Nlc3MgQy4gUHJvY2Vz
cyBCIHdvdWxkIGdvIGF3YXkgc2luY2Ugd2UgY2Fubm90IGhhdmUgMiBwcm92aXNpb25hbAorICAg
ICAgICBwYWdlcyAvIHByb2Nlc3NlcyBhdCB0aGUgc2FtZSB0aW1lIGZvciB0aGUgc2FtZSBXZWJQ
YWdlUHJveHkuIFRoZW4gaWYgdGhlIHByb3Zpc2lvbmFsIGxvYWQgZmFpbHMgaW4KKyAgICAgICAg
cHJvY2VzcyBDLCB3ZSB3b3VsZCBpZ25vcmUgdGhlIGRpZEZhaWxQcm92aXNpb25hbExvYWQgZnJv
bSBwcm9jZXNzIEMgYW5kIGRlc3Ryb3kgdGhlIHByb3Zpc2lvbmFsIHBhZ2UuCisgICAgICAgIFdl
IHdvdWxkIHRlbGwgdGhlIGNvbW1pdHRlZCBwcm9jZXNzIEEgdG8gc3RvcCBsb2FkaW5nLCBleHBl
Y3RpbmcgaXQgdG8gc2VuZCBpdHMgb3duIGRpZEZhaWxQcm92aXNpb25hbExvYWQKKyAgICAgICAg
YnV0IGl0IHdvdWxkbid0IGhhcHBlbiBzaW5jZSBQU09OIGhhZCBhbHJlYWR5IHN0b3BwZWQgYWxs
IGxvYWRpbmcgaW4gcHJvY2VzcyBBIGVhcmxpZXIgd2hlbiBzd2FwcGluZyB0bworICAgICAgICBw
cm9jZXNzIEIuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGUgaXNzdWUsIHdlIGFsaWduIENPT1Ag
cHJvY2VzcyBzd2FwIHdpdGggUFNPTiBwcm9jZXNzIHN3YXAuIFdlIG5vdyBoYXMgdGhlIGNvbW1p
dHRlZCBwcm9jZXNzCisgICAgICAgIHRvIHN0b3AgYWxsIGxvYWRzIHdoZW4gcHJvY2VzcyBzd2Fw
cGluZyBvbiByZXNvdXJjZSByZXNwb25zZSBkdWUgdG8gQ09PUC4gQXMgYSByZXN1bHQsIHdoZW4g
dGhlIHByb3Zpc2lvbmFsCisgICAgICAgIGxvYWQgZmFpbHMgaW4gdGhlIHByb3Zpc2lvbmFsIHBy
b2Nlc3MsIHdlIGNhbiBzaW1wbHkgcGFzcyBpdCBhbG9uZyB0byB0aGUgY2xpZW50LCBubyBtYXR0
ZXIgaWYgdGhlIHByb2Nlc3MKKyAgICAgICAgc3dhcCBvY2N1cnJlZCBkdWUgdG8gUFNPTiBvciBD
T09QLgorCisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0LgorCisgICAgICAgICogVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvdmlz
aW9uYWxQYWdlUHJveHk6On5Qcm92aXNpb25hbFBhZ2VQcm94eSk6CisgICAgICAgIFdlIG5vIGxv
bmdlciBuZWVkIHRvIHRlbGwgdGhlIGNvbW1pdHRlZCBwcm9jZXNzIHRvIHN0b3AgbG9hZGluZyB3
aGVuIHRoZSBwcm92aXNpb25hbCBwYWdlIGdldHMgZGVzdHJveWVkCisgICAgICAgIGFuZCB0aGlz
IHdhcyBhIHByb2Nlc3Mgc3dhcCBvbiByZXNvdXJjZSByZXNwb25zZS4gVGhlIHJlYXNvbiBpcyB0
aGF0IHdoZW4gcHJvY2Vzcy1zd2FwcGluZyBvbiBuYXZpZ2F0aW9uCisgICAgICAgIHJlc3BvbnNl
LCB3ZSBub3cgZHJvcCB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpbiB0aGUgY29tbWl0dGVkIHByb2Nl
c3MgcmlnaHQgYXdheSwgbGlrZSBpbiB0aGUgUFNPTiBjYXNlLgorCisgICAgICAgIChXZWJLaXQ6
OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpjYW5jZWwpOgorICAgICAgICBXaGVuIGNhbmNlbGxpbmcg
YSBwcm92aXNpb25hbCBsb2FkIGR1ZSB0byBQU09OIG9yIENPT1AsIHdlIG5lZWQgdG8gbm90aWZ5
IHRoZSBjbGllbnQgdGhhdCB0aGUgcHJvdmlzaW9uYWwKKyAgICAgICAgbG9hZCBmYWlsZWQuIFdl
IHVzZWQgdG8gb25seSB0byBpdCBpbiB0aGUgUFNPTiBjYXNlLiBXZSBub3cgZG8gaXQgZm9yIGJv
dGggUFNPTiBhbmQgQ09PUCBzaW5jZSB0aGV5CisgICAgICAgIGJlaGF2ZSB0aGUgc2FtZS4KKwor
ICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lKToKKyAgICAgICAgU2ltaWxhcmx5IGFzIGFib3ZlLCBub3cgdGhhdCBQU09O
IGFuZCBDT09QIGJlaGF2ZSB0aGUgc2FtZSwgd2UgbmVlZCB0byBwYXNzIHRoZSBkaWRGYWlsUHJv
dmlzaW9uYWxMb2FkCisgICAgICAgIGZyb20gdGhlIHByb3Zpc2lvbmFsIHByb2Nlc3MgdG8gdGhl
IGNsaWVudCBhcHAgZm9yIGJvdGggUFNPTiBhbmQgQ09PUCAoTm90IGp1c3QgUFNPTikuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojp0cmlnZ2VyQnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hGb3JOYXZpZ2F0aW9u
KToKKyAgICAgICAgV2hlbiB0cmlnZ2VyaW5nIGEgcHJvY2VzcyBzd2FwIG9uIHJlc291cmNlIHJl
c3BvbnNlIChkdWUgdG8gQ09PUCksIHdlIG5vdyBzdG9wIHRoZSBwcm92aXNpb25hbCBsb2FkIGdv
aW5nCisgICAgICAgIG9uIGluIHRoZSBjb21taXR0ZWQgcHJvY2VzcyB0byBiZSBjb25zaXN0ZW50
IHdpdGggd2hhdCB3ZSBkbyBpbiB0aGUgUFNPTiBjYXNlLiBUaGlzIHdheSB0aGVyZSBpcyBvbmx5
IGEKKyAgICAgICAgc2luZ2xlIHByb3Zpc2lvbmFsIGxvYWQgZ29pbmcgb24gYW5kIGl0IGlzIGhh
cHBlbmluZyBpbiB0aGUgcHJvdmlzaW9uYWwgcGFnZSAvIHByb2Nlc3MuCisKKwogMjAyMi0wMi0y
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQmV0dGVyIGlz
b2xhdGUgUmVtb3RlVmlkZW9GcmFtZU9iamVjdEhlYXAgY2xpZW50cyBmcm9tIFRocmVhZFNhZmVP
YmplY3RIZWFwIGltcGxlbWVudGF0aW9uIGRldGFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCA2MzQ1NGE5ZTI4Zjk1ZjI2MjFm
ZWYxY2Q3YzU3MDFlZGI2OTUyM2VhLi42MmI4NWI3MjYzZjJhODEyNDQ0NGYwZmUyNWNiMjIwMjIw
NDI3YzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwCkBAIC0xMTgsMTIgKzExOCw2IEBAIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojp+UHJv
dmlzaW9uYWxQYWdlUHJveHkoKQogICAgICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNl
aXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2Vi
UGFnZUlEKTsKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2xvc2UoKSk7CiAgICAg
ICAgIG1fcHJvY2Vzcy0+cmVtb3ZlVmlzaXRlZExpbmtTdG9yZVVzZXIobV9wYWdlLnZpc2l0ZWRM
aW5rU3RvcmUoKSwgbV9wYWdlLmlkZW50aWZpZXIoKSk7Ci0KLSAgICAgICAgLy8gSWYgd2Ugd2Vy
ZSBwcm9jZXNzLXN3YXBwaW5nIG9uIG5hdmlnYXRpb24gcmVzcG9uc2UgdGhlbiB0aGVyZSBpcyBz
dGlsbCBhIHByb3Zpc2lvbmFsIGxvYWQgZ29pbmcgb24gaW4gdGhlIHByZXZpb3VzIHByb2Nlc3MK
LSAgICAgICAgLy8gYW5kIGl0cyBsYXllciB0cmVlIGlzIGZyb3plbi4gU2luY2Ugd2UgZGlkbid0
IGVuZCB1cCBjb21taXR0aW5nIHRoZSBwcm92aXNpb25hbCBwcm9jZXNzLCB3ZSBuZWVkIHRvIHN0
b3AgdGhlIGxvYWQgaW4gdGhlCi0gICAgICAgIC8vIHByZXZpb3VzIHByb2Nlc3Mgc28gdGhhdCBp
dCBjYW5jZWxzIGl0cyBuYXZpZ2F0aW9uIGFuZCB1bmZyZWV6ZXMgaXRzIGxheWVyIHRyZWUuCi0g
ICAgICAgIGlmIChpc1Byb2Nlc3NTd2FwcGluZ09uTmF2aWdhdGlvblJlc3BvbnNlKCkpCi0gICAg
ICAgICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U3RvcExvYWRpbmcoKSk7CiAg
ICAgfQogCiAgICAgbV9wcm9jZXNzLT5yZW1vdmVQcm92aXNpb25hbFBhZ2VQcm94eSgqdGhpcyk7
CkBAIC0xNDMsNyArMTM3LDcgQEAgc3RkOjp1bmlxdWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IFBy
b3Zpc2lvbmFsUGFnZVByb3h5Ojp0YWtlRHJhd2luZ0FyZWEoKQogdm9pZCBQcm92aXNpb25hbFBh
Z2VQcm94eTo6Y2FuY2VsKCkKIHsKICAgICAvLyBJZiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBzdGFy
dGVkLCB0aGVuIGluZGljYXRlIHRoYXQgaXQgZmFpbGVkIGR1ZSB0byBjYW5jZWxsYXRpb24gYnkg
Y2FsbGluZyBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoKS4KLSAgICBpZiAobV9wcm92
aXNpb25hbExvYWRVUkwuaXNFbXB0eSgpIHx8IG1faXNQcm9jZXNzU3dhcHBpbmdPbk5hdmlnYXRp
b25SZXNwb25zZSkKKyAgICBpZiAobV9wcm92aXNpb25hbExvYWRVUkwuaXNFbXB0eSgpIHx8ICFt
X21haW5GcmFtZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKG1fcHJvY2Vzcy0+c3Rh
dGUoKSA9PSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKTsKQEAgLTI5NywxNSArMjkx
LDYgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUkKICAgICBBU1NFUlQoIW1fcHJvdmlzaW9uYWxM
b2FkVVJMLmlzTnVsbCgpKTsKICAgICBtX3Byb3Zpc2lvbmFsTG9hZFVSTCA9IHsgfTsKIAotICAg
IGlmIChtX2lzUHJvY2Vzc1N3YXBwaW5nT25OYXZpZ2F0aW9uUmVzcG9uc2UpIHsKLSAgICAgICAg
Ly8gSWYgdGhlIHByb3Zpc2lvbmFsIGxvYWQgZmFpbHMgYW5kIHdlIHdlcmUgcHJvY2Vzcy1zd2Fw
cGluZyBvbiBuYXZpZ2F0aW9uIHJlc3BvbnNlLCB0aGVuIHdlIHNpbXBseSBkZXN0cm95IG91cnNl
bHZlcy4KLSAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpcyBz
dGlsbCBvbmdvaW5nIGluIHRoZSBjb21taXR0ZWQgcHJvY2VzcyBhbmQgdGhlIFByb3Zpc2lvbmFs
UGFnZVByb3h5IGRlc3RydWN0b3IKLSAgICAgICAgLy8gd2lsbCBzdG9wIGl0IGFuZCBjYXVzZSB0
aGUgY29tbWl0dGVkIHByb2Nlc3MgdG8gc2VuZCBpdHMgb3duIERpZEZhaWxQcm92aXNpb25hbExv
YWRGb3JGcmFtZSBJUEMuCi0gICAgICAgIEFTU0VSVChtX3BhZ2UucHJvdmlzaW9uYWxQYWdlUHJv
eHkoKSA9PSB0aGlzKTsKLSAgICAgICAgbV9wYWdlLmRlc3Ryb3lQcm92aXNpb25hbFBhZ2UoKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUGFnZSdzIG1h
aW4gZnJhbWUncyBleHBlY3RlZFVSTCBnZXRzIGNsZWFyZWQgc2luY2Ugd2UgdXBkYXRlZCBpdCBp
biBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZC4KICAgICBpZiAoYXV0byogcGFnZU1haW5GcmFtZSA9
IG1fcGFnZS5tYWluRnJhbWUoKSkKICAgICAgICAgcGFnZU1haW5GcmFtZS0+ZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggODU1Mjg0NTcwZWViZjJhOGU0OTQ4N2JkOGU1M2Q0NTM0OGE0NjEwNC4uMDVhNjExMDAyMTZk
NDYyZjcyYTU1ODE5MWUwNDhiNTY5OTJkNTRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC01NzU0LDYgKzU3NTQsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
dHJpZ2dlckJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoRm9yTmF2aWdhdGlvbih1aW50NjRfdCBu
YXZpZwogICAgIGVsc2UKICAgICAgICAgcHJvY2Vzc0Zvck5hdmlnYXRpb24gPSBtX3Byb2Nlc3Mt
PnByb2Nlc3NQb29sKCkucHJvY2Vzc0ZvclJlZ2lzdHJhYmxlRG9tYWluKHdlYnNpdGVEYXRhU3Rv
cmUoKSwgcmVzcG9uc2VEb21haW4sIG1fcHJvY2Vzcy0+Y2FwdGl2ZVBvcnRhbE1vZGUoKSk7CiAK
KyAgICAvLyBUZWxsIGNvbW1pdHRlZCBwcm9jZXNzIHRvIHN0b3AgbG9hZGluZyBzaW5jZSB3ZSdy
ZSBnb2luZyB0byBkbyB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpbiBhIHByb3Zpc2lvbmFsIHBhZ2Ug
bm93LgorICAgIGlmICghbV9wcm92aXNpb25hbFBhZ2UpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlN0b3BMb2FkaW5nRHVlVG9Qcm9jZXNzU3dhcCgpKTsKICAgICBjb250aW51ZU5h
dmlnYXRpb25Jbk5ld1Byb2Nlc3MoKm5hdmlnYXRpb24sIG51bGxwdHIsIHByb2Nlc3NGb3JOYXZp
Z2F0aW9uLnJlbGVhc2VOb25OdWxsKCksIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQ6Ok5v
LCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Olllc0FmdGVyUHJvdmlzaW9uYWxMb2FkU3Rh
cnRlZCwgbnVsbHB0ciwgZXhpc3RpbmdOZXR3b3JrUmVzb3VyY2VMb2FkSWRlbnRpZmllclRvUmVz
dW1lKTsKICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IDZjNGU5OTRjOTZmNDZjMjk1NmE2Yzk3YTVkYmFhYmRmY2QxN2Fj
MmIuLjkxNmI2OWE5YjQyZDJmY2E5MDNjZTk5YzZjYmMzOTExODg3YmZhOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNTg3LDYgKzU4NywxMiBAQCB2b2lkIFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZQogICAgIGlmICghd2ViUGFnZSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8g
V2hlbiBzdG9wcGluZyB0aGUgcHJvdmlzaW9uYWwgbG9hZCBkdWUgdG8gYSBwcm9jZXNzIHN3YXAg
b24gcmVzb3VyY2UgcmVzcG9uc2UgKGR1ZSB0byBDT09QKSwgdGhlIHByb3Zpc2lvbmFsIGxvYWQK
KyAgICAvLyB3aWxsIHNpbXBseSBrZWVwIGdvaW5nIGluIGEgbmV3IHByb2Nlc3MuIEFzIGEgcmVz
dWx0LCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIGluamVjdGVkIGJ1bmRsZSBvciB0aGUgVUlQ
cm9jZXNzIGNsaWVudAorICAgIC8vIHRoYXQgdGhlIHByb3Zpc2lvbmFsIGxvYWQgZmFpbGVkLgor
ICAgIGlmICh3ZWJQYWdlLT5pc1N0b3BwaW5nTG9hZGluZ0R1ZVRvUHJvY2Vzc1N3YXAoKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgV0VCRlJBTUVMT0FERVJDTElFTlRfUkVMRUFTRV9MT0coTmV0
d29yaywgImRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZDoiKTsKIAogICAgIFJlZlB0cjxB
UEk6Ok9iamVjdD4gdXNlckRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGYzNjM2Y2FiZDY1ZDY3NmJmNzY4ZGE0YzlmYmRjOTY1NjA5MTI4
M2MuLjgzY2ExZmM5YTRiNTVhMTc2ZWNlZjY4MzA5ZTYzOWY5NjM0OWFlYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xODM0LDYgKzE4MzQs
MTIgQEAgdm9pZCBXZWJQYWdlOjpzdG9wTG9hZGluZygpCiAgICAgY29yZUZyYW1lLT5sb2FkZXIo
KS5jb21wbGV0ZVBhZ2VUcmFuc2l0aW9uSWZOZWVkZWQoKTsKIH0KIAordm9pZCBXZWJQYWdlOjpz
dG9wTG9hZGluZ0R1ZVRvUHJvY2Vzc1N3YXAoKQoreworICAgIFNldEZvclNjb3BlPGJvb2w+IGlz
U3RvcHBpbmdMb2FkaW5nRHVlVG9Qcm9jZXNzU3dhcChtX2lzU3RvcHBpbmdMb2FkaW5nRHVlVG9Q
cm9jZXNzU3dhcCwgdHJ1ZSk7CisgICAgc3RvcExvYWRpbmcoKTsKK30KKwogYm9vbCBXZWJQYWdl
OjpkZWZlcnNMb2FkaW5nKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYWdlLT5kZWZlcnNMb2Fk
aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
NTExN2FjNzhhYTBlZDdjM2ViMjcxNzNkMWNmYTE5OWQ4YzFiNTIwNi4uNDcyOWMwOTlhNzBiMzBh
NjcyZjAwZTljZThiMTg4MTU2MGFiZjg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaApAQCAtNjQzLDYgKzY0Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
c3RvcExvYWRpbmcoKTsKICAgICB2b2lkIHN0b3BMb2FkaW5nRnJhbWUoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyKTsKKyAgICB2b2lkIHN0b3BMb2FkaW5nRHVlVG9Qcm9jZXNzU3dhcCgpOwogICAg
IGJvb2wgZGVmZXJzTG9hZGluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhi
b29sIGRlZmVyTG9hZGluZyk7CiAKQEAgLTk5MSw2ICs5OTIsOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwZXJmb3JtRGljdGlvbmFyeUxvb2t1cEZvclNlbGVjdGlvbihXZWJDb3JlOjpGcmFtZSYsIGNv
bnN0IFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24mLCBXZWJDb3JlOjpUZXh0SW5kaWNhdG9yUHJl
c2VudGF0aW9uVHJhbnNpdGlvbik7CiAjZW5kaWYKIAorICAgIGJvb2wgaXNTdG9wcGluZ0xvYWRp
bmdEdWVUb1Byb2Nlc3NTd2FwKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0b3BwaW5nTG9hZGluZ0R1
ZVRvUHJvY2Vzc1N3YXA7IH0KKwogICAgIGJvb2wgaXNTbWFydEluc2VydERlbGV0ZUVuYWJsZWQo
KTsKICAgICB2b2lkIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sKTsKIApAQCAtMjQx
Myw2ICsyNDE2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY2FuVXNlQ3JlZGVudGlhbFN0b3Jh
Z2UgeyB0cnVlIH07CiAKICAgICBib29sIG1fZGlkVXBkYXRlUmVuZGVyaW5nQWZ0ZXJDb21taXR0
aW5nTG9hZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzU3RvcHBpbmdMb2FkaW5nRHVlVG9Qcm9j
ZXNzU3dhcCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAg
ICAgYm9vbCBtX3VzZUFSS2l0Rm9yTW9kZWwgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggZGU5ZTY5
ZjM0MTAwODIyNjNkZGYwNzQzYzIwODBmNDIwOTkwYTZiOS4uNmY1MjZlNDk5NThjMjZiZThkNzEy
MjcwMGY4YjUzNWFjMDg0NjMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xOTQsNiArMTk0LDcgQEAgR2VuZXJh
dGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNF
ZGl0aW5nQ29tbWFuZFR5cGUKIAogICAgIFJlbG9hZCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIHVp
bnQzMl90IHJlbG9hZE9wdGlvbnMsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNh
bmRib3hFeHRlbnNpb25IYW5kbGUpCiAgICAgU3RvcExvYWRpbmcoKQorICAgIFN0b3BMb2FkaW5n
RHVlVG9Qcm9jZXNzU3dhcCgpCiAKICAgICBTdG9wTG9hZGluZ0ZyYW1lKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciBmcmFtZUlEKQogICAgIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUwMTRkODcyMmI1NDg3YTA2MGNmM2U0ZDIyZTdkZjk1YWM4
NTQ3N2YuLmI3MTkyNmFlZGNlM2RiMDc3ZTA5YjdkNzQxYmExMmE5ODgzYTFhMDAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAyMi0wMi0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IENhbGwgV0tOYXZpZ2F0aW9uRGVsZWdhdGUuZGlkRmFpbFByb3Zpc2lvbmFsTmF2aWdhdGlvbiBl
dmVuIGFmdGVyIGEgY3Jvc3Mtb3JpZ2luIG5hdmlnYXRpb24gd2l0aCBDT09QCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzcwNzEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzg5MzU0MzY3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZSAoVGVzdCB3YXMgd3JpdHRlbiBi
eSBBbGV4IENocmlzdGVuc2VuKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvTmF2aWdhdGlvbi5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIyLTAyLTI0ICBK
b25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbUHl0aG9uIDNd
IEludm9rZSB2YWxpZGF0ZS1jb21taXR0ZXItbGlzdHMgd2l0aCBQeXRob24gMwpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OYXZpZ2F0aW9uLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OYXZpZ2F0aW9uLm1tCmluZGV4
IDkzYzU3OTk0MjcyNGI0OTljMzMzMDQwZjEzZmEwMDA4MjQyOTQ1YzQuLjExMzI5ZTBiMDMwM2Vj
MzdmODY1YjhkY2EzNTJhYmE0MWI2MWZhM2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvTmF2aWdhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL05hdmlnYXRpb24ubW0KQEAgLTM4LDYgKzM4LDggQEAKICNp
bXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg+CisjaW1wb3J0
IDxXZWJLaXQvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTAxMCwzICsxMDEy
LDU0IEBAIFRFU1QoV0tOYXZpZ2F0aW9uLCBMb2FkUmFkYXJVUkxGcm9tU2FuZGJveGVkRnJhbWVN
aXNzaW5nVXNlckdlc3R1cmUpCiAKICAgICBFWFBFQ1RfRkFMU0UoZGlkVHJ5VG9Mb2FkUmFkYXJV
UkwpOwogfQorCitURVNUKFdLTmF2aWdhdGlvbiwgQ3Jvc3NPcmlnaW5DT09QQ2FuY2VsUmVzcG9u
c2VGYWlsUHJvdmlzaW9uYWxOYXZpZ2F0aW9uQ2FsbGJhY2spCit7CisgICAgdXNpbmcgbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEk7CisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoeworICAgICAgICB7ICIv
cGF0aDEiLCB7ICJoaSIgfSB9LAorICAgICAgICB7ICIvcGF0aDIiLCB7ICJoaSIgfSB9LAorICAg
ICAgICB7ICIvcGF0aDMiLCB7IHsgeyAiQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kiLCAic2Ft
ZS1vcmlnaW4iIH0gfSwgImhpIiB9IH0KKyAgICB9LCBIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0
cHNQcm94eSk7CisKKyAgICBhdXRvIHN0b3JlQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdE5vblBlcnNpc3RlbnRDb25m
aWd1cmF0aW9uXSk7CisgICAgW3N0b3JlQ29uZmlndXJhdGlvbiBzZXRQcm94eUNvbmZpZ3VyYXRp
b246QHsKKyAgICAgICAgKE5TU3RyaW5nICopa0NGU3RyZWFtUHJvcGVydHlIVFRQU1Byb3h5SG9z
dDogQCIxMjcuMC4wLjEiLAorICAgICAgICAoTlNTdHJpbmcgKilrQ0ZTdHJlYW1Qcm9wZXJ0eUhU
VFBTUHJveHlQb3J0OiBAKHNlcnZlci5wb3J0KCkpCisgICAgfV07CisgICAgYXV0byBkYXRhU3Rv
cmUgPSBhZG9wdE5TKFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1
cmF0aW9uOnN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gY29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gbmV3XSk7CisgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0V2Vic2l0ZURhdGFTdG9yZTpkYXRhU3RvcmUuZ2V0KCldOworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVy
byBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIF9fYmxvY2sgVmVj
dG9yPGJvb2w+IGZpbmlzaGVkU3VjY2Vzc2Z1bGx5Q2FsbGJhY2tzOworICAgIGF1dG8gbG9hZFdp
dGhSZXNwb25zZVBvbGljeSA9IF4oV0tXZWJWaWV3ICp3ZWJWaWV3LCBOU1N0cmluZyAqdXJsLCBX
S05hdmlnYXRpb25SZXNwb25zZVBvbGljeSByZXNwb25zZVBvbGljeSkgeworICAgICAgICBhdXRv
IGNhbGxiYWNrc1NpemVCZWZvcmUgPSBmaW5pc2hlZFN1Y2Nlc3NmdWxseUNhbGxiYWNrcy5zaXpl
KCk7CisKKyAgICAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1Rlc3ROYXZpZ2F0aW9uRGVs
ZWdhdGUgbmV3XSk7CisgICAgICAgIGRlbGVnYXRlLmdldCgpLmRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXNwb25zZSA9IF4oV0tOYXZpZ2F0aW9uUmVzcG9uc2UgKnJlc3BvbnNlLCB2b2lkIChe
ZGVjaXNpb25IYW5kbGVyKShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkpIHsKKyAgICAgICAg
ICAgIGRlY2lzaW9uSGFuZGxlcihyZXNwb25zZVBvbGljeSk7CisgICAgICAgIH07CisKKyAgICAg
ICAgZGVsZWdhdGUuZ2V0KCkuZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlID0gXihX
S1dlYlZpZXcgKiwgTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqY2hhbGxlbmdlLCB2b2lk
ICheY29tcGxldGlvbkhhbmRsZXIpKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VEaXNwb3NpdGlv
biwgTlNVUkxDcmVkZW50aWFsICopKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihO
U1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlVXNlQ3JlZGVudGlhbCwgW05TVVJMQ3JlZGVudGlhbCBj
cmVkZW50aWFsRm9yVHJ1c3Q6Y2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUcnVzdF0p
OworICAgICAgICB9OworICAgICAgICBkZWxlZ2F0ZS5nZXQoKS5kaWRGYWlsUHJvdmlzaW9uYWxO
YXZpZ2F0aW9uID0gXihXS1dlYlZpZXcgKiwgV0tOYXZpZ2F0aW9uICosIE5TRXJyb3IgKikgewor
ICAgICAgICAgICAgZmluaXNoZWRTdWNjZXNzZnVsbHlDYWxsYmFja3MuYXBwZW5kKGZhbHNlKTsK
KyAgICAgICAgfTsKKyAgICAgICAgZGVsZWdhdGUuZ2V0KCkuZGlkRmluaXNoTmF2aWdhdGlvbiA9
IF4oV0tXZWJWaWV3ICosIFdLTmF2aWdhdGlvbiAqKSB7CisgICAgICAgICAgICBmaW5pc2hlZFN1
Y2Nlc3NmdWxseUNhbGxiYWNrcy5hcHBlbmQodHJ1ZSk7CisgICAgICAgIH07CisgICAgICAgIFt3
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6dXJsXV1dOworICAgICAgICB3aGlsZSAoZmluaXNoZWRTdWNjZXNzZnVsbHlD
YWxsYmFja3Muc2l6ZSgpID09IGNhbGxiYWNrc1NpemVCZWZvcmUpCisgICAgICAgICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpzcGluUnVuTG9vcCgxMCk7CisgICAgfTsKKworICAgIGxvYWRXaXRo
UmVzcG9uc2VQb2xpY3kod2ViVmlldy5nZXQoKSwgQCJodHRwczovL3dlYmtpdC5vcmcvcGF0aDEi
LCBXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeUFsbG93KTsKKyAgICBsb2FkV2l0aFJlc3BvbnNl
UG9saWN5KHdlYlZpZXcuZ2V0KCksIEAiaHR0cHM6Ly93ZWJraXQub3JnL3BhdGgyIiwgV0tOYXZp
Z2F0aW9uUmVzcG9uc2VQb2xpY3lDYW5jZWwpOworICAgIGxvYWRXaXRoUmVzcG9uc2VQb2xpY3ko
d2ViVmlldy5nZXQoKSwgQCJodHRwczovL2V4YW1wbGUuY29tL3BhdGgzIiwgV0tOYXZpZ2F0aW9u
UmVzcG9uc2VQb2xpY3lDYW5jZWwpOworCisgICAgVmVjdG9yPGJvb2w+IGV4cGVjdGVkQ2FsbGJh
Y2tzIHsgdHJ1ZSwgZmFsc2UsIGZhbHNlIH07CisgICAgRVhQRUNUX0VRKGZpbmlzaGVkU3VjY2Vz
c2Z1bGx5Q2FsbGJhY2tzLCBleHBlY3RlZENhbGxiYWNrcyk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>