<?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>239806</bug_id>
          
          <creation_ts>2022-04-27 00:55:00 -0700</creation_ts>
          <short_desc>[RISCV64] Implement MacroAssemblerRISCV64 branchAtomicWeakCAS{8,16,32,64} methods</short_desc>
          <delta_ts>2022-04-28 03:07:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <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>237775</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1864749</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-04-27 00:55:00 -0700</bug_when>
    <thetext>[RISCV64] Implement MacroAssemblerRISCV64 branchAtomicWeakCAS{8,16,32,64} methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864750</commentid>
    <comment_count>1</comment_count>
      <attachid>458430</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-04-27 00:56:14 -0700</bug_when>
    <thetext>Created attachment 458430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865082</commentid>
    <comment_count>2</comment_count>
      <attachid>458430</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-28 00:48:45 -0700</bug_when>
    <thetext>Comment on attachment 458430
Patch

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

r=me with nit.D

&gt; Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:3366
&gt; +        {
&gt; +            Jump success = makeBranch(Equal, temp.data(), RISCV64Registers::zero);
&gt; +            failure.link(this);
&gt; +            return JumpList(success);
&gt; +        }

style is,

case Success: {
    ...
}

&gt; Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:3405
&gt; +        {
&gt; +            Jump success = makeBranch(Equal, temp.data(), RISCV64Registers::zero);
&gt; +            failure.link(this);
&gt; +            return JumpList(success);
&gt; +        }

Ditto.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:3432
&gt; +        {
&gt; +            Jump success = makeBranch(Equal, temp.data(), RISCV64Registers::zero);
&gt; +            failure.link(this);
&gt; +            return JumpList(success);
&gt; +        }

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865100</commentid>
    <comment_count>3</comment_count>
      <attachid>458507</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-04-28 03:03:03 -0700</bug_when>
    <thetext>Created attachment 458507
Patch for landing

With style changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865101</commentid>
    <comment_count>4</comment_count>
      <attachid>458507</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-04-28 03:06:53 -0700</bug_when>
    <thetext>Comment on attachment 458507
Patch for landing

Clearing flags on attachment: 458507

Committed r293571 (250085@trunk): &lt;https://commits.webkit.org/250085@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865102</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-04-28 03:06:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865103</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-28 03:07:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/92450245&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458430</attachid>
            <date>2022-04-27 00:56:14 -0700</date>
            <delta_ts>2022-04-28 03:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239806-20220427095613.patch</filename>
            <type>text/plain</type>
            <size>9924</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjcwZDE0ZWI5ZDAzZDNkNDU1NTVlNWU5NWYxYzQyYWY4YTYwZTFhLi4wMDYxNTZlZjQ5YWYyY2Y2
MTlkNWU1Y2FmZGQxM2U5NDliNzMxN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMi0wNC0yNyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW1JJU0NWNjRdIEltcGxlbWVudCBNYWNyb0Fzc2VtYmxlclJJU0NWNjQg
YnJhbmNoQXRvbWljV2Vha0NBU3s4LDE2LDMyLDY0fSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4MDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIE1hY3JvQXNzZW1ibGVyUklT
Q1Y2NCBtZXRob2QgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZGlmZmVyZW50CisgICAgICAgIGJy
YW5jaEF0b21pY1dlYWtDQVMgdmFyaWFudHMuIFRoZSAzMi1iaXQgYW5kIDY0LWJpdCB2ZXJzaW9u
cyBhcmUKKyAgICAgICAgc3RyYWlnaHRmb3J3YXJkLCBsZXZlcmFnaW5nIHRoZSBsb2FkLXJlc2Vy
dmVkIGFuZCBzdG9yZS1jb25kaXRpb25hbAorICAgICAgICBpbnN0cnVjdGlvbnMgb2YgdGhlIGNv
cnJlc3BvbmRpbmcgc2l6ZXMuIEZvciA4LWJpdCBhbmQgMTYtYml0IHZlcnNpb25zLAorICAgICAg
ICBhIG1ldGhvZCB0ZW1wbGF0ZSBpcyBwcm92aWRlZCwgbG9hZGluZyBhbmQgc3RvcmluZyAzMi1i
aXQgd29yZHMgYW5kCisgICAgICAgIHBlcmZvcm1pbmcgYWRkaXRpb25hbCBvcGVyYXRpb25zIHRv
IHZhbGlkYXRlIGFuZCBjaGFuZ2UgdGhlIGRlc2lyZWQKKyAgICAgICAgdmFsdWUuCisKKyAgICAg
ICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJSSVNDVjY0Lmg6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyUklTQ1Y2NDo6YnJhbmNoQXRvbWljV2Vha0NBU0ltcGwpOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6OmJyYW5jaEF0b21pY1dlYWtDQVM4KToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJSSVNDVjY0OjpicmFuY2hBdG9taWNXZWFrQ0FTMTYpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6OmJyYW5jaEF0b21pY1dlYWtDQVMz
Mik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyUklTQ1Y2NDo6YnJhbmNoQXRvbWljV2Vh
a0NBUzY0KToKKwogMjAyMi0wNC0yNiAgRG1pdHJ5IEJlemhldHNrb3YgIDxkYmV6aGV0c2tvdkBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtXQVNNXSBGaXggd2FybmluZzogY2FzdCBmcm9tIOKAmGNo
YXIq4oCZIHRvIOKAmEpTQzo6V2FzbTo6VHlwZSrigJkgaW5jcmVhc2VzIHJlcXVpcmVkIGFsaWdu
bWVudCBvZiB0YXJnZXQgdHlwZSBbLVdjYXN0LWFsaWduXQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclJJU0NWNjQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJSSVNDVjY0LmgKaW5kZXggMGFj
NDBiN2JiYzcwODE5ODE3NjRhNThmNjYxY2MyNDM3MTJmMzRiZi4uZGVmMTI4NDU1YmQ5ODJmMGY3
ZjZhNDM3YTBjMzAyYjM0MjhhMzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclJJU0NWNjQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUklTQ1Y2NC5oCkBAIC0zMzAwLDEwICszMzAw
LDE0MyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmZlbmNlSW5zbih7IFJJU0NWNjRB
c3NlbWJsZXI6Ok1lbW9yeU9wZXJhdGlvbjo6UiB9LCB7IFJJU0NWNjRBc3NlbWJsZXI6Ok1lbW9y
eU9wZXJhdGlvbjo6UlcgfSk7CiAgICAgfQogCi0gICAgTUFDUk9fQVNTRU1CTEVSX1JJU0NWNjRf
VEVNUExBVEVEX05PT1BfTUVUSE9EX1dJVEhfUkVUVVJOKGJyYW5jaEF0b21pY1dlYWtDQVM4LCBK
dW1wTGlzdCk7Ci0gICAgTUFDUk9fQVNTRU1CTEVSX1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVU
SE9EX1dJVEhfUkVUVVJOKGJyYW5jaEF0b21pY1dlYWtDQVMxNiwgSnVtcExpc3QpOwotICAgIE1B
Q1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRF9XSVRIX1JFVFVSTihi
cmFuY2hBdG9taWNXZWFrQ0FTMzIsIEp1bXBMaXN0KTsKLSAgICBNQUNST19BU1NFTUJMRVJfUklT
Q1Y2NF9URU1QTEFURURfTk9PUF9NRVRIT0RfV0lUSF9SRVRVUk4oYnJhbmNoQXRvbWljV2Vha0NB
UzY0LCBKdW1wTGlzdCk7CisgICAgdGVtcGxhdGU8dW5zaWduZWQgYml0U2l6ZT4KKyAgICBKdW1w
TGlzdCBicmFuY2hBdG9taWNXZWFrQ0FTSW1wbChTdGF0dXNDb25kaXRpb24gY29uZCwgUmVnaXN0
ZXJJRCBleHBlY3RlZEFuZENsb2JiZXJlZCwgUmVnaXN0ZXJJRCBuZXdWYWx1ZSwgQmFzZUluZGV4
IGFkZHJlc3MpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KGJpdFNpemUgPT0gOCB8fCBi
aXRTaXplID09IDE2KTsKKyAgICAgICAgLy8gVGhlcmUncyBubyA4LWJpdCBvciAxNi1iaXQgbG9h
ZC1yZXNlcnZlZCBhbmQgc3RvcmUtY29uZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zIGluIFJJU0MtViwK
KyAgICAgICAgLy8gc28gd2UgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbnMgdGhyb3Vn
aCB0aGUgMzItYml0IHZlcnNpb25zLCB3aXRoIGEgbGltaXRlZCBhbW91bnQKKyAgICAgICAgLy8g
b2YgdXNhYmxlIHJlZ2lzdGVycy4KKworICAgICAgICBhdXRvIHRlbXAgPSB0ZW1wczxEYXRhLCBN
ZW1vcnk+KCk7CisgICAgICAgIEp1bXBMaXN0IGZhaWx1cmU7CisKKyAgICAgICAgLy8gV2UgY2xv
YmJlciB0aGUgZXhwZWN0ZWQtdmFsdWUgcmVnaXN0ZXIgd2l0aCB0aGUgWE9SIGRpZmZlcmVuY2Ug
YmV0d2VlbiB0aGUgZXhwZWN0ZWQKKyAgICAgICAgLy8gYW5kIHRoZSBuZXcgdmFsdWUsIGFsc28g
Y2xpcHBpbmcgdGhlIHJlc3VsdCB0byB0aGUgZGVzaXJlZCBudW1iZXIgb2YgYml0cy4KKyAgICAg
ICAgbV9hc3NlbWJsZXIueG9ySW5zbihleHBlY3RlZEFuZENsb2JiZXJlZCwgZXhwZWN0ZWRBbmRD
bG9iYmVyZWQsIG5ld1ZhbHVlKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuemVyb0V4dGVuZDxiaXRT
aXplPihleHBlY3RlZEFuZENsb2JiZXJlZCk7CisKKyAgICAgICAgLy8gVGhlIEJhc2VJbmRleCBh
ZGRyZXNzIGlzIHJlc29sdmVkIGludG8gdGhlIG1lbW9yeSB0ZW1wLiBUaGUgYWRkcmVzcyBpcyBh
bGlnbmVkIHRvIHRoZSA0LWJ5dGUKKyAgICAgICAgLy8gYm91bmRhcnksIGFuZCB0aGUgcmVtYWlu
ZGVyIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBzaGlmdCBhbW91bnQgZm9yIHRoZSBleGFjdCBw
b3NpdGlvbgorICAgICAgICAvLyBpbiB0aGUgMzItYml0IHdvcmQgd2hlcmUgdGhlIHRhcmdldCBi
aXQgcGF0dGVybiBpcyBsb2NhdGVkLgorICAgICAgICBhdXRvIHJlc29sdXRpb24gPSByZXNvbHZl
QWRkcmVzcyhhZGRyZXNzLCB0ZW1wLm1lbW9yeSgpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRk
aUluc24odGVtcC5tZW1vcnkoKSwgcmVzb2x1dGlvbi5iYXNlLCBJbW06OkkocmVzb2x1dGlvbi5v
ZmZzZXQpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYW5kaUluc24odGVtcC5kYXRhKCksIHRlbXAu
bWVtb3J5KCksIEltbTo6STwwYjExPigpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYW5kaUluc24o
dGVtcC5tZW1vcnkoKSwgdGVtcC5tZW1vcnkoKSwgSW1tOjpJPH4wYjExPigpKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuc2xsaUluc248Mz4odGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpKTsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuYWRkaUluc24odGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpLCBJbW06Okk8
MzI+KCkpOworCisgICAgICAgIC8vIFRoZSBYT1IgdmFsdWUgaW4gdGhlIGV4cGVjdGVkLXZhbHVl
IHJlZ2lzdGVyIGlzIHNoaWZ0ZWQgaW50byB0aGUgYXBwcm9wcmlhdGUgcG9zaXRpb24gaW4KKyAg
ICAgICAgLy8gdGhlIHVwcGVyIGhhbGYgb2YgdGhlIHJlZ2lzdGVyLiBUaGUgc2hpZnQgdmFsdWUg
aXMgT1ItZWQgaW50byB0aGUgbG93ZXIgaGFsZi4KKyAgICAgICAgbV9hc3NlbWJsZXIuc2xsSW5z
bihleHBlY3RlZEFuZENsb2JiZXJlZCwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIHRlbXAuZGF0YSgp
KTsKKyAgICAgICAgbV9hc3NlbWJsZXIub3JJbnNuKGV4cGVjdGVkQW5kQ2xvYmJlcmVkLCBleHBl
Y3RlZEFuZENsb2JiZXJlZCwgdGVtcC5kYXRhKCkpOworCisgICAgICAgIC8vIFRoZSAzMi1iaXQg
dmFsdWUgaXMgbG9hZGVkIHRocm91Z2ggdGhlIGxvYWQtcmVzZXJ2ZSBpbnN0cnVjdGlvbiwgYW5k
IHRoZW4gc2hpZnRlZCBpbnRvIHRoZQorICAgICAgICAvLyB1cHBlciAzMiBiaXRzIG9mIHRoZSBy
ZWdpc3Rlci4gWE9SIGFnYWluc3QgdGhlIGV4cGVjdGVkLXZhbHVlIHJlZ2lzdGVyIHdpbGwsIGlu
IHRoZSB1cHBlcgorICAgICAgICAvLyAzMiBiaXRzIG9mIHRoZSByZWdpc3RlciwgcHJvZHVjZSB0
aGUgMzItYml0IHdvcmQgd2l0aCB0aGUgZXhwZWN0ZWQgdmFsdWUgcmVwbGFjZWQgYnkgdGhlIG5l
dyBvbmUuCisgICAgICAgIG1fYXNzZW1ibGVyLmxyd0luc24odGVtcC5kYXRhKCksIHRlbXAubWVt
b3J5KCksIHsgUklTQ1Y2NEFzc2VtYmxlcjo6TWVtb3J5QWNjZXNzOjpBY3F1aXJlIH0pOworICAg
ICAgICBtX2Fzc2VtYmxlci5zbGxpSW5zbjwzMj4odGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpKTsK
KyAgICAgICAgbV9hc3NlbWJsZXIueG9ySW5zbihleHBlY3RlZEFuZENsb2JiZXJlZCwgdGVtcC5k
YXRhKCksIGV4cGVjdGVkQW5kQ2xvYmJlcmVkKTsKKworICAgICAgICAvLyBXZSBzdGlsbCBoYXZl
IHRvIHZhbGlkYXRlIHRoYXQgdGhlIGV4cGVjdGVkIHZhbHVlLCBhZnRlciBYT1IsIG1hdGNoZXMg
dGhlIG5ldyBvbmUuIFRoZSB1cHBlcgorICAgICAgICAvLyAzMiBiaXRzIG9mIHRoZSBleHBlY3Rl
ZC12YWx1ZSByZWdpc3RlciBhcmUgc2hpZnRlZCBieSB0aGUgcHJlLXByZXBhcmVkIHNoaWZ0IGFt
b3VudCBzdG9yZWQKKyAgICAgICAgLy8gaW4gdGhlIGxvd2VyIGhhbGYgb2YgdGhhdCBzYW1lIHJl
Z2lzdGVyLiBUaGlzIHdvcmtzIGJlY2FzdWUgdGhlIHNoaWZ0IGFtb3VudCBpcyByZWFkIG9ubHkg
ZnJvbQorICAgICAgICAvLyB0aGUgYm90dG9tIDYgYml0cyBvZiB0aGUgc2hpZnQtYW1vdW50IHJl
Z2lzdGVyLiBYT1ItaW5nIGFnYWluc3QgdGhlIG5ldy12YWx1ZSByZWdpc3RlciBhbmQgc2hpZnRp
bmcKKyAgICAgICAgLy8gYmFjayBsZWZ0IHNob3VsZCBsZWF2ZSBpcyB3aXRoIGEgemVybyB2YWx1
ZSwgaW4gd2hpY2ggY2FzZSB0aGUgZXhwZWN0ZWQtdmFsdWUgYml0IHBhdHRlcm4gbWF0Y2hlZAor
ICAgICAgICAvLyB0aGUgb25lIHRoYXQgd2FzIGxvYWRlZCBmcm9tIG1lbW9yeS4gSWYgbm9uLXpl
cm8sIHRoZSBmYWlsdXJlIGJyYW5jaCBpcyB0YWtlbi4KKyAgICAgICAgbV9hc3NlbWJsZXIuc3Js
SW5zbih0ZW1wLmRhdGEoKSwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIGV4cGVjdGVkQW5kQ2xvYmJl
cmVkKTsKKyAgICAgICAgbV9hc3NlbWJsZXIueG9ySW5zbih0ZW1wLmRhdGEoKSwgdGVtcC5kYXRh
KCksIG5ld1ZhbHVlKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2xsaUluc248NjQgLSBiaXRTaXpl
Pih0ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCkpOworICAgICAgICBmYWlsdXJlLmFwcGVuZChtYWtl
QnJhbmNoKE5vdEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklTQ1Y2NFJlZ2lzdGVyczo6emVybykpOwor
CisgICAgICAgIC8vIFRoZSBjb3JyZXNwb25kaW5nIHN0b3JlLWNvbmRpdGlvbmFsIHJlbWFpbnMu
IFRoZSAzMi1iaXQgd29yZCwgY29udGFpbmluZyB0aGUgbmV3IHZhbHVlIGFmdGVyCisgICAgICAg
IC8vIHRoZSBYT1IsIGlzIGxvY2F0ZWQgaW4gdGhlIHVwcGVyIDMyIGJpdHMgb2YgdGhlIGV4cGVj
dGVkLXZhbHVlIHJlZ2lzdGVyLiBUaGF0IGNhbiBiZSBzaGlmdGVkCisgICAgICAgIC8vIGRvd24g
YW5kIHRoZW4gdXNlZCBpbiB0aGUgc3RvcmUtY29uZGl0aW9uYWwgaW5zdHJ1Y3Rpb24uCisgICAg
ICAgIG1fYXNzZW1ibGVyLnNybGlJbnNuPDMyPihleHBlY3RlZEFuZENsb2JiZXJlZCwgZXhwZWN0
ZWRBbmRDbG9iYmVyZWQpOworICAgICAgICBtX2Fzc2VtYmxlci5zY3dJbnNuKHRlbXAuZGF0YSgp
LCB0ZW1wLm1lbW9yeSgpLCBleHBlY3RlZEFuZENsb2JiZXJlZCwgeyBSSVNDVjY0QXNzZW1ibGVy
OjpNZW1vcnlBY2Nlc3M6OkFjcXVpcmVSZWxlYXNlIH0pOworCisgICAgICAgIC8vIE9uIHN1Y2Nl
c3NmdWwgc3RvcmUsIHRoZSB0ZW1wIHJlZ2lzdGVyIHdpbGwgaGF2ZSBhIHplcm8gdmFsdWUsIGFu
ZCBhIG5vbi16ZXJvIHZhbHVlIG90aGVyd2lzZS4KKyAgICAgICAgLy8gQnJhbmNoZXMgYXJlIHBy
b2R1Y2VkIGFjY29yZGluZ2x5LgorICAgICAgICBzd2l0Y2ggKGNvbmQpIHsKKyAgICAgICAgY2Fz
ZSBTdWNjZXNzOgorICAgICAgICB7CisgICAgICAgICAgICBKdW1wIHN1Y2Nlc3MgPSBtYWtlQnJh
bmNoKEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklTQ1Y2NFJlZ2lzdGVyczo6emVybyk7CisgICAgICAg
ICAgICBmYWlsdXJlLmxpbmsodGhpcyk7CisgICAgICAgICAgICByZXR1cm4gSnVtcExpc3Qoc3Vj
Y2Vzcyk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBGYWlsdXJlOgorICAgICAgICAgICAgZmFp
bHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCksIFJJU0NWNjRSZWdp
c3RlcnM6Onplcm8pKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
cmV0dXJuIGZhaWx1cmU7CisgICAgfQorCisgICAgSnVtcExpc3QgYnJhbmNoQXRvbWljV2Vha0NB
UzgoU3RhdHVzQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgZXhwZWN0ZWRBbmRDbG9iYmVyZWQs
IFJlZ2lzdGVySUQgbmV3VmFsdWUsIEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGJyYW5jaEF0b21pY1dlYWtDQVNJbXBsPDg+KGNvbmQsIGV4cGVjdGVkQW5kQ2xvYmJl
cmVkLCBuZXdWYWx1ZSwgYWRkcmVzcyk7CisgICAgfQorCisgICAgSnVtcExpc3QgYnJhbmNoQXRv
bWljV2Vha0NBUzE2KFN0YXR1c0NvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGV4cGVjdGVkQW5k
Q2xvYmJlcmVkLCBSZWdpc3RlcklEIG5ld1ZhbHVlLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7
CisgICAgICAgIHJldHVybiBicmFuY2hBdG9taWNXZWFrQ0FTSW1wbDwxNj4oY29uZCwgZXhwZWN0
ZWRBbmRDbG9iYmVyZWQsIG5ld1ZhbHVlLCBhZGRyZXNzKTsKKyAgICB9CisKKyAgICBKdW1wTGlz
dCBicmFuY2hBdG9taWNXZWFrQ0FTMzIoU3RhdHVzQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQg
ZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIFJlZ2lzdGVySUQgbmV3VmFsdWUsIEJhc2VJbmRleCBhZGRy
ZXNzKQorICAgIHsKKyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YSwgTWVtb3J5PigpOwor
ICAgICAgICBKdW1wTGlzdCBmYWlsdXJlOworCisgICAgICAgIGF1dG8gcmVzb2x1dGlvbiA9IHJl
c29sdmVBZGRyZXNzKGFkZHJlc3MsIHRlbXAubWVtb3J5KCkpOworICAgICAgICBtX2Fzc2VtYmxl
ci5hZGRpSW5zbih0ZW1wLm1lbW9yeSgpLCByZXNvbHV0aW9uLmJhc2UsIEltbTo6SShyZXNvbHV0
aW9uLm9mZnNldCkpOworICAgICAgICBtX2Fzc2VtYmxlci56ZXJvRXh0ZW5kPDMyPihleHBlY3Rl
ZEFuZENsb2JiZXJlZCwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQpOworCisgICAgICAgIG1fYXNzZW1i
bGVyLmxyd0luc24odGVtcC5kYXRhKCksIHRlbXAubWVtb3J5KCksIHsgUklTQ1Y2NEFzc2VtYmxl
cjo6TWVtb3J5QWNjZXNzOjpBY3F1aXJlIH0pOworICAgICAgICBtX2Fzc2VtYmxlci54b3JJbnNu
KHRlbXAuZGF0YSgpLCB0ZW1wLmRhdGEoKSwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQpOworICAgICAg
ICBmYWlsdXJlLmFwcGVuZChtYWtlQnJhbmNoKE5vdEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklTQ1Y2
NFJlZ2lzdGVyczo6emVybykpOworICAgICAgICBtX2Fzc2VtYmxlci5zY3dJbnNuKHRlbXAuZGF0
YSgpLCB0ZW1wLm1lbW9yeSgpLCBuZXdWYWx1ZSwgeyBSSVNDVjY0QXNzZW1ibGVyOjpNZW1vcnlB
Y2Nlc3M6OkFjcXVpcmVSZWxlYXNlIH0pOworCisgICAgICAgIHN3aXRjaCAoY29uZCkgeworICAg
ICAgICBjYXNlIFN1Y2Nlc3M6CisgICAgICAgIHsKKyAgICAgICAgICAgIEp1bXAgc3VjY2VzcyA9
IG1ha2VCcmFuY2goRXF1YWwsIHRlbXAuZGF0YSgpLCBSSVNDVjY0UmVnaXN0ZXJzOjp6ZXJvKTsK
KyAgICAgICAgICAgIGZhaWx1cmUubGluayh0aGlzKTsKKyAgICAgICAgICAgIHJldHVybiBKdW1w
TGlzdChzdWNjZXNzKTsKKyAgICAgICAgfQorICAgICAgICBjYXNlIEZhaWx1cmU6CisgICAgICAg
ICAgICBmYWlsdXJlLmFwcGVuZChtYWtlQnJhbmNoKE5vdEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklT
Q1Y2NFJlZ2lzdGVyczo6emVybykpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gZmFpbHVyZTsKKyAgICB9CisKKyAgICBKdW1wTGlzdCBicmFuY2hBdG9t
aWNXZWFrQ0FTNjQoU3RhdHVzQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgZXhwZWN0ZWRBbmRD
bG9iYmVyZWQsIFJlZ2lzdGVySUQgbmV3VmFsdWUsIEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsK
KyAgICAgICAgYXV0byB0ZW1wID0gdGVtcHM8RGF0YSwgTWVtb3J5PigpOworICAgICAgICBKdW1w
TGlzdCBmYWlsdXJlOworCisgICAgICAgIGF1dG8gcmVzb2x1dGlvbiA9IHJlc29sdmVBZGRyZXNz
KGFkZHJlc3MsIHRlbXAubWVtb3J5KCkpOworICAgICAgICBtX2Fzc2VtYmxlci5hZGRpSW5zbih0
ZW1wLm1lbW9yeSgpLCByZXNvbHV0aW9uLmJhc2UsIEltbTo6SShyZXNvbHV0aW9uLm9mZnNldCkp
OworCisgICAgICAgIG1fYXNzZW1ibGVyLmxyZEluc24odGVtcC5kYXRhKCksIHRlbXAubWVtb3J5
KCksIHsgUklTQ1Y2NEFzc2VtYmxlcjo6TWVtb3J5QWNjZXNzOjpBY3F1aXJlIH0pOworICAgICAg
ICBmYWlsdXJlLmFwcGVuZChtYWtlQnJhbmNoKE5vdEVxdWFsLCB0ZW1wLmRhdGEoKSwgZXhwZWN0
ZWRBbmRDbG9iYmVyZWQpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2NkSW5zbih0ZW1wLmRhdGEo
KSwgdGVtcC5tZW1vcnkoKSwgbmV3VmFsdWUsIHsgUklTQ1Y2NEFzc2VtYmxlcjo6TWVtb3J5QWNj
ZXNzOjpBY3F1aXJlUmVsZWFzZSB9KTsKKworICAgICAgICBzd2l0Y2ggKGNvbmQpIHsKKyAgICAg
ICAgY2FzZSBTdWNjZXNzOgorICAgICAgICB7CisgICAgICAgICAgICBKdW1wIHN1Y2Nlc3MgPSBt
YWtlQnJhbmNoKEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklTQ1Y2NFJlZ2lzdGVyczo6emVybyk7Cisg
ICAgICAgICAgICBmYWlsdXJlLmxpbmsodGhpcyk7CisgICAgICAgICAgICByZXR1cm4gSnVtcExp
c3Qoc3VjY2Vzcyk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBGYWlsdXJlOgorICAgICAgICAg
ICAgZmFpbHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCksIFJJU0NW
NjRSZWdpc3RlcnM6Onplcm8pKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgcmV0dXJuIGZhaWx1cmU7CisgICAgfQogCiAgICAgTUFDUk9fQVNTRU1CTEVSX1JJU0NW
NjRfVEVNUExBVEVEX05PT1BfTUVUSE9EKG1vdmVDb25kaXRpb25hbGx5MzIpOwogICAgIE1BQ1JP
X0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRChtb3ZlQ29uZGl0aW9uYWxs
eTY0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458507</attachid>
            <date>2022-04-28 03:03:03 -0700</date>
            <delta_ts>2022-04-28 03:03:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-239806-20220428120302.patch</filename>
            <type>text/plain</type>
            <size>9799</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZDY3MjU1MTQ2ZmU1NjlmZjNjNjQ1MGIwNzI1MGU1ZmRjOWI2ZTcyLi4wNjc2YjVmNWVmZGYyNzc1
NDRkODllMjdhODBiZDNjZDE0YmMwNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMi0wNC0yOCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW1JJU0NWNjRdIEltcGxlbWVudCBNYWNyb0Fzc2VtYmxlclJJU0NWNjQg
YnJhbmNoQXRvbWljV2Vha0NBU3s4LDE2LDMyLDY0fSBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4MDYKKworICAgICAgICBSZXZpZXdl
ZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFByb3ZpZGUgTWFjcm9Bc3NlbWJsZXJSSVND
VjY0IG1ldGhvZCBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKKyAgICAgICAgYnJh
bmNoQXRvbWljV2Vha0NBUyB2YXJpYW50cy4gVGhlIDMyLWJpdCBhbmQgNjQtYml0IHZlcnNpb25z
IGFyZQorICAgICAgICBzdHJhaWdodGZvcndhcmQsIGxldmVyYWdpbmcgdGhlIGxvYWQtcmVzZXJ2
ZWQgYW5kIHN0b3JlLWNvbmRpdGlvbmFsCisgICAgICAgIGluc3RydWN0aW9ucyBvZiB0aGUgY29y
cmVzcG9uZGluZyBzaXplcy4gRm9yIDgtYml0IGFuZCAxNi1iaXQgdmVyc2lvbnMsCisgICAgICAg
IGEgbWV0aG9kIHRlbXBsYXRlIGlzIHByb3ZpZGVkLCBsb2FkaW5nIGFuZCBzdG9yaW5nIDMyLWJp
dCB3b3JkcyBhbmQKKyAgICAgICAgcGVyZm9ybWluZyBhZGRpdGlvbmFsIG9wZXJhdGlvbnMgdG8g
dmFsaWRhdGUgYW5kIGNoYW5nZSB0aGUgZGVzaXJlZAorICAgICAgICB2YWx1ZS4KKworICAgICAg
ICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclJJU0NWNjQuaDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXJSSVNDVjY0OjpicmFuY2hBdG9taWNXZWFrQ0FTSW1wbCk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyUklTQ1Y2NDo6YnJhbmNoQXRvbWljV2Vha0NBUzgpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlclJJU0NWNjQ6OmJyYW5jaEF0b21pY1dlYWtDQVMxNik6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyUklTQ1Y2NDo6YnJhbmNoQXRvbWljV2Vha0NBUzMy
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJSSVNDVjY0OjpicmFuY2hBdG9taWNXZWFr
Q0FTNjQpOgorCiAyMDIyLTA0LTI3ICBEbWl0cnkgQmV6aGV0c2tvdiAgPGRiZXpoZXRza292QGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dBU00tR0NdIEludHJvZHVjZSBydHQgdHlwZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJSSVND
VjY0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUklT
Q1Y2NC5oCmluZGV4IDBhYzQwYjdiYmM3MDgxOTgxNzY0YTU4ZjY2MWNjMjQzNzEyZjM0YmYuLjA1
MzIyNWZjNDlhMDlhZjg5MDAwM2E5Y2NkMjA1MTZhODUxZWMzNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJSSVNDVjY0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclJJU0NWNjQuaApA
QCAtMzMwMCwxMCArMzMwMCwxNDAgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5mZW5j
ZUluc24oeyBSSVNDVjY0QXNzZW1ibGVyOjpNZW1vcnlPcGVyYXRpb246OlIgfSwgeyBSSVNDVjY0
QXNzZW1ibGVyOjpNZW1vcnlPcGVyYXRpb246OlJXIH0pOwogICAgIH0KIAotICAgIE1BQ1JPX0FT
U0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRFRF9OT09QX01FVEhPRF9XSVRIX1JFVFVSTihicmFuY2hB
dG9taWNXZWFrQ0FTOCwgSnVtcExpc3QpOwotICAgIE1BQ1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RF
TVBMQVRFRF9OT09QX01FVEhPRF9XSVRIX1JFVFVSTihicmFuY2hBdG9taWNXZWFrQ0FTMTYsIEp1
bXBMaXN0KTsKLSAgICBNQUNST19BU1NFTUJMRVJfUklTQ1Y2NF9URU1QTEFURURfTk9PUF9NRVRI
T0RfV0lUSF9SRVRVUk4oYnJhbmNoQXRvbWljV2Vha0NBUzMyLCBKdW1wTGlzdCk7Ci0gICAgTUFD
Uk9fQVNTRU1CTEVSX1JJU0NWNjRfVEVNUExBVEVEX05PT1BfTUVUSE9EX1dJVEhfUkVUVVJOKGJy
YW5jaEF0b21pY1dlYWtDQVM2NCwgSnVtcExpc3QpOworICAgIHRlbXBsYXRlPHVuc2lnbmVkIGJp
dFNpemU+CisgICAgSnVtcExpc3QgYnJhbmNoQXRvbWljV2Vha0NBU0ltcGwoU3RhdHVzQ29uZGl0
aW9uIGNvbmQsIFJlZ2lzdGVySUQgZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIFJlZ2lzdGVySUQgbmV3
VmFsdWUsIEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChi
aXRTaXplID09IDggfHwgYml0U2l6ZSA9PSAxNik7CisgICAgICAgIC8vIFRoZXJlJ3Mgbm8gOC1i
aXQgb3IgMTYtYml0IGxvYWQtcmVzZXJ2ZWQgYW5kIHN0b3JlLWNvbmRpdGlvbmFsIGluc3RydWN0
aW9ucyBpbiBSSVNDLVYsCisgICAgICAgIC8vIHNvIHdlIGhhdmUgdG8gaW1wbGVtZW50IHRoZSBv
cGVyYXRpb25zIHRocm91Z2ggdGhlIDMyLWJpdCB2ZXJzaW9ucywgd2l0aCBhIGxpbWl0ZWQgYW1v
dW50CisgICAgICAgIC8vIG9mIHVzYWJsZSByZWdpc3RlcnMuCisKKyAgICAgICAgYXV0byB0ZW1w
ID0gdGVtcHM8RGF0YSwgTWVtb3J5PigpOworICAgICAgICBKdW1wTGlzdCBmYWlsdXJlOworCisg
ICAgICAgIC8vIFdlIGNsb2JiZXIgdGhlIGV4cGVjdGVkLXZhbHVlIHJlZ2lzdGVyIHdpdGggdGhl
IFhPUiBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGV4cGVjdGVkCisgICAgICAgIC8vIGFuZCB0aGUg
bmV3IHZhbHVlLCBhbHNvIGNsaXBwaW5nIHRoZSByZXN1bHQgdG8gdGhlIGRlc2lyZWQgbnVtYmVy
IG9mIGJpdHMuCisgICAgICAgIG1fYXNzZW1ibGVyLnhvckluc24oZXhwZWN0ZWRBbmRDbG9iYmVy
ZWQsIGV4cGVjdGVkQW5kQ2xvYmJlcmVkLCBuZXdWYWx1ZSk7CisgICAgICAgIG1fYXNzZW1ibGVy
Lnplcm9FeHRlbmQ8Yml0U2l6ZT4oZXhwZWN0ZWRBbmRDbG9iYmVyZWQpOworCisgICAgICAgIC8v
IFRoZSBCYXNlSW5kZXggYWRkcmVzcyBpcyByZXNvbHZlZCBpbnRvIHRoZSBtZW1vcnkgdGVtcC4g
VGhlIGFkZHJlc3MgaXMgYWxpZ25lZCB0byB0aGUgNC1ieXRlCisgICAgICAgIC8vIGJvdW5kYXJ5
LCBhbmQgdGhlIHJlbWFpbmRlciBpcyB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgc2hpZnQgYW1vdW50
IGZvciB0aGUgZXhhY3QgcG9zaXRpb24KKyAgICAgICAgLy8gaW4gdGhlIDMyLWJpdCB3b3JkIHdo
ZXJlIHRoZSB0YXJnZXQgYml0IHBhdHRlcm4gaXMgbG9jYXRlZC4KKyAgICAgICAgYXV0byByZXNv
bHV0aW9uID0gcmVzb2x2ZUFkZHJlc3MoYWRkcmVzcywgdGVtcC5tZW1vcnkoKSk7CisgICAgICAg
IG1fYXNzZW1ibGVyLmFkZGlJbnNuKHRlbXAubWVtb3J5KCksIHJlc29sdXRpb24uYmFzZSwgSW1t
OjpJKHJlc29sdXRpb24ub2Zmc2V0KSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZGlJbnNuKHRl
bXAuZGF0YSgpLCB0ZW1wLm1lbW9yeSgpLCBJbW06Okk8MGIxMT4oKSk7CisgICAgICAgIG1fYXNz
ZW1ibGVyLmFuZGlJbnNuKHRlbXAubWVtb3J5KCksIHRlbXAubWVtb3J5KCksIEltbTo6STx+MGIx
MT4oKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNsbGlJbnNuPDM+KHRlbXAuZGF0YSgpLCB0ZW1w
LmRhdGEoKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLmFkZGlJbnNuKHRlbXAuZGF0YSgpLCB0ZW1w
LmRhdGEoKSwgSW1tOjpJPDMyPigpKTsKKworICAgICAgICAvLyBUaGUgWE9SIHZhbHVlIGluIHRo
ZSBleHBlY3RlZC12YWx1ZSByZWdpc3RlciBpcyBzaGlmdGVkIGludG8gdGhlIGFwcHJvcHJpYXRl
IHBvc2l0aW9uIGluCisgICAgICAgIC8vIHRoZSB1cHBlciBoYWxmIG9mIHRoZSByZWdpc3Rlci4g
VGhlIHNoaWZ0IHZhbHVlIGlzIE9SLWVkIGludG8gdGhlIGxvd2VyIGhhbGYuCisgICAgICAgIG1f
YXNzZW1ibGVyLnNsbEluc24oZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIGV4cGVjdGVkQW5kQ2xvYmJl
cmVkLCB0ZW1wLmRhdGEoKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLm9ySW5zbihleHBlY3RlZEFu
ZENsb2JiZXJlZCwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIHRlbXAuZGF0YSgpKTsKKworICAgICAg
ICAvLyBUaGUgMzItYml0IHZhbHVlIGlzIGxvYWRlZCB0aHJvdWdoIHRoZSBsb2FkLXJlc2VydmUg
aW5zdHJ1Y3Rpb24sIGFuZCB0aGVuIHNoaWZ0ZWQgaW50byB0aGUKKyAgICAgICAgLy8gdXBwZXIg
MzIgYml0cyBvZiB0aGUgcmVnaXN0ZXIuIFhPUiBhZ2FpbnN0IHRoZSBleHBlY3RlZC12YWx1ZSBy
ZWdpc3RlciB3aWxsLCBpbiB0aGUgdXBwZXIKKyAgICAgICAgLy8gMzIgYml0cyBvZiB0aGUgcmVn
aXN0ZXIsIHByb2R1Y2UgdGhlIDMyLWJpdCB3b3JkIHdpdGggdGhlIGV4cGVjdGVkIHZhbHVlIHJl
cGxhY2VkIGJ5IHRoZSBuZXcgb25lLgorICAgICAgICBtX2Fzc2VtYmxlci5scndJbnNuKHRlbXAu
ZGF0YSgpLCB0ZW1wLm1lbW9yeSgpLCB7IFJJU0NWNjRBc3NlbWJsZXI6Ok1lbW9yeUFjY2Vzczo6
QWNxdWlyZSB9KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2xsaUluc248MzI+KHRlbXAuZGF0YSgp
LCB0ZW1wLmRhdGEoKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnhvckluc24oZXhwZWN0ZWRBbmRD
bG9iYmVyZWQsIHRlbXAuZGF0YSgpLCBleHBlY3RlZEFuZENsb2JiZXJlZCk7CisKKyAgICAgICAg
Ly8gV2Ugc3RpbGwgaGF2ZSB0byB2YWxpZGF0ZSB0aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSwgYWZ0
ZXIgWE9SLCBtYXRjaGVzIHRoZSBuZXcgb25lLiBUaGUgdXBwZXIKKyAgICAgICAgLy8gMzIgYml0
cyBvZiB0aGUgZXhwZWN0ZWQtdmFsdWUgcmVnaXN0ZXIgYXJlIHNoaWZ0ZWQgYnkgdGhlIHByZS1w
cmVwYXJlZCBzaGlmdCBhbW91bnQgc3RvcmVkCisgICAgICAgIC8vIGluIHRoZSBsb3dlciBoYWxm
IG9mIHRoYXQgc2FtZSByZWdpc3Rlci4gVGhpcyB3b3JrcyBiZWNhc3VlIHRoZSBzaGlmdCBhbW91
bnQgaXMgcmVhZCBvbmx5IGZyb20KKyAgICAgICAgLy8gdGhlIGJvdHRvbSA2IGJpdHMgb2YgdGhl
IHNoaWZ0LWFtb3VudCByZWdpc3Rlci4gWE9SLWluZyBhZ2FpbnN0IHRoZSBuZXctdmFsdWUgcmVn
aXN0ZXIgYW5kIHNoaWZ0aW5nCisgICAgICAgIC8vIGJhY2sgbGVmdCBzaG91bGQgbGVhdmUgaXMg
d2l0aCBhIHplcm8gdmFsdWUsIGluIHdoaWNoIGNhc2UgdGhlIGV4cGVjdGVkLXZhbHVlIGJpdCBw
YXR0ZXJuIG1hdGNoZWQKKyAgICAgICAgLy8gdGhlIG9uZSB0aGF0IHdhcyBsb2FkZWQgZnJvbSBt
ZW1vcnkuIElmIG5vbi16ZXJvLCB0aGUgZmFpbHVyZSBicmFuY2ggaXMgdGFrZW4uCisgICAgICAg
IG1fYXNzZW1ibGVyLnNybEluc24odGVtcC5kYXRhKCksIGV4cGVjdGVkQW5kQ2xvYmJlcmVkLCBl
eHBlY3RlZEFuZENsb2JiZXJlZCk7CisgICAgICAgIG1fYXNzZW1ibGVyLnhvckluc24odGVtcC5k
YXRhKCksIHRlbXAuZGF0YSgpLCBuZXdWYWx1ZSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNsbGlJ
bnNuPDY0IC0gYml0U2l6ZT4odGVtcC5kYXRhKCksIHRlbXAuZGF0YSgpKTsKKyAgICAgICAgZmFp
bHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCksIFJJU0NWNjRSZWdp
c3RlcnM6Onplcm8pKTsKKworICAgICAgICAvLyBUaGUgY29ycmVzcG9uZGluZyBzdG9yZS1jb25k
aXRpb25hbCByZW1haW5zLiBUaGUgMzItYml0IHdvcmQsIGNvbnRhaW5pbmcgdGhlIG5ldyB2YWx1
ZSBhZnRlcgorICAgICAgICAvLyB0aGUgWE9SLCBpcyBsb2NhdGVkIGluIHRoZSB1cHBlciAzMiBi
aXRzIG9mIHRoZSBleHBlY3RlZC12YWx1ZSByZWdpc3Rlci4gVGhhdCBjYW4gYmUgc2hpZnRlZAor
ICAgICAgICAvLyBkb3duIGFuZCB0aGVuIHVzZWQgaW4gdGhlIHN0b3JlLWNvbmRpdGlvbmFsIGlu
c3RydWN0aW9uLgorICAgICAgICBtX2Fzc2VtYmxlci5zcmxpSW5zbjwzMj4oZXhwZWN0ZWRBbmRD
bG9iYmVyZWQsIGV4cGVjdGVkQW5kQ2xvYmJlcmVkKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2N3
SW5zbih0ZW1wLmRhdGEoKSwgdGVtcC5tZW1vcnkoKSwgZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIHsg
UklTQ1Y2NEFzc2VtYmxlcjo6TWVtb3J5QWNjZXNzOjpBY3F1aXJlUmVsZWFzZSB9KTsKKworICAg
ICAgICAvLyBPbiBzdWNjZXNzZnVsIHN0b3JlLCB0aGUgdGVtcCByZWdpc3RlciB3aWxsIGhhdmUg
YSB6ZXJvIHZhbHVlLCBhbmQgYSBub24temVybyB2YWx1ZSBvdGhlcndpc2UuCisgICAgICAgIC8v
IEJyYW5jaGVzIGFyZSBwcm9kdWNlZCBhY2NvcmRpbmdseS4KKyAgICAgICAgc3dpdGNoIChjb25k
KSB7CisgICAgICAgIGNhc2UgU3VjY2VzczogeworICAgICAgICAgICAgSnVtcCBzdWNjZXNzID0g
bWFrZUJyYW5jaChFcXVhbCwgdGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6Onplcm8pOwor
ICAgICAgICAgICAgZmFpbHVyZS5saW5rKHRoaXMpOworICAgICAgICAgICAgcmV0dXJuIEp1bXBM
aXN0KHN1Y2Nlc3MpOworICAgICAgICB9CisgICAgICAgIGNhc2UgRmFpbHVyZToKKyAgICAgICAg
ICAgIGZhaWx1cmUuYXBwZW5kKG1ha2VCcmFuY2goTm90RXF1YWwsIHRlbXAuZGF0YSgpLCBSSVND
VjY0UmVnaXN0ZXJzOjp6ZXJvKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisg
ICAgICAgIHJldHVybiBmYWlsdXJlOworICAgIH0KKworICAgIEp1bXBMaXN0IGJyYW5jaEF0b21p
Y1dlYWtDQVM4KFN0YXR1c0NvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGV4cGVjdGVkQW5kQ2xv
YmJlcmVkLCBSZWdpc3RlcklEIG5ld1ZhbHVlLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7Cisg
ICAgICAgIHJldHVybiBicmFuY2hBdG9taWNXZWFrQ0FTSW1wbDw4Pihjb25kLCBleHBlY3RlZEFu
ZENsb2JiZXJlZCwgbmV3VmFsdWUsIGFkZHJlc3MpOworICAgIH0KKworICAgIEp1bXBMaXN0IGJy
YW5jaEF0b21pY1dlYWtDQVMxNihTdGF0dXNDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBleHBl
Y3RlZEFuZENsb2JiZXJlZCwgUmVnaXN0ZXJJRCBuZXdWYWx1ZSwgQmFzZUluZGV4IGFkZHJlc3Mp
CisgICAgeworICAgICAgICByZXR1cm4gYnJhbmNoQXRvbWljV2Vha0NBU0ltcGw8MTY+KGNvbmQs
IGV4cGVjdGVkQW5kQ2xvYmJlcmVkLCBuZXdWYWx1ZSwgYWRkcmVzcyk7CisgICAgfQorCisgICAg
SnVtcExpc3QgYnJhbmNoQXRvbWljV2Vha0NBUzMyKFN0YXR1c0NvbmRpdGlvbiBjb25kLCBSZWdp
c3RlcklEIGV4cGVjdGVkQW5kQ2xvYmJlcmVkLCBSZWdpc3RlcklEIG5ld1ZhbHVlLCBCYXNlSW5k
ZXggYWRkcmVzcykKKyAgICB7CisgICAgICAgIGF1dG8gdGVtcCA9IHRlbXBzPERhdGEsIE1lbW9y
eT4oKTsKKyAgICAgICAgSnVtcExpc3QgZmFpbHVyZTsKKworICAgICAgICBhdXRvIHJlc29sdXRp
b24gPSByZXNvbHZlQWRkcmVzcyhhZGRyZXNzLCB0ZW1wLm1lbW9yeSgpKTsKKyAgICAgICAgbV9h
c3NlbWJsZXIuYWRkaUluc24odGVtcC5tZW1vcnkoKSwgcmVzb2x1dGlvbi5iYXNlLCBJbW06Okko
cmVzb2x1dGlvbi5vZmZzZXQpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuemVyb0V4dGVuZDwzMj4o
ZXhwZWN0ZWRBbmRDbG9iYmVyZWQsIGV4cGVjdGVkQW5kQ2xvYmJlcmVkKTsKKworICAgICAgICBt
X2Fzc2VtYmxlci5scndJbnNuKHRlbXAuZGF0YSgpLCB0ZW1wLm1lbW9yeSgpLCB7IFJJU0NWNjRB
c3NlbWJsZXI6Ok1lbW9yeUFjY2Vzczo6QWNxdWlyZSB9KTsKKyAgICAgICAgbV9hc3NlbWJsZXIu
eG9ySW5zbih0ZW1wLmRhdGEoKSwgdGVtcC5kYXRhKCksIGV4cGVjdGVkQW5kQ2xvYmJlcmVkKTsK
KyAgICAgICAgZmFpbHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCks
IFJJU0NWNjRSZWdpc3RlcnM6Onplcm8pKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2N3SW5zbih0
ZW1wLmRhdGEoKSwgdGVtcC5tZW1vcnkoKSwgbmV3VmFsdWUsIHsgUklTQ1Y2NEFzc2VtYmxlcjo6
TWVtb3J5QWNjZXNzOjpBY3F1aXJlUmVsZWFzZSB9KTsKKworICAgICAgICBzd2l0Y2ggKGNvbmQp
IHsKKyAgICAgICAgY2FzZSBTdWNjZXNzOiB7CisgICAgICAgICAgICBKdW1wIHN1Y2Nlc3MgPSBt
YWtlQnJhbmNoKEVxdWFsLCB0ZW1wLmRhdGEoKSwgUklTQ1Y2NFJlZ2lzdGVyczo6emVybyk7Cisg
ICAgICAgICAgICBmYWlsdXJlLmxpbmsodGhpcyk7CisgICAgICAgICAgICByZXR1cm4gSnVtcExp
c3Qoc3VjY2Vzcyk7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBGYWlsdXJlOgorICAgICAgICAg
ICAgZmFpbHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCksIFJJU0NW
NjRSZWdpc3RlcnM6Onplcm8pKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgcmV0dXJuIGZhaWx1cmU7CisgICAgfQorCisgICAgSnVtcExpc3QgYnJhbmNoQXRvbWlj
V2Vha0NBUzY0KFN0YXR1c0NvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGV4cGVjdGVkQW5kQ2xv
YmJlcmVkLCBSZWdpc3RlcklEIG5ld1ZhbHVlLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7Cisg
ICAgICAgIGF1dG8gdGVtcCA9IHRlbXBzPERhdGEsIE1lbW9yeT4oKTsKKyAgICAgICAgSnVtcExp
c3QgZmFpbHVyZTsKKworICAgICAgICBhdXRvIHJlc29sdXRpb24gPSByZXNvbHZlQWRkcmVzcyhh
ZGRyZXNzLCB0ZW1wLm1lbW9yeSgpKTsKKyAgICAgICAgbV9hc3NlbWJsZXIuYWRkaUluc24odGVt
cC5tZW1vcnkoKSwgcmVzb2x1dGlvbi5iYXNlLCBJbW06OkkocmVzb2x1dGlvbi5vZmZzZXQpKTsK
KworICAgICAgICBtX2Fzc2VtYmxlci5scmRJbnNuKHRlbXAuZGF0YSgpLCB0ZW1wLm1lbW9yeSgp
LCB7IFJJU0NWNjRBc3NlbWJsZXI6Ok1lbW9yeUFjY2Vzczo6QWNxdWlyZSB9KTsKKyAgICAgICAg
ZmFpbHVyZS5hcHBlbmQobWFrZUJyYW5jaChOb3RFcXVhbCwgdGVtcC5kYXRhKCksIGV4cGVjdGVk
QW5kQ2xvYmJlcmVkKSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnNjZEluc24odGVtcC5kYXRhKCks
IHRlbXAubWVtb3J5KCksIG5ld1ZhbHVlLCB7IFJJU0NWNjRBc3NlbWJsZXI6Ok1lbW9yeUFjY2Vz
czo6QWNxdWlyZVJlbGVhc2UgfSk7CisKKyAgICAgICAgc3dpdGNoIChjb25kKSB7CisgICAgICAg
IGNhc2UgU3VjY2VzczogeworICAgICAgICAgICAgSnVtcCBzdWNjZXNzID0gbWFrZUJyYW5jaChF
cXVhbCwgdGVtcC5kYXRhKCksIFJJU0NWNjRSZWdpc3RlcnM6Onplcm8pOworICAgICAgICAgICAg
ZmFpbHVyZS5saW5rKHRoaXMpOworICAgICAgICAgICAgcmV0dXJuIEp1bXBMaXN0KHN1Y2Nlc3Mp
OworICAgICAgICB9CisgICAgICAgIGNhc2UgRmFpbHVyZToKKyAgICAgICAgICAgIGZhaWx1cmUu
YXBwZW5kKG1ha2VCcmFuY2goTm90RXF1YWwsIHRlbXAuZGF0YSgpLCBSSVNDVjY0UmVnaXN0ZXJz
Ojp6ZXJvKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVy
biBmYWlsdXJlOworICAgIH0KIAogICAgIE1BQ1JPX0FTU0VNQkxFUl9SSVNDVjY0X1RFTVBMQVRF
RF9OT09QX01FVEhPRChtb3ZlQ29uZGl0aW9uYWxseTMyKTsKICAgICBNQUNST19BU1NFTUJMRVJf
UklTQ1Y2NF9URU1QTEFURURfTk9PUF9NRVRIT0QobW92ZUNvbmRpdGlvbmFsbHk2NCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>