<?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>202104</bug_id>
          
          <creation_ts>2019-09-23 06:58:07 -0700</creation_ts>
          <short_desc>Refcount simple line layout</short_desc>
          <delta_ts>2019-09-23 08:56:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1573286</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-23 06:58:07 -0700</bug_when>
    <thetext>For safety and ease of use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573287</commentid>
    <comment_count>1</comment_count>
      <attachid>379367</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-23 06:58:23 -0700</bug_when>
    <thetext>Created attachment 379367
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573294</commentid>
    <comment_count>2</comment_count>
      <attachid>379368</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-23 07:10:50 -0700</bug_when>
    <thetext>Created attachment 379368
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573312</commentid>
    <comment_count>3</comment_count>
      <attachid>379368</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-23 08:55:05 -0700</bug_when>
    <thetext>Comment on attachment 379368
patch

Clearing flags on attachment: 379368

Committed r250234: &lt;https://trac.webkit.org/changeset/250234&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573313</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-23 08:55:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573314</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-23 08:56:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/55624466&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379367</attachid>
            <date>2019-09-23 06:58:23 -0700</date>
            <delta_ts>2019-09-23 07:10:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>refcount-sll.patch</filename>
            <type>text/plain</type>
            <size>14386</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9zaXRpb24uY3BwCmluZGV4IDRhZTdlNTdmNTFjLi5kMmM5ZjczYmNlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9zaXRpb24uY3BwCkBAIC03MzgsOCArNzM4LDcgQEAgUG9zaXRpb24gUG9zaXRp
b246OnVwc3RyZWFtKEVkaXRpbmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdAogICAg
ICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAgICAgICAgYXV0byYg
dGV4dFJlbmRlcmVyID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKTsKIAotICAgICAg
ICAgICAgTGluZUxheW91dEludGVyZmFjZTo6UHJvdmlkZXIgbGluZUxheW91dFByb3ZpZGVyOwot
ICAgICAgICAgICAgYXV0byBmaXJzdFRleHRCb3ggPSBsaW5lTGF5b3V0UHJvdmlkZXIuZmlyc3RU
ZXh0Qm94SW5UZXh0T3JkZXJGb3IodGV4dFJlbmRlcmVyKTsKKyAgICAgICAgICAgIGF1dG8gZmly
c3RUZXh0Qm94ID0gTGluZUxheW91dEludGVyZmFjZTo6Zmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJG
b3IodGV4dFJlbmRlcmVyKTsKICAgICAgICAgICAgIGlmICghZmlyc3RUZXh0Qm94KQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC04NDksOCArODQ4LDcgQEAgUG9zaXRpb24gUG9zaXRp
b246OmRvd25zdHJlYW0oRWRpdGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlIHJ1bGUpIGNvbnN0CiAg
ICAgICAgIGlmIChpczxSZW5kZXJUZXh0PigqcmVuZGVyZXIpKSB7CiAgICAgICAgICAgICBhdXRv
JiB0ZXh0UmVuZGVyZXIgPSBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpOwogCi0gICAg
ICAgICAgICBMaW5lTGF5b3V0SW50ZXJmYWNlOjpQcm92aWRlciBsaW5lTGF5b3V0UHJvdmlkZXI7
Ci0gICAgICAgICAgICBhdXRvIGZpcnN0VGV4dEJveCA9IGxpbmVMYXlvdXRQcm92aWRlci5maXJz
dFRleHRCb3hJblRleHRPcmRlckZvcih0ZXh0UmVuZGVyZXIpOworICAgICAgICAgICAgYXV0byBm
aXJzdFRleHRCb3ggPSBMaW5lTGF5b3V0SW50ZXJmYWNlOjpmaXJzdFRleHRCb3hJblRleHRPcmRl
ckZvcih0ZXh0UmVuZGVyZXIpOwogICAgICAgICAgICAgaWYgKCFmaXJzdFRleHRCb3gpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9y
LmNwcAppbmRleCBiZjQxYzgxZGE2Yy4uY2UzNzQ1ZTcyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTYxNSw3ICs2MTUsNyBAQCBib29sIFRleHRJdGVyYXRv
cjo6aGFuZGxlVGV4dE5vZGUoKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBt
X3RleHRCb3ggPSBtX2xpbmVMYXlvdXRQcm92aWRlci5maXJzdFRleHRCb3hJblRleHRPcmRlckZv
cihyZW5kZXJlcik7CisgICAgbV90ZXh0Qm94ID0gTGluZUxheW91dEludGVyZmFjZTo6Zmlyc3RU
ZXh0Qm94SW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwogCiAgICAgYm9vbCBzaG91bGRIYW5kbGVG
aXJzdExldHRlciA9ICFtX2hhbmRsZWRGaXJzdExldHRlciAmJiBpczxSZW5kZXJUZXh0RnJhZ21l
bnQ+KHJlbmRlcmVyKSAmJiAhbV9vZmZzZXQ7CiAgICAgaWYgKHNob3VsZEhhbmRsZUZpcnN0TGV0
dGVyKQpAQCAtNjQyLDcgKzY0Miw3IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Qm94
KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gZmlyc3RUZXh0Qm94ID0gbV9s
aW5lTGF5b3V0UHJvdmlkZXIuZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwor
ICAgIGF1dG8gZmlyc3RUZXh0Qm94ID0gTGluZUxheW91dEludGVyZmFjZTo6Zmlyc3RUZXh0Qm94
SW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOwogCiAgICAgU3RyaW5nIHJlbmRlcmVyVGV4dCA9IHJl
bmRlcmVyLnRleHQoKTsKICAgICB1bnNpZ25lZCBzdGFydCA9IG1fb2Zmc2V0OwpAQCAtNzM2LDcg
KzczNiw3IEBAIHZvaWQgVGV4dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZUZpcnN0TGV0dGVyKFJl
bmRlclRleHRGcmFnbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGlmIChhdXRvKiBmaXJzdExldHRl
clRleHQgPSBmaXJzdFJlbmRlclRleHRJbkZpcnN0TGV0dGVyKGZpcnN0TGV0dGVyKSkgewogICAg
ICAgICAgICAgbV9oYW5kbGVkRmlyc3RMZXR0ZXIgPSB0cnVlOwogICAgICAgICAgICAgbV9yZW1h
aW5pbmdUZXh0Qm94ID0gbV90ZXh0Qm94OwotICAgICAgICAgICAgbV90ZXh0Qm94ID0gbV9saW5l
TGF5b3V0UHJvdmlkZXIuZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IoKmZpcnN0TGV0dGVyVGV4
dCk7CisgICAgICAgICAgICBtX3RleHRCb3ggPSBMaW5lTGF5b3V0SW50ZXJmYWNlOjpmaXJzdFRl
eHRCb3hJblRleHRPcmRlckZvcigqZmlyc3RMZXR0ZXJUZXh0KTsKICAgICAgICAgICAgIG1fZmly
c3RMZXR0ZXJUZXh0ID0gZmlyc3RMZXR0ZXJUZXh0OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKaW5kZXggNWEwZjk4ZDk3YjQuLjQ0NjJmM2RjMjY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmgKQEAgLTE4MSw4ICsxODEsNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9sYXN0VGV4dE5vZGVFbmRlZFdpdGhDb2xsYXBzZWRTcGFj
ZSB7IGZhbHNlIH07CiAgICAgVUNoYXIgbV9sYXN0Q2hhcmFjdGVyIHsgMCB9OwogCi0gICAgTGlu
ZUxheW91dEludGVyZmFjZTo6UHJvdmlkZXIgbV9saW5lTGF5b3V0UHJvdmlkZXI7Ci0KICAgICAv
LyBVc2VkIHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBlbWl0IGEgInBvc2l0aW9uaW5nIiAoZS5n
LiBuZXdsaW5lKSBiZWZvcmUgYW55IG90aGVyIGNvbnRlbnQKICAgICBib29sIG1faGFzRW1pdHRl
ZCB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aAppbmRleCA2ZTQyOTRhZmI3YS4uZGFiNTgxN2RjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTU2Nyw3ICs1NjcsNyBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICAvLyBGSVhNRTogT25seSBvbmUgb2YgdGhlc2Ugc2hvdWxkIGJlIG5lZWRlZCBhdCBhbnkg
Z2l2ZW4gdGltZS4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29tcGxleExpbmVMYXlvdXQ+IG1fY29t
cGxleExpbmVMYXlvdXQ7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFNpbXBsZUxpbmVMYXlvdXQ6Okxh
eW91dD4gbV9zaW1wbGVMaW5lTGF5b3V0OworICAgIFJlZlB0cjxTaW1wbGVMaW5lTGF5b3V0OjpM
YXlvdXQ+IG1fc2ltcGxlTGluZUxheW91dDsKIAogICAgIGZyaWVuZCBjbGFzcyBMaW5lQnJlYWtl
cjsKICAgICBmcmllbmQgY2xhc3MgTGluZVdpZHRoOyAvLyBOZWVkcyB0byBrbm93IEZsb2F0aW5n
T2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAK
aW5kZXggOGQ0ZWQ5MmY5MmYuLmU3NWRlMGMzMjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0yMDIsOCArMjAyLDcgQEAgdm9pZCBSZW5k
ZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVu
ZGVyT2JqZWN0JiBvLAogICAgICAgICAvLyBtYW55IHRlc3QgcmVzdWx0cy4KICAgICAgICAgY29u
c3QgUmVuZGVyVGV4dCYgdGV4dCA9IGRvd25jYXN0PFJlbmRlclRleHQ+KG8pOwogICAgICAgICBy
ID0gSW50UmVjdCh0ZXh0LmZpcnN0UnVuTG9jYXRpb24oKSwgdGV4dC5saW5lc0JvdW5kaW5nQm94
KCkuc2l6ZSgpKTsKLSAgICAgICAgTGluZUxheW91dEludGVyZmFjZTo6UHJvdmlkZXIgbGluZUxh
eW91dFByb3ZpZGVyOwotICAgICAgICBpZiAoIWxpbmVMYXlvdXRQcm92aWRlci5maXJzdFRleHRC
b3hGb3IodGV4dCkpCisgICAgICAgIGlmICghTGluZUxheW91dEludGVyZmFjZTo6aGFzVGV4dEJv
eGVzKHRleHQpKQogICAgICAgICAgICAgYWRqdXN0Rm9yVGFibGVDZWxscyA9IGZhbHNlOwogICAg
IH0gZWxzZSBpZiAoby5pc0JSKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyTGluZUJyZWFrJiBi
ciA9IGRvd25jYXN0PFJlbmRlckxpbmVCcmVhaz4obyk7CkBAIC01NDksOSArNTQ4LDggQEAgdm9p
ZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBPcHRpb25TZXQ8
UmVuZGVyQXNUZXh0RmxhZz4gYmUKICAgICBUZXh0U3RyZWFtOjpJbmRlbnRTY29wZSBpbmRlbnRT
Y29wZSh0cyk7CiAKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4obykpIHsKLSAgICAgICAgTGluZUxh
eW91dEludGVyZmFjZTo6UHJvdmlkZXIgbGluZUxheW91dFByb3ZpZGVyOwogICAgICAgICBhdXRv
JiB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4obyk7Ci0gICAgICAgIGZvciAoYXV0byYgdGV4
dEJveCA6IGxpbmVMYXlvdXRQcm92aWRlci50ZXh0Qm94UmFuZ2VGb3IodGV4dCkpIHsKKyAgICAg
ICAgZm9yIChhdXRvJiB0ZXh0Qm94IDogTGluZUxheW91dEludGVyZmFjZTo6dGV4dEJveFJhbmdl
Rm9yKHRleHQpKSB7CiAgICAgICAgICAgICB0cyA8PCBpbmRlbnQ7CiAgICAgICAgICAgICB3cml0
ZVRleHRCb3godHMsIHRleHQsIHRleHRCb3gpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKaW5kZXggYzM2MmY0ZTU3YjAuLjUzN2M5
MTdmYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQu
Y3BwCkBAIC05NzIsNyArOTcyLDcgQEAgc3RhdGljIHZvaWQgY3JlYXRlVGV4dFJ1bnMoTGF5b3V0
OjpSdW5WZWN0b3ImIHJ1bnMsIFJlbmRlckJsb2NrRmxvdyYgZmxvdywgdW5zaWcKICAgICB9IHdo
aWxlICghaXNFbmRPZkNvbnRlbnQpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBjcmVh
dGUoUmVuZGVyQmxvY2tGbG93JiBmbG93KQorUmVmPExheW91dD4gY3JlYXRlKFJlbmRlckJsb2Nr
RmxvdyYgZmxvdykKIHsKICAgICB1bnNpZ25lZCBsaW5lQ291bnQgPSAwOwogICAgIExheW91dDo6
UnVuVmVjdG9yIHJ1bnM7CkBAIC05ODAsMTAgKzk4MCwxMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGF5
b3V0PiBjcmVhdGUoUmVuZGVyQmxvY2tGbG93JiBmbG93KQogICAgIHJldHVybiBMYXlvdXQ6OmNy
ZWF0ZShydW5zLCBsaW5lQ291bnQsIGZsb3cpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0
PiBMYXlvdXQ6OmNyZWF0ZShjb25zdCBSdW5WZWN0b3ImIHJ1blZlY3RvciwgdW5zaWduZWQgbGlu
ZUNvdW50LCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrRmxvdykKK1JlZjxMYXlvdXQ+IExh
eW91dDo6Y3JlYXRlKGNvbnN0IFJ1blZlY3RvciYgcnVuVmVjdG9yLCB1bnNpZ25lZCBsaW5lQ291
bnQsIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgYmxvY2tGbG93KQogewogICAgIHZvaWQqIHNsb3Qg
PSBXVEY6OmZhc3RNYWxsb2Moc2l6ZW9mKExheW91dCkgKyBzaXplb2YoUnVuKSAqIHJ1blZlY3Rv
ci5zaXplKCkpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PihuZXcgKE5vdE51
bGwsIHNsb3QpIExheW91dChydW5WZWN0b3IsIGxpbmVDb3VudCwgYmxvY2tGbG93KSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgKE5vdE51bGwsIHNsb3QpIExheW91dChydW5WZWN0b3IsIGxp
bmVDb3VudCwgYmxvY2tGbG93KSk7CiB9CiAKIExheW91dDo6TGF5b3V0KGNvbnN0IFJ1blZlY3Rv
ciYgcnVuVmVjdG9yLCB1bnNpZ25lZCBsaW5lQ291bnQsIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYg
YmxvY2tGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmgK
aW5kZXggNmUzNjU0OTUzNjcuLjRiZWI5OGNmYjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNp
bXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oIgogI2luY2x1ZGUgIlRleHRGbGFncy5oIgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC03NSwxMiArNzYsMTIgQEAgc3RydWN0IFNpbXBs
ZUxpbmVTdHJ1dCB7CiAgICAgZmxvYXQgb2Zmc2V0OwogfTsKIAotY2xhc3MgTGF5b3V0IHsKK2Ns
YXNzIExheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPExheW91dD4gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHVzaW5nIFJ1blZlY3RvciA9IFZlY3RvcjxSdW4s
IDEwPjsKICAgICB1c2luZyBTaW1wbGVMaW5lU3RydXRzID0gVmVjdG9yPFNpbXBsZUxpbmVTdHJ1
dCwgND47Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXQ+IGNyZWF0ZShjb25zdCBS
dW5WZWN0b3ImLCB1bnNpZ25lZCBsaW5lQ291bnQsIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwor
ICAgIHN0YXRpYyBSZWY8TGF5b3V0PiBjcmVhdGUoY29uc3QgUnVuVmVjdG9yJiwgdW5zaWduZWQg
bGluZUNvdW50LCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmKTsKIAogICAgIH5MYXlvdXQoKTsKIApA
QCAtMTA4LDcgKzEwOSw3IEBAIHByaXZhdGU6CiAgICAgUnVuIG1fcnVuc1swXTsKIH07CiAKLXN0
ZDo6dW5pcXVlX3B0cjxMYXlvdXQ+IGNyZWF0ZShSZW5kZXJCbG9ja0Zsb3cmKTsKK1JlZjxMYXlv
dXQ+IGNyZWF0ZShSZW5kZXJCbG9ja0Zsb3cmKTsKIAogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcAppbmRleCBkMjFk
OTYyZGI4Ni4uNDM2MjgyZjBhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBAIC02OCw3ICs2OCw3IEBAIEZsb2F0
UmVjdCBSdW5SZXNvbHZlcjo6UnVuOjpyZWN0KCkgY29uc3QKICAgICBGbG9hdFBvaW50IHBvc2l0
aW9uID0gbGluZVBvc2l0aW9uKHJ1bi5sb2dpY2FsTGVmdCwgYmFzZWxpbmUgLSByZXNvbHZlci5t
X2FzY2VudCk7CiAgICAgRmxvYXRTaXplIHNpemUgPSBsaW5lU2l6ZShydW4ubG9naWNhbExlZnQs
IHJ1bi5sb2dpY2FsUmlnaHQsIHJlc29sdmVyLm1fYXNjZW50ICsgcmVzb2x2ZXIubV9kZXNjZW50
ICsgcmVzb2x2ZXIubV92aXN1YWxPdmVyZmxvd09mZnNldCk7CiAgICAgYm9vbCBtb3ZlTGluZUJy
ZWFrVG9CYXNlbGluZSA9IGZhbHNlOwotICAgIGlmIChydW4uc3RhcnQgPT0gcnVuLmVuZCAmJiBt
X2l0ZXJhdG9yICE9IHJlc29sdmVyLmJlZ2luKCkgJiYgbV9pdGVyYXRvci5pblF1aXJrc01vZGUo
KSkgeworICAgIGlmIChydW4uc3RhcnQgPT0gcnVuLmVuZCAmJiBtX2l0ZXJhdG9yICE9IHJlc29s
dmVyLmJlZ2luKCkgJiYgcmVzb2x2ZXIubV9pblF1aXJrc01vZGUpIHsKICAgICAgICAgYXV0byBw
cmV2aW91c1J1biA9IG1faXRlcmF0b3I7CiAgICAgICAgIC0tcHJldmlvdXNSdW47CiAgICAgICAg
IG1vdmVMaW5lQnJlYWtUb0Jhc2VsaW5lID0gIXByZXZpb3VzUnVuLnNpbXBsZVJ1bigpLmlzRW5k
T2ZMaW5lOwpAQCAtMTEzLDcgKzExMyw4IEBAIHVuc2lnbmVkIFJ1blJlc29sdmVyOjpSdW46Omxv
Y2FsRW5kKCkgY29uc3QKIH0KIAogUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjpJdGVyYXRvcihjb25z
dCBSdW5SZXNvbHZlciYgcmVzb2x2ZXIsIHVuc2lnbmVkIHJ1bkluZGV4LCB1bnNpZ25lZCBsaW5l
SW5kZXgpCi0gICAgOiBtX3Jlc29sdmVyKCZyZXNvbHZlcikKKyAgICA6IG1fbGF5b3V0KCZyZXNv
bHZlci5tX2xheW91dCkKKyAgICAsIG1fcmVzb2x2ZXIoJnJlc29sdmVyKQogICAgICwgbV9ydW5J
bmRleChydW5JbmRleCkKICAgICAsIG1fbGluZUluZGV4KGxpbmVJbmRleCkKIHsKQEAgLTEyOSw4
ICsxMzAsOCBAQCBSdW5SZXNvbHZlcjo6SXRlcmF0b3ImIFJ1blJlc29sdmVyOjpJdGVyYXRvcjo6
YWR2YW5jZSgpCiAKIFJ1blJlc29sdmVyOjpJdGVyYXRvciYgUnVuUmVzb2x2ZXI6Okl0ZXJhdG9y
OjphZHZhbmNlTGluZXModW5zaWduZWQgbGluZUNvdW50KQogewotICAgIHVuc2lnbmVkIHJ1bkNv
dW50ID0gcmVzb2x2ZXIoKS5tX2xheW91dC5ydW5Db3VudCgpOwotICAgIGlmIChydW5Db3VudCA9
PSByZXNvbHZlcigpLm1fbGF5b3V0LmxpbmVDb3VudCgpKSB7CisgICAgdW5zaWduZWQgcnVuQ291
bnQgPSBsYXlvdXQoKS5ydW5Db3VudCgpOworICAgIGlmIChydW5Db3VudCA9PSBsYXlvdXQoKS5s
aW5lQ291bnQoKSkgewogICAgICAgICBtX3J1bkluZGV4ID0gc3RkOjptaW4ocnVuQ291bnQsIG1f
cnVuSW5kZXggKyBsaW5lQ291bnQpOwogICAgICAgICBtX2xpbmVJbmRleCA9IG1fcnVuSW5kZXg7
CiAgICAgICAgIHJldHVybiAqdGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAppbmRleCA2YWI3MDMxNzBhOS4uNGI1MmZhNmM1
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
UmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmgKQEAgLTk1LDggKzk1LDkgQEAgcHVibGljOgogICAgICAgICBJdGVyYXRvciYg
YWR2YW5jZSgpOwogICAgICAgICBJdGVyYXRvciYgYWR2YW5jZUxpbmVzKHVuc2lnbmVkKTsKICAg
ICAgICAgY29uc3QgUnVuUmVzb2x2ZXImIHJlc29sdmVyKCkgY29uc3QgeyByZXR1cm4gKm1fcmVz
b2x2ZXI7IH0KLSAgICAgICAgYm9vbCBpblF1aXJrc01vZGUoKSBjb25zdCB7IHJldHVybiByZXNv
bHZlcigpLm1faW5RdWlya3NNb2RlOyB9CisgICAgICAgIGNvbnN0IExheW91dCYgbGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gKm1fbGF5b3V0OyB9CiAKKyAgICAgICAgUmVmUHRyPGNvbnN0IExheW91
dD4gbV9sYXlvdXQ7CiAgICAgICAgIGNvbnN0IFJ1blJlc29sdmVyKiBtX3Jlc29sdmVyOwogICAg
ICAgICB1bnNpZ25lZCBtX3J1bkluZGV4OwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVJbmRleDsK
QEAgLTIxOCw3ICsyMTksNyBAQCBpbmxpbmUgZmxvYXQgUnVuUmVzb2x2ZXI6OlJ1bjo6Y29tcHV0
ZUJhc2VsaW5lUG9zaXRpb24oKSBjb25zdAogewogICAgIGF1dG8mIHJlc29sdmVyID0gbV9pdGVy
YXRvci5yZXNvbHZlcigpOwogICAgIGF1dG8gb2Zmc2V0ID0gcmVzb2x2ZXIubV9ib3JkZXJBbmRQ
YWRkaW5nQmVmb3JlICsgcmVzb2x2ZXIubV9saW5lSGVpZ2h0ICogbGluZUluZGV4KCk7Ci0gICAg
aWYgKCFyZXNvbHZlci5tX2xheW91dC5oYXNMaW5lU3RydXRzKCkpCisgICAgaWYgKCFtX2l0ZXJh
dG9yLmxheW91dCgpLmhhc0xpbmVTdHJ1dHMoKSkKICAgICAgICAgcmV0dXJuIG9mZnNldCArIHJl
c29sdmVyLm1fYmFzZWxpbmU7CiAgICAgZm9yIChhdXRvJiBzdHJ1dEVudHJ5IDogcmVzb2x2ZXIu
bV9sYXlvdXQuc3RydXRzKCkpIHsKICAgICAgICAgaWYgKHN0cnV0RW50cnkubGluZUJyZWFrID4g
bGluZUluZGV4KCkpCkBAIC0yNTQsNyArMjU1LDcgQEAgaW5saW5lIFJ1blJlc29sdmVyOjpSdW4g
UnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjpvcGVyYXRvciooKSBjb25zdAogCiBpbmxpbmUgY29uc3Qg
U2ltcGxlTGluZUxheW91dDo6UnVuJiBSdW5SZXNvbHZlcjo6SXRlcmF0b3I6OnNpbXBsZVJ1bigp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIHJlc29sdmVyKCkubV9sYXlvdXQucnVuQXQobV9ydW5JbmRl
eCk7CisgICAgcmV0dXJuIGxheW91dCgpLnJ1bkF0KG1fcnVuSW5kZXgpOwogfQogCiBpbmxpbmUg
UnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIFJ1blJlc29sdmVyOjpiZWdpbigpIGNvbnN0CkBAIC0yOTks
OSArMzAwLDkgQEAgaW5saW5lIFdURjo6SXRlcmF0b3JSYW5nZTxMaW5lUmVzb2x2ZXI6Okl0ZXJh
dG9yPiBMaW5lUmVzb2x2ZXI6OnJhbmdlRm9yUmVjdChjb24KICAgICByZXR1cm4geyBJdGVyYXRv
cihydW5SYW5nZS5iZWdpbigpKSwgSXRlcmF0b3IocnVuUmFuZ2UuZW5kKCkpIH07CiB9CiAKLWlu
bGluZSBSdW5SZXNvbHZlciBydW5SZXNvbHZlcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3cs
IGNvbnN0IExheW91dCYgbGF5b3V0KQoraW5saW5lIFJ1blJlc29sdmVyIHJ1blJlc29sdmVyKGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IExheW91dCYgbGF5b3V0KQogewotICAgIHJldHVy
biBSdW5SZXNvbHZlcihmbG93LCBsYXlvdXQpOworICAgIHJldHVybiBsYXlvdXQucnVuUmVzb2x2
ZXIoKTsKIH0KIAogaW5saW5lIExpbmVSZXNvbHZlciBsaW5lUmVzb2x2ZXIoY29uc3QgUnVuUmVz
b2x2ZXImIHJ1blJlc29sdmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L2xpbmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0SW50ZXJmYWNlVGV4dEJveGVzLmNwcAppbmRleCAzOTk5
NDVjYTFmZC4uN2U5ZTAxN2EzMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9saW5lL0xpbmVMYXlvdXRJbnRlcmZhY2VUZXh0Qm94ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRJbnRlcmZhY2VUZXh0Qm94ZXMuY3BwCkBAIC0y
NzIsMjUgKzI3MiwxNyBAQCBib29sIFRleHRCb3hJdGVyYXRvcjo6YXRFbmQoKSBjb25zdAogICAg
IHJldHVybiBXVEY6OnN3aXRjaE9uKG1fcGF0aFZhcmlhbnQsIHNpbXBsZSwgY29tcGxleCk7CiB9
CiAKLVByb3ZpZGVyOjpQcm92aWRlcigpID0gZGVmYXVsdDsKLVByb3ZpZGVyOjp+UHJvdmlkZXIo
KSA9IGRlZmF1bHQ7Ci0KLVRleHRCb3hJdGVyYXRvciBQcm92aWRlcjo6Zmlyc3RUZXh0Qm94SW5W
aXN1YWxPcmRlckZvcihjb25zdCBSZW5kZXJUZXh0JiB0ZXh0KQorVGV4dEJveEl0ZXJhdG9yIGZp
cnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3IoY29uc3QgUmVuZGVyVGV4dCYgdGV4dCkKIHsKICAg
ICBpZiAoYXV0byogc2ltcGxlTGluZUxheW91dCA9IHRleHQuc2ltcGxlTGluZUxheW91dCgpKSB7
Ci0gICAgICAgIGF1dG8mIHBhcmVudCA9IGRvd25jYXN0PGNvbnN0IFJlbmRlckJsb2NrRmxvdz4o
KnRleHQucGFyZW50KCkpOwotICAgICAgICBhdXRvJiByZXNvbHZlciA9IG1fc2ltcGxlTGluZUxh
eW91dFJlc29sdmVycy5lbnN1cmUoJnBhcmVudCwgWyZdIHsKLSAgICAgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPFNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyPihwYXJlbnQsICpzaW1wbGVM
aW5lTGF5b3V0KTsKLSAgICAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwotCi0gICAgICAgIGF1dG8g
cmFuZ2UgPSByZXNvbHZlci0+cmFuZ2VGb3JSZW5kZXJlcih0ZXh0KTsKKyAgICAgICAgYXV0byBy
YW5nZSA9IHNpbXBsZUxpbmVMYXlvdXQtPnJ1blJlc29sdmVyKCkucmFuZ2VGb3JSZW5kZXJlcih0
ZXh0KTsKICAgICAgICAgcmV0dXJuIHsgcmFuZ2UuYmVnaW4oKSwgcmFuZ2UuZW5kKCkgfTsKICAg
ICB9CiAKICAgICByZXR1cm4gVGV4dEJveEl0ZXJhdG9yIHsgdGV4dC5maXJzdFRleHRCb3goKSB9
OwogfQogCi1UZXh0Qm94SXRlcmF0b3IgUHJvdmlkZXI6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVy
Rm9yKGNvbnN0IFJlbmRlclRleHQmIHRleHQpCitUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94
SW5UZXh0T3JkZXJGb3IoY29uc3QgUmVuZGVyVGV4dCYgdGV4dCkKIHsKICAgICBpZiAoIXRleHQu
c2ltcGxlTGluZUxheW91dCgpICYmIHRleHQuY29udGFpbnNSZXZlcnNlZFRleHQoKSkgewogICAg
ICAgICBWZWN0b3I8Y29uc3QgSW5saW5lVGV4dEJveCo+IHNvcnRlZFRleHRCb3hlczsKQEAgLTMw
Myw3ICsyOTUsNyBAQCBUZXh0Qm94SXRlcmF0b3IgUHJvdmlkZXI6OmZpcnN0VGV4dEJveEluVGV4
dE9yZGVyRm9yKGNvbnN0IFJlbmRlclRleHQmIHRleHQpCiAgICAgcmV0dXJuIGZpcnN0VGV4dEJv
eEluVmlzdWFsT3JkZXJGb3IodGV4dCk7CiB9CiAKLVRleHRCb3hSYW5nZSBQcm92aWRlcjo6dGV4
dEJveFJhbmdlRm9yKGNvbnN0IFJlbmRlclRleHQmIHRleHQpCitUZXh0Qm94UmFuZ2UgdGV4dEJv
eFJhbmdlRm9yKGNvbnN0IFJlbmRlclRleHQmIHRleHQpCiB7CiAgICAgcmV0dXJuIHsgZmlyc3RU
ZXh0Qm94SW5WaXN1YWxPcmRlckZvcih0ZXh0KSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5o
CmluZGV4IGNlOGY2MWQzODM3Li42MzRjNGNiYmY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRJbnRlcmZhY2VUZXh0Qm94ZXMu
aApAQCAtMzUsNyArMzUsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmxpbmVU
ZXh0Qm94OwotY2xhc3MgUHJvdmlkZXI7CiBjbGFzcyBSZW5kZXJUZXh0OwogCiBuYW1lc3BhY2Ug
TGluZUxheW91dEludGVyZmFjZSB7CkBAIC0xMzEsMTkgKzEzMCwxMCBAQCBwcml2YXRlOgogICAg
IFRleHRCb3hJdGVyYXRvciBtX2JlZ2luOwogfTsKIAotY2xhc3MgUHJvdmlkZXIgewotcHVibGlj
OgotICAgIFByb3ZpZGVyKCk7Ci0gICAgflByb3ZpZGVyKCk7Ci0KLSAgICBUZXh0Qm94SXRlcmF0
b3IgZmlyc3RUZXh0Qm94Rm9yKGNvbnN0IFJlbmRlclRleHQmIHRleHQpIHsgcmV0dXJuIGZpcnN0
VGV4dEJveEluVmlzdWFsT3JkZXJGb3IodGV4dCk7IH0KLSAgICBUZXh0Qm94SXRlcmF0b3IgZmly
c3RUZXh0Qm94SW5WaXN1YWxPcmRlckZvcihjb25zdCBSZW5kZXJUZXh0Jik7Ci0gICAgVGV4dEJv
eEl0ZXJhdG9yIGZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKGNvbnN0IFJlbmRlclRleHQmKTsK
LSAgICBUZXh0Qm94UmFuZ2UgdGV4dEJveFJhbmdlRm9yKGNvbnN0IFJlbmRlclRleHQmKTsKLQot
cHJpdmF0ZToKLSAgICBIYXNoTWFwPGNvbnN0IFJlbmRlckJsb2NrRmxvdyosIHN0ZDo6dW5pcXVl
X3B0cjxTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcj4+IG1fc2ltcGxlTGluZUxheW91dFJl
c29sdmVyczsKLX07CitUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94SW5WaXN1YWxPcmRlckZv
cihjb25zdCBSZW5kZXJUZXh0Jik7CitUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94SW5UZXh0
T3JkZXJGb3IoY29uc3QgUmVuZGVyVGV4dCYpOworVGV4dEJveFJhbmdlIHRleHRCb3hSYW5nZUZv
cihjb25zdCBSZW5kZXJUZXh0Jik7CitpbmxpbmUgYm9vbCBoYXNUZXh0Qm94ZXMoY29uc3QgUmVu
ZGVyVGV4dCYgdGV4dCkgeyByZXR1cm4gIWZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3IodGV4
dCkuYXRFbmQoKTsgfQogCiB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379368</attachid>
            <date>2019-09-23 07:10:50 -0700</date>
            <delta_ts>2019-09-23 08:55:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>refcount-sll-2.patch</filename>
            <type>text/plain</type>
            <size>18694</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NzhlNGRmZmQ0My4uMmY0YzRjMDk0YzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MSBAQAorMjAxOS0wOS0yMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVmY291bnQgc2ltcGxlIGxpbmUgbGF5b3V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIxMDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFNpbXBsZUxpbmVMYXlvdXQ6Okxh
eW91dCByZWZjb3VudGVkIGZvciBzYWZldHkgYW5kIGVhc2Ugb2YgdXNlLgorCisgICAgICAgICog
ZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uOjp1cHN0cmVhbSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6ZG93bnN0cmVhbSBjb25zdCk6Cisg
ICAgICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEl0ZXJhdG9yOjpoYW5kbGVUZXh0Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0SXRlcmF0
b3I6OmhhbmRsZVRleHRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEl0ZXJhdG9yOjpoYW5k
bGVUZXh0Tm9kZUZpcnN0TGV0dGVyKToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRJdGVyYXRvci5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVl
QXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlTGluZUxheW91dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxp
bmVMYXlvdXQ6OkxheW91dDo6Y3JlYXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25z
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6Om91dHB1dExpbmVMYXlv
dXRGb3JGbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpS
dW46OnJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVu
UmVzb2x2ZXI6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisKKyAgICAgICAgSXRlcmF0b3Igbm93IHJl
ZnMgdGhlIGxheW91dC4gU2luY2UgdGhlIHJlc29sdmVyIGlzIG93bmVkIGJ5IHRoZSBsYXlvdXQs
IGl0IGlzIGd1YXJhbnRlZWQgdG8gc3RheSBhbGl2ZSB0b28uCisKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpJdGVyYXRvcjo6YWR2YW5jZUxpbmVzKToK
KyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmg6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6SXRlcmF0b3I6OmxheW91
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZl
cjo6UnVuOjpjb21wdXRlQmFzZWxpbmVQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6SXRlcmF0b3I6OnNpbXBsZVJ1biBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6SXRl
cmF0b3I6OmluUXVpcmtzTW9kZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVMaW5lTGF5b3V0OjpydW5SZXNvbHZlcik6IERlbGV0ZWQuCisKKyAgICAgICAgQWx3YXlz
IHVzZSB0aGUgY2FjaGVkIHJlc29sdmVyIG93bmVkIGJ5IFNpbXBsZUxpbmVMYXlvdXQ6OkxheW91
dC4KKworICAgICAgICAqIHJlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRJbnRlcmZhY2VUZXh0Qm94
ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dEludGVyZmFjZTo6Zmlyc3RUZXh0
Qm94SW5WaXN1YWxPcmRlckZvcik6CisgICAgICAgIChXZWJDb3JlOjpMaW5lTGF5b3V0SW50ZXJm
YWNlOjpmaXJzdFRleHRCb3hJblRleHRPcmRlckZvcik6CisgICAgICAgIChXZWJDb3JlOjpMaW5l
TGF5b3V0SW50ZXJmYWNlOjp0ZXh0Qm94UmFuZ2VGb3IpOgorICAgICAgICAoV2ViQ29yZTo6TGlu
ZUxheW91dEludGVyZmFjZTo6UHJvdmlkZXI6OmZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3Ip
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGluZUxheW91dEludGVyZmFjZTo6UHJvdmlk
ZXI6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxpbmVMYXlvdXRJbnRlcmZhY2U6OlByb3ZpZGVyOjp0ZXh0Qm94UmFuZ2VGb3IpOiBEZWxl
dGVkLgorCisgICAgICAgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgc2VwYXJhdGUgUHJvdmlkZXIg
Y2xhc3MgYW55bW9yZSBhcyB0aGUgaXRlcmF0b3Iga2VlcHMgU2ltcGxlTGluZUxheW91dDo6TGF5
b3V0CisgICAgICAgIGFuZCBSZXNvbHZlciBpbnN0YW5jZXMgYWxpdmUgaXRzZWxmLgorCisgICAg
ICAgICogcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5oOgorICAg
ICAgICAoV2ViQ29yZTo6TGluZUxheW91dEludGVyZmFjZTo6aGFzVGV4dEJveGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxpbmVMYXlvdXRJbnRlcmZhY2U6OlByb3ZpZGVyOjpmaXJzdFRleHRCb3hG
b3IpOiBEZWxldGVkLgorCiAyMDE5LTA5LTIyICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBs
ZS5jb20+CiAKICAgICAgICAgY2xhbmctdGlkeTogRml4IHVubmVjZXNzYXJ5IGNvcHkvcmVmIGNo
dXJuIG9mIGZvciBsb29wIHZhcmlhYmxlcyBpbiBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNw
cAppbmRleCA0YWU3ZTU3ZjUxYy4uZDJjOWY3M2JjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNw
cApAQCAtNzM4LDggKzczOCw3IEBAIFBvc2l0aW9uIFBvc2l0aW9uOjp1cHN0cmVhbShFZGl0aW5n
Qm91bmRhcnlDcm9zc2luZ1J1bGUgcnVsZSkgY29uc3QKICAgICAgICAgaWYgKGlzPFJlbmRlclRl
eHQ+KCpyZW5kZXJlcikpIHsKICAgICAgICAgICAgIGF1dG8mIHRleHRSZW5kZXJlciA9IGRvd25j
YXN0PFJlbmRlclRleHQ+KCpyZW5kZXJlcik7CiAKLSAgICAgICAgICAgIExpbmVMYXlvdXRJbnRl
cmZhY2U6OlByb3ZpZGVyIGxpbmVMYXlvdXRQcm92aWRlcjsKLSAgICAgICAgICAgIGF1dG8gZmly
c3RUZXh0Qm94ID0gbGluZUxheW91dFByb3ZpZGVyLmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9y
KHRleHRSZW5kZXJlcik7CisgICAgICAgICAgICBhdXRvIGZpcnN0VGV4dEJveCA9IExpbmVMYXlv
dXRJbnRlcmZhY2U6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKHRleHRSZW5kZXJlcik7CiAg
ICAgICAgICAgICBpZiAoIWZpcnN0VGV4dEJveCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
IApAQCAtODQ5LDggKzg0OCw3IEBAIFBvc2l0aW9uIFBvc2l0aW9uOjpkb3duc3RyZWFtKEVkaXRp
bmdCb3VuZGFyeUNyb3NzaW5nUnVsZSBydWxlKSBjb25zdAogICAgICAgICBpZiAoaXM8UmVuZGVy
VGV4dD4oKnJlbmRlcmVyKSkgewogICAgICAgICAgICAgYXV0byYgdGV4dFJlbmRlcmVyID0gZG93
bmNhc3Q8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKTsKIAotICAgICAgICAgICAgTGluZUxheW91dElu
dGVyZmFjZTo6UHJvdmlkZXIgbGluZUxheW91dFByb3ZpZGVyOwotICAgICAgICAgICAgYXV0byBm
aXJzdFRleHRCb3ggPSBsaW5lTGF5b3V0UHJvdmlkZXIuZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJG
b3IodGV4dFJlbmRlcmVyKTsKKyAgICAgICAgICAgIGF1dG8gZmlyc3RUZXh0Qm94ID0gTGluZUxh
eW91dEludGVyZmFjZTo6Zmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IodGV4dFJlbmRlcmVyKTsK
ICAgICAgICAgICAgIGlmICghZmlyc3RUZXh0Qm94KQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggYmY0MWM4MWRh
NmMuLmNlMzc0NWU3MjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJ
dGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CkBAIC02MTUsNyArNjE1LDcgQEAgYm9vbCBUZXh0SXRlcmF0b3I6OmhhbmRsZVRleHROb2RlKCkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgbV90ZXh0Qm94ID0gbV9saW5lTGF5
b3V0UHJvdmlkZXIuZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IocmVuZGVyZXIpOworICAgIG1f
dGV4dEJveCA9IExpbmVMYXlvdXRJbnRlcmZhY2U6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9y
KHJlbmRlcmVyKTsKIAogICAgIGJvb2wgc2hvdWxkSGFuZGxlRmlyc3RMZXR0ZXIgPSAhbV9oYW5k
bGVkRmlyc3RMZXR0ZXIgJiYgaXM8UmVuZGVyVGV4dEZyYWdtZW50PihyZW5kZXJlcikgJiYgIW1f
b2Zmc2V0OwogICAgIGlmIChzaG91bGRIYW5kbGVGaXJzdExldHRlcikKQEAgLTY0Miw3ICs2NDIs
NyBAQCB2b2lkIFRleHRJdGVyYXRvcjo6aGFuZGxlVGV4dEJveCgpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBhdXRvIGZpcnN0VGV4dEJveCA9IG1fbGluZUxheW91dFByb3ZpZGVyLmZp
cnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKHJlbmRlcmVyKTsKKyAgICBhdXRvIGZpcnN0VGV4dEJv
eCA9IExpbmVMYXlvdXRJbnRlcmZhY2U6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKHJlbmRl
cmVyKTsKIAogICAgIFN0cmluZyByZW5kZXJlclRleHQgPSByZW5kZXJlci50ZXh0KCk7CiAgICAg
dW5zaWduZWQgc3RhcnQgPSBtX29mZnNldDsKQEAgLTczNiw3ICs3MzYsNyBAQCB2b2lkIFRleHRJ
dGVyYXRvcjo6aGFuZGxlVGV4dE5vZGVGaXJzdExldHRlcihSZW5kZXJUZXh0RnJhZ21lbnQmIHJl
bmRlcmVyKQogICAgICAgICBpZiAoYXV0byogZmlyc3RMZXR0ZXJUZXh0ID0gZmlyc3RSZW5kZXJU
ZXh0SW5GaXJzdExldHRlcihmaXJzdExldHRlcikpIHsKICAgICAgICAgICAgIG1faGFuZGxlZEZp
cnN0TGV0dGVyID0gdHJ1ZTsKICAgICAgICAgICAgIG1fcmVtYWluaW5nVGV4dEJveCA9IG1fdGV4
dEJveDsKLSAgICAgICAgICAgIG1fdGV4dEJveCA9IG1fbGluZUxheW91dFByb3ZpZGVyLmZpcnN0
VGV4dEJveEluVGV4dE9yZGVyRm9yKCpmaXJzdExldHRlclRleHQpOworICAgICAgICAgICAgbV90
ZXh0Qm94ID0gTGluZUxheW91dEludGVyZmFjZTo6Zmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3Io
KmZpcnN0TGV0dGVyVGV4dCk7CiAgICAgICAgICAgICBtX2ZpcnN0TGV0dGVyVGV4dCA9IGZpcnN0
TGV0dGVyVGV4dDsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5oCmluZGV4IDVhMGY5OGQ5N2I0Li40NDYyZjNkYzI2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1RleHRJdGVyYXRvci5oCkBAIC0xODEsOCArMTgxLDYgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fbGFzdFRleHROb2RlRW5kZWRXaXRoQ29sbGFwc2VkU3BhY2UgeyBmYWxzZSB9OwogICAgIFVD
aGFyIG1fbGFzdENoYXJhY3RlciB7IDAgfTsKIAotICAgIExpbmVMYXlvdXRJbnRlcmZhY2U6OlBy
b3ZpZGVyIG1fbGluZUxheW91dFByb3ZpZGVyOwotCiAgICAgLy8gVXNlZCB3aGVuIGRlY2lkaW5n
IHdoZXRoZXIgdG8gZW1pdCBhICJwb3NpdGlvbmluZyIgKGUuZy4gbmV3bGluZSkgYmVmb3JlIGFu
eSBvdGhlciBjb250ZW50CiAgICAgYm9vbCBtX2hhc0VtaXR0ZWQgeyBmYWxzZSB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5kZXggNmU0Mjk0YWZiN2Eu
LmRhYjU4MTdkYzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oCkBAIC01NjcsNyArNTY3LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gRklYTUU6IE9ubHkg
b25lIG9mIHRoZXNlIHNob3VsZCBiZSBuZWVkZWQgYXQgYW55IGdpdmVuIHRpbWUuCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPENvbXBsZXhMaW5lTGF5b3V0PiBtX2NvbXBsZXhMaW5lTGF5b3V0OwotICAg
IHN0ZDo6dW5pcXVlX3B0cjxTaW1wbGVMaW5lTGF5b3V0OjpMYXlvdXQ+IG1fc2ltcGxlTGluZUxh
eW91dDsKKyAgICBSZWZQdHI8U2ltcGxlTGluZUxheW91dDo6TGF5b3V0PiBtX3NpbXBsZUxpbmVM
YXlvdXQ7CiAKICAgICBmcmllbmQgY2xhc3MgTGluZUJyZWFrZXI7CiAgICAgZnJpZW5kIGNsYXNz
IExpbmVXaWR0aDsgLy8gTmVlZHMgdG8ga25vdyBGbG9hdGluZ09iamVjdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDhkNGVkOTJmOTJmLi5l
NzVkZTBjMzI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcApAQCAtMjAyLDggKzIwMiw3IEBAIHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVS
ZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICAg
ICAgLy8gbWFueSB0ZXN0IHJlc3VsdHMuCiAgICAgICAgIGNvbnN0IFJlbmRlclRleHQmIHRleHQg
PSBkb3duY2FzdDxSZW5kZXJUZXh0PihvKTsKICAgICAgICAgciA9IEludFJlY3QodGV4dC5maXJz
dFJ1bkxvY2F0aW9uKCksIHRleHQubGluZXNCb3VuZGluZ0JveCgpLnNpemUoKSk7Ci0gICAgICAg
IExpbmVMYXlvdXRJbnRlcmZhY2U6OlByb3ZpZGVyIGxpbmVMYXlvdXRQcm92aWRlcjsKLSAgICAg
ICAgaWYgKCFsaW5lTGF5b3V0UHJvdmlkZXIuZmlyc3RUZXh0Qm94Rm9yKHRleHQpKQorICAgICAg
ICBpZiAoIUxpbmVMYXlvdXRJbnRlcmZhY2U6Omhhc1RleHRCb3hlcyh0ZXh0KSkKICAgICAgICAg
ICAgIGFkanVzdEZvclRhYmxlQ2VsbHMgPSBmYWxzZTsKICAgICB9IGVsc2UgaWYgKG8uaXNCUigp
KSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckxpbmVCcmVhayYgYnIgPSBkb3duY2FzdDxSZW5kZXJM
aW5lQnJlYWs+KG8pOwpAQCAtNTQ5LDkgKzU0OCw4IEBAIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYg
dHMsIGNvbnN0IFJlbmRlck9iamVjdCYgbywgT3B0aW9uU2V0PFJlbmRlckFzVGV4dEZsYWc+IGJl
CiAgICAgVGV4dFN0cmVhbTo6SW5kZW50U2NvcGUgaW5kZW50U2NvcGUodHMpOwogCiAgICAgaWYg
KGlzPFJlbmRlclRleHQ+KG8pKSB7Ci0gICAgICAgIExpbmVMYXlvdXRJbnRlcmZhY2U6OlByb3Zp
ZGVyIGxpbmVMYXlvdXRQcm92aWRlcjsKICAgICAgICAgYXV0byYgdGV4dCA9IGRvd25jYXN0PFJl
bmRlclRleHQ+KG8pOwotICAgICAgICBmb3IgKGF1dG8mIHRleHRCb3ggOiBsaW5lTGF5b3V0UHJv
dmlkZXIudGV4dEJveFJhbmdlRm9yKHRleHQpKSB7CisgICAgICAgIGZvciAoYXV0byYgdGV4dEJv
eCA6IExpbmVMYXlvdXRJbnRlcmZhY2U6OnRleHRCb3hSYW5nZUZvcih0ZXh0KSkgewogICAgICAg
ICAgICAgdHMgPDwgaW5kZW50OwogICAgICAgICAgICAgd3JpdGVUZXh0Qm94KHRzLCB0ZXh0LCB0
ZXh0Qm94KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXQuY3BwCmluZGV4IGMzNjJmNGU1N2IwLi41MzdjOTE3ZmFmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcApAQCAtOTcyLDcgKzk3Miw3
IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZVRleHRSdW5zKExheW91dDo6UnVuVmVjdG9yJiBydW5zLCBS
ZW5kZXJCbG9ja0Zsb3cmIGZsb3csIHVuc2lnCiAgICAgfSB3aGlsZSAoIWlzRW5kT2ZDb250ZW50
KTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPExheW91dD4gY3JlYXRlKFJlbmRlckJsb2NrRmxvdyYg
ZmxvdykKK1JlZjxMYXlvdXQ+IGNyZWF0ZShSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCiB7CiAgICAg
dW5zaWduZWQgbGluZUNvdW50ID0gMDsKICAgICBMYXlvdXQ6OlJ1blZlY3RvciBydW5zOwpAQCAt
OTgwLDEwICs5ODAsMTAgQEAgc3RkOjp1bmlxdWVfcHRyPExheW91dD4gY3JlYXRlKFJlbmRlckJs
b2NrRmxvdyYgZmxvdykKICAgICByZXR1cm4gTGF5b3V0OjpjcmVhdGUocnVucywgbGluZUNvdW50
LCBmbG93KTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPExheW91dD4gTGF5b3V0OjpjcmVhdGUoY29u
c3QgUnVuVmVjdG9yJiBydW5WZWN0b3IsIHVuc2lnbmVkIGxpbmVDb3VudCwgY29uc3QgUmVuZGVy
QmxvY2tGbG93JiBibG9ja0Zsb3cpCitSZWY8TGF5b3V0PiBMYXlvdXQ6OmNyZWF0ZShjb25zdCBS
dW5WZWN0b3ImIHJ1blZlY3RvciwgdW5zaWduZWQgbGluZUNvdW50LCBjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmIGJsb2NrRmxvdykKIHsKICAgICB2b2lkKiBzbG90ID0gV1RGOjpmYXN0TWFsbG9jKHNp
emVvZihMYXlvdXQpICsgc2l6ZW9mKFJ1bikgKiBydW5WZWN0b3Iuc2l6ZSgpKTsKLSAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPExheW91dD4obmV3IChOb3ROdWxsLCBzbG90KSBMYXlvdXQocnVu
VmVjdG9yLCBsaW5lQ291bnQsIGJsb2NrRmxvdykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IChOb3ROdWxsLCBzbG90KSBMYXlvdXQocnVuVmVjdG9yLCBsaW5lQ291bnQsIGJsb2NrRmxvdykp
OwogfQogCiBMYXlvdXQ6OkxheW91dChjb25zdCBSdW5WZWN0b3ImIHJ1blZlY3RvciwgdW5zaWdu
ZWQgbGluZUNvdW50LCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrRmxvdykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCmluZGV4IDZlMzY1NDk1MzY3Li40
YmViOThjZmI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTaW1wbGVMaW5lTGF5b3V0Q292ZXJh
Z2UuaCIKICNpbmNsdWRlICJUZXh0RmxhZ3MuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIApAQCAtNzUsMTIgKzc2LDEyIEBAIHN0cnVjdCBTaW1wbGVMaW5lU3RydXQgewogICAgIGZs
b2F0IG9mZnNldDsKIH07CiAKLWNsYXNzIExheW91dCB7CitjbGFzcyBMYXlvdXQgOiBwdWJsaWMg
UmVmQ291bnRlZDxMYXlvdXQ+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICB1c2luZyBSdW5WZWN0b3IgPSBWZWN0b3I8UnVuLCAxMD47CiAgICAgdXNpbmcgU2lt
cGxlTGluZVN0cnV0cyA9IFZlY3RvcjxTaW1wbGVMaW5lU3RydXQsIDQ+OwotICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBjcmVhdGUoY29uc3QgUnVuVmVjdG9yJiwgdW5zaWduZWQg
bGluZUNvdW50LCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmKTsKKyAgICBzdGF0aWMgUmVmPExheW91
dD4gY3JlYXRlKGNvbnN0IFJ1blZlY3RvciYsIHVuc2lnbmVkIGxpbmVDb3VudCwgY29uc3QgUmVu
ZGVyQmxvY2tGbG93Jik7CiAKICAgICB+TGF5b3V0KCk7CiAKQEAgLTEwOCw3ICsxMDksNyBAQCBw
cml2YXRlOgogICAgIFJ1biBtX3J1bnNbMF07CiB9OwogCi1zdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0
PiBjcmVhdGUoUmVuZGVyQmxvY2tGbG93Jik7CitSZWY8TGF5b3V0PiBjcmVhdGUoUmVuZGVyQmxv
Y2tGbG93Jik7CiAKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAppbmRleCAwNjI1YjE2YmQ1NC4uOWRmMDNjM2I4
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5jcHAKQEAgLTM5Miw3ICszOTIsNyBAQCBzdGF0aWMgdm9pZCBwcmludFBy
ZWZpeChUZXh0U3RyZWFtJiBzdHJlYW0sIGludCYgcHJpbnRlZENoYXJhY3RlcnMsIGludCBkZXB0
aCkKICAgICAgICAgc3RyZWFtIDw8ICIgIjsKIH0KIAotdm9pZCBvdXRwdXRMaW5lTGF5b3V0Rm9y
RmxvdyhUZXh0U3RyZWFtJiBzdHJlYW0sIGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29u
c3QgTGF5b3V0JiBsYXlvdXQsIGludCBkZXB0aCkKK3ZvaWQgb3V0cHV0TGluZUxheW91dEZvckZs
b3coVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmLCBjb25zdCBMYXlv
dXQmIGxheW91dCwgaW50IGRlcHRoKQogewogICAgIGludCBwcmludGVkQ2hhcmFjdGVycyA9IDA7
CiAgICAgcHJpbnRQcmVmaXgoc3RyZWFtLCBwcmludGVkQ2hhcmFjdGVycywgZGVwdGgpOwpAQCAt
NDAxLDcgKzQwMSw3IEBAIHZvaWQgb3V0cHV0TGluZUxheW91dEZvckZsb3coVGV4dFN0cmVhbSYg
c3RyZWFtLCBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvCiAgICAgc3RyZWFtLm5leHRM
aW5lKCk7CiAgICAgKytkZXB0aDsKIAotICAgIGZvciAoYXV0byBydW4gOiBydW5SZXNvbHZlcihm
bG93LCBsYXlvdXQpKSB7CisgICAgZm9yIChhdXRvIHJ1biA6IGxheW91dC5ydW5SZXNvbHZlcigp
KSB7CiAgICAgICAgIEZsb2F0UmVjdCByZWN0ID0gcnVuLnJlY3QoKTsKICAgICAgICAgcHJpbnRQ
cmVmaXgoc3RyZWFtLCBwcmludGVkQ2hhcmFjdGVycywgZGVwdGgpOwogICAgICAgICBpZiAocnVu
LnN0YXJ0KCkgPCBydW4uZW5kKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAKaW5kZXggZDIxZDk2MmRiODYuLjI4MjM0
NjNjYTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dFJlc29sdmVyLmNwcApAQCAtNjgsNyArNjgsNyBAQCBGbG9hdFJlY3QgUnVuUmVzb2x2
ZXI6OlJ1bjo6cmVjdCgpIGNvbnN0CiAgICAgRmxvYXRQb2ludCBwb3NpdGlvbiA9IGxpbmVQb3Np
dGlvbihydW4ubG9naWNhbExlZnQsIGJhc2VsaW5lIC0gcmVzb2x2ZXIubV9hc2NlbnQpOwogICAg
IEZsb2F0U2l6ZSBzaXplID0gbGluZVNpemUocnVuLmxvZ2ljYWxMZWZ0LCBydW4ubG9naWNhbFJp
Z2h0LCByZXNvbHZlci5tX2FzY2VudCArIHJlc29sdmVyLm1fZGVzY2VudCArIHJlc29sdmVyLm1f
dmlzdWFsT3ZlcmZsb3dPZmZzZXQpOwogICAgIGJvb2wgbW92ZUxpbmVCcmVha1RvQmFzZWxpbmUg
PSBmYWxzZTsKLSAgICBpZiAocnVuLnN0YXJ0ID09IHJ1bi5lbmQgJiYgbV9pdGVyYXRvciAhPSBy
ZXNvbHZlci5iZWdpbigpICYmIG1faXRlcmF0b3IuaW5RdWlya3NNb2RlKCkpIHsKKyAgICBpZiAo
cnVuLnN0YXJ0ID09IHJ1bi5lbmQgJiYgbV9pdGVyYXRvciAhPSByZXNvbHZlci5iZWdpbigpICYm
IHJlc29sdmVyLm1faW5RdWlya3NNb2RlKSB7CiAgICAgICAgIGF1dG8gcHJldmlvdXNSdW4gPSBt
X2l0ZXJhdG9yOwogICAgICAgICAtLXByZXZpb3VzUnVuOwogICAgICAgICBtb3ZlTGluZUJyZWFr
VG9CYXNlbGluZSA9ICFwcmV2aW91c1J1bi5zaW1wbGVSdW4oKS5pc0VuZE9mTGluZTsKQEAgLTEx
MywxMCArMTEzLDEyIEBAIHVuc2lnbmVkIFJ1blJlc29sdmVyOjpSdW46OmxvY2FsRW5kKCkgY29u
c3QKIH0KIAogUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjpJdGVyYXRvcihjb25zdCBSdW5SZXNvbHZl
ciYgcmVzb2x2ZXIsIHVuc2lnbmVkIHJ1bkluZGV4LCB1bnNpZ25lZCBsaW5lSW5kZXgpCi0gICAg
OiBtX3Jlc29sdmVyKCZyZXNvbHZlcikKKyAgICA6IG1fbGF5b3V0KCZyZXNvbHZlci5tX2xheW91
dCkKKyAgICAsIG1fcmVzb2x2ZXIoJnJlc29sdmVyKQogICAgICwgbV9ydW5JbmRleChydW5JbmRl
eCkKICAgICAsIG1fbGluZUluZGV4KGxpbmVJbmRleCkKIHsKKyAgICBBU1NFUlQoJnJlc29sdmVy
ID09ICZtX2xheW91dC0+cnVuUmVzb2x2ZXIoKSk7CiB9CiAKIFJ1blJlc29sdmVyOjpJdGVyYXRv
ciYgUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjphZHZhbmNlKCkKQEAgLTEyOSw4ICsxMzEsOCBAQCBS
dW5SZXNvbHZlcjo6SXRlcmF0b3ImIFJ1blJlc29sdmVyOjpJdGVyYXRvcjo6YWR2YW5jZSgpCiAK
IFJ1blJlc29sdmVyOjpJdGVyYXRvciYgUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjphZHZhbmNlTGlu
ZXModW5zaWduZWQgbGluZUNvdW50KQogewotICAgIHVuc2lnbmVkIHJ1bkNvdW50ID0gcmVzb2x2
ZXIoKS5tX2xheW91dC5ydW5Db3VudCgpOwotICAgIGlmIChydW5Db3VudCA9PSByZXNvbHZlcigp
Lm1fbGF5b3V0LmxpbmVDb3VudCgpKSB7CisgICAgdW5zaWduZWQgcnVuQ291bnQgPSBsYXlvdXQo
KS5ydW5Db3VudCgpOworICAgIGlmIChydW5Db3VudCA9PSBsYXlvdXQoKS5saW5lQ291bnQoKSkg
ewogICAgICAgICBtX3J1bkluZGV4ID0gc3RkOjptaW4ocnVuQ291bnQsIG1fcnVuSW5kZXggKyBs
aW5lQ291bnQpOwogICAgICAgICBtX2xpbmVJbmRleCA9IG1fcnVuSW5kZXg7CiAgICAgICAgIHJl
dHVybiAqdGhpczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVM
aW5lTGF5b3V0UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0UmVzb2x2ZXIuaAppbmRleCA2YWI3MDMxNzBhOS4uY2ExM2NiZTYxOWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgK
QEAgLTk1LDggKzk1LDkgQEAgcHVibGljOgogICAgICAgICBJdGVyYXRvciYgYWR2YW5jZSgpOwog
ICAgICAgICBJdGVyYXRvciYgYWR2YW5jZUxpbmVzKHVuc2lnbmVkKTsKICAgICAgICAgY29uc3Qg
UnVuUmVzb2x2ZXImIHJlc29sdmVyKCkgY29uc3QgeyByZXR1cm4gKm1fcmVzb2x2ZXI7IH0KLSAg
ICAgICAgYm9vbCBpblF1aXJrc01vZGUoKSBjb25zdCB7IHJldHVybiByZXNvbHZlcigpLm1faW5R
dWlya3NNb2RlOyB9CisgICAgICAgIGNvbnN0IExheW91dCYgbGF5b3V0KCkgY29uc3QgeyByZXR1
cm4gKm1fbGF5b3V0OyB9CiAKKyAgICAgICAgUmVmUHRyPGNvbnN0IExheW91dD4gbV9sYXlvdXQ7
CiAgICAgICAgIGNvbnN0IFJ1blJlc29sdmVyKiBtX3Jlc29sdmVyOwogICAgICAgICB1bnNpZ25l
ZCBtX3J1bkluZGV4OwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVJbmRleDsKQEAgLTIxOCw3ICsy
MTksNyBAQCBpbmxpbmUgZmxvYXQgUnVuUmVzb2x2ZXI6OlJ1bjo6Y29tcHV0ZUJhc2VsaW5lUG9z
aXRpb24oKSBjb25zdAogewogICAgIGF1dG8mIHJlc29sdmVyID0gbV9pdGVyYXRvci5yZXNvbHZl
cigpOwogICAgIGF1dG8gb2Zmc2V0ID0gcmVzb2x2ZXIubV9ib3JkZXJBbmRQYWRkaW5nQmVmb3Jl
ICsgcmVzb2x2ZXIubV9saW5lSGVpZ2h0ICogbGluZUluZGV4KCk7Ci0gICAgaWYgKCFyZXNvbHZl
ci5tX2xheW91dC5oYXNMaW5lU3RydXRzKCkpCisgICAgaWYgKCFtX2l0ZXJhdG9yLmxheW91dCgp
Lmhhc0xpbmVTdHJ1dHMoKSkKICAgICAgICAgcmV0dXJuIG9mZnNldCArIHJlc29sdmVyLm1fYmFz
ZWxpbmU7CiAgICAgZm9yIChhdXRvJiBzdHJ1dEVudHJ5IDogcmVzb2x2ZXIubV9sYXlvdXQuc3Ry
dXRzKCkpIHsKICAgICAgICAgaWYgKHN0cnV0RW50cnkubGluZUJyZWFrID4gbGluZUluZGV4KCkp
CkBAIC0yNTQsNyArMjU1LDcgQEAgaW5saW5lIFJ1blJlc29sdmVyOjpSdW4gUnVuUmVzb2x2ZXI6
Okl0ZXJhdG9yOjpvcGVyYXRvciooKSBjb25zdAogCiBpbmxpbmUgY29uc3QgU2ltcGxlTGluZUxh
eW91dDo6UnVuJiBSdW5SZXNvbHZlcjo6SXRlcmF0b3I6OnNpbXBsZVJ1bigpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIHJlc29sdmVyKCkubV9sYXlvdXQucnVuQXQobV9ydW5JbmRleCk7CisgICAgcmV0
dXJuIGxheW91dCgpLnJ1bkF0KG1fcnVuSW5kZXgpOwogfQogCiBpbmxpbmUgUnVuUmVzb2x2ZXI6
Okl0ZXJhdG9yIFJ1blJlc29sdmVyOjpiZWdpbigpIGNvbnN0CkBAIC0yOTksMTEgKzMwMCw2IEBA
IGlubGluZSBXVEY6Okl0ZXJhdG9yUmFuZ2U8TGluZVJlc29sdmVyOjpJdGVyYXRvcj4gTGluZVJl
c29sdmVyOjpyYW5nZUZvclJlY3QoY29uCiAgICAgcmV0dXJuIHsgSXRlcmF0b3IocnVuUmFuZ2Uu
YmVnaW4oKSksIEl0ZXJhdG9yKHJ1blJhbmdlLmVuZCgpKSB9OwogfQogCi1pbmxpbmUgUnVuUmVz
b2x2ZXIgcnVuUmVzb2x2ZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBMYXlv
dXQmIGxheW91dCkKLXsKLSAgICByZXR1cm4gUnVuUmVzb2x2ZXIoZmxvdywgbGF5b3V0KTsKLX0K
LQogaW5saW5lIExpbmVSZXNvbHZlciBsaW5lUmVzb2x2ZXIoY29uc3QgUnVuUmVzb2x2ZXImIHJ1
blJlc29sdmVyKQogewogICAgIHJldHVybiBMaW5lUmVzb2x2ZXIocnVuUmVzb2x2ZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxheW91dEludGVyZmFj
ZVRleHRCb3hlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9MaW5lTGF5b3V0
SW50ZXJmYWNlVGV4dEJveGVzLmNwcAppbmRleCAzOTk5NDVjYTFmZC4uN2U5ZTAxN2EzMDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVMYXlvdXRJbnRlcmZh
Y2VUZXh0Qm94ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0xpbmVM
YXlvdXRJbnRlcmZhY2VUZXh0Qm94ZXMuY3BwCkBAIC0yNzIsMjUgKzI3MiwxNyBAQCBib29sIFRl
eHRCb3hJdGVyYXRvcjo6YXRFbmQoKSBjb25zdAogICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKG1f
cGF0aFZhcmlhbnQsIHNpbXBsZSwgY29tcGxleCk7CiB9CiAKLVByb3ZpZGVyOjpQcm92aWRlcigp
ID0gZGVmYXVsdDsKLVByb3ZpZGVyOjp+UHJvdmlkZXIoKSA9IGRlZmF1bHQ7Ci0KLVRleHRCb3hJ
dGVyYXRvciBQcm92aWRlcjo6Zmlyc3RUZXh0Qm94SW5WaXN1YWxPcmRlckZvcihjb25zdCBSZW5k
ZXJUZXh0JiB0ZXh0KQorVGV4dEJveEl0ZXJhdG9yIGZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJG
b3IoY29uc3QgUmVuZGVyVGV4dCYgdGV4dCkKIHsKICAgICBpZiAoYXV0byogc2ltcGxlTGluZUxh
eW91dCA9IHRleHQuc2ltcGxlTGluZUxheW91dCgpKSB7Ci0gICAgICAgIGF1dG8mIHBhcmVudCA9
IGRvd25jYXN0PGNvbnN0IFJlbmRlckJsb2NrRmxvdz4oKnRleHQucGFyZW50KCkpOwotICAgICAg
ICBhdXRvJiByZXNvbHZlciA9IG1fc2ltcGxlTGluZUxheW91dFJlc29sdmVycy5lbnN1cmUoJnBh
cmVudCwgWyZdIHsKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPFNpbXBsZUxpbmVMYXlv
dXQ6OlJ1blJlc29sdmVyPihwYXJlbnQsICpzaW1wbGVMaW5lTGF5b3V0KTsKLSAgICAgICAgfSku
aXRlcmF0b3ItPnZhbHVlOwotCi0gICAgICAgIGF1dG8gcmFuZ2UgPSByZXNvbHZlci0+cmFuZ2VG
b3JSZW5kZXJlcih0ZXh0KTsKKyAgICAgICAgYXV0byByYW5nZSA9IHNpbXBsZUxpbmVMYXlvdXQt
PnJ1blJlc29sdmVyKCkucmFuZ2VGb3JSZW5kZXJlcih0ZXh0KTsKICAgICAgICAgcmV0dXJuIHsg
cmFuZ2UuYmVnaW4oKSwgcmFuZ2UuZW5kKCkgfTsKICAgICB9CiAKICAgICByZXR1cm4gVGV4dEJv
eEl0ZXJhdG9yIHsgdGV4dC5maXJzdFRleHRCb3goKSB9OwogfQogCi1UZXh0Qm94SXRlcmF0b3Ig
UHJvdmlkZXI6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKGNvbnN0IFJlbmRlclRleHQmIHRl
eHQpCitUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IoY29uc3QgUmVu
ZGVyVGV4dCYgdGV4dCkKIHsKICAgICBpZiAoIXRleHQuc2ltcGxlTGluZUxheW91dCgpICYmIHRl
eHQuY29udGFpbnNSZXZlcnNlZFRleHQoKSkgewogICAgICAgICBWZWN0b3I8Y29uc3QgSW5saW5l
VGV4dEJveCo+IHNvcnRlZFRleHRCb3hlczsKQEAgLTMwMyw3ICsyOTUsNyBAQCBUZXh0Qm94SXRl
cmF0b3IgUHJvdmlkZXI6OmZpcnN0VGV4dEJveEluVGV4dE9yZGVyRm9yKGNvbnN0IFJlbmRlclRl
eHQmIHRleHQpCiAgICAgcmV0dXJuIGZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3IodGV4dCk7
CiB9CiAKLVRleHRCb3hSYW5nZSBQcm92aWRlcjo6dGV4dEJveFJhbmdlRm9yKGNvbnN0IFJlbmRl
clRleHQmIHRleHQpCitUZXh0Qm94UmFuZ2UgdGV4dEJveFJhbmdlRm9yKGNvbnN0IFJlbmRlclRl
eHQmIHRleHQpCiB7CiAgICAgcmV0dXJuIHsgZmlyc3RUZXh0Qm94SW5WaXN1YWxPcmRlckZvcih0
ZXh0KSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGlu
ZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xp
bmUvTGluZUxheW91dEludGVyZmFjZVRleHRCb3hlcy5oCmluZGV4IGNlOGY2MWQzODM3Li42MzRj
NGNiYmY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvTGluZUxh
eW91dEludGVyZmFjZVRleHRCb3hlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9s
aW5lL0xpbmVMYXlvdXRJbnRlcmZhY2VUZXh0Qm94ZXMuaApAQCAtMzUsNyArMzUsNiBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmxpbmVUZXh0Qm94OwotY2xhc3MgUHJvdmlkZXI7
CiBjbGFzcyBSZW5kZXJUZXh0OwogCiBuYW1lc3BhY2UgTGluZUxheW91dEludGVyZmFjZSB7CkBA
IC0xMzEsMTkgKzEzMCwxMCBAQCBwcml2YXRlOgogICAgIFRleHRCb3hJdGVyYXRvciBtX2JlZ2lu
OwogfTsKIAotY2xhc3MgUHJvdmlkZXIgewotcHVibGljOgotICAgIFByb3ZpZGVyKCk7Ci0gICAg
flByb3ZpZGVyKCk7Ci0KLSAgICBUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94Rm9yKGNvbnN0
IFJlbmRlclRleHQmIHRleHQpIHsgcmV0dXJuIGZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3Io
dGV4dCk7IH0KLSAgICBUZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94SW5WaXN1YWxPcmRlckZv
cihjb25zdCBSZW5kZXJUZXh0Jik7Ci0gICAgVGV4dEJveEl0ZXJhdG9yIGZpcnN0VGV4dEJveElu
VGV4dE9yZGVyRm9yKGNvbnN0IFJlbmRlclRleHQmKTsKLSAgICBUZXh0Qm94UmFuZ2UgdGV4dEJv
eFJhbmdlRm9yKGNvbnN0IFJlbmRlclRleHQmKTsKLQotcHJpdmF0ZToKLSAgICBIYXNoTWFwPGNv
bnN0IFJlbmRlckJsb2NrRmxvdyosIHN0ZDo6dW5pcXVlX3B0cjxTaW1wbGVMaW5lTGF5b3V0OjpS
dW5SZXNvbHZlcj4+IG1fc2ltcGxlTGluZUxheW91dFJlc29sdmVyczsKLX07CitUZXh0Qm94SXRl
cmF0b3IgZmlyc3RUZXh0Qm94SW5WaXN1YWxPcmRlckZvcihjb25zdCBSZW5kZXJUZXh0Jik7CitU
ZXh0Qm94SXRlcmF0b3IgZmlyc3RUZXh0Qm94SW5UZXh0T3JkZXJGb3IoY29uc3QgUmVuZGVyVGV4
dCYpOworVGV4dEJveFJhbmdlIHRleHRCb3hSYW5nZUZvcihjb25zdCBSZW5kZXJUZXh0Jik7Citp
bmxpbmUgYm9vbCBoYXNUZXh0Qm94ZXMoY29uc3QgUmVuZGVyVGV4dCYgdGV4dCkgeyByZXR1cm4g
IWZpcnN0VGV4dEJveEluVmlzdWFsT3JkZXJGb3IodGV4dCkuYXRFbmQoKTsgfQogCiB9CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>