<?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>181018</bug_id>
          
          <creation_ts>2017-12-19 21:40:53 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move finding-the-parent/creating-wrapper logic from RenderTable::addChild to RenderTreeBuilder</short_desc>
          <delta_ts>2017-12-20 08:53:04 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</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>1383538</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-12-19 21:40:53 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383539</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-19 21:41:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/36148601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383540</commentid>
    <comment_count>2</comment_count>
      <attachid>329896</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-19 21:46:13 -0800</bug_when>
    <thetext>Created attachment 329896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383605</commentid>
    <comment_count>3</comment_count>
      <attachid>329896</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-12-20 06:16:25 -0800</bug_when>
    <thetext>Comment on attachment 329896
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:66
&gt; +        auto&amp; parentCandidate = m_tableBuilder-&gt;findOrCreateParentForChild(downcast&lt;RenderTableRow&gt;(parent), *child, beforeChild);

I added tableBuilder() helper, you can use that (probably also why this doesn&apos;t merge).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383626</commentid>
    <comment_count>4</comment_count>
      <attachid>329916</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-20 07:17:34 -0800</bug_when>
    <thetext>Created attachment 329916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383661</commentid>
    <comment_count>5</comment_count>
      <attachid>329916</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 08:53:03 -0800</bug_when>
    <thetext>Comment on attachment 329916
Patch

Clearing flags on attachment: 329916

Committed r226181: &lt;https://trac.webkit.org/changeset/226181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383662</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-20 08:53:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329896</attachid>
            <date>2017-12-19 21:46:13 -0800</date>
            <delta_ts>2017-12-20 07:17:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181018-20171219214613.patch</filename>
            <type>text/plain</type>
            <size>11843</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM3MGE0MDMwNGFjYjU5
NDdmNGIzY2YxMzYyYzdiMjVjMzI0MmZhNi4uMDg0MTE4Y2EwYTYzOTczMmRkMDM5MTVjMTAwYjYz
OWJjOTVjMGFiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIGZpbmRpbmctdGhlLXBhcmVudC9jcmVhdGluZy13cmFwcGVyIGxvZ2ljIGZyb20gUmVu
ZGVyVGFibGU6OmFkZENoaWxkIHRvIFJlbmRlclRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzM2MTQ4NjAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHJlbW92aW5nIGFsbCB0cmVlIG11
dGF0aW9uIGZyb20gcmVuZGVyZXJpbmcgY29kZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGU6OmFkZENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6
Omluc2VydENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6VGFi
bGU6OmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oOgorCiAyMDE3LTEyLTE5ICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVyXSBNb3Zl
IGZpbmRpbmctdGhlLXBhcmVudC9jcmVhdGluZy13cmFwcGVyIGxvZ2ljIGZyb20gUmVuZGVyVGFi
bGVTZWN0aW9uOjphZGRDaGlsZCB0byBSZW5kZXJUcmVlQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggZTBhZWM4YjVjNTVmODEzZDYzMTZkZmQzNDYz
OWNmMTMxNmQxOTM5YS4uZmM5ZGM5NDEwOThjNTJiNjA5ZDE3ZjBmMTE3ZDlhMjc5YjlhMjMzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC01NzIsNyArNTcy
LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihSZW5k
ZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGUKIAogICAgICAgICAgICAgaWYgKG5ld0NoaWxk
LT5pc1RhYmxlUGFydCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gSW5zZXJ0IGludG8gdGhlIGFu
b255bW91cyB0YWJsZS4KLSAgICAgICAgICAgICAgICBiZWZvcmVDaGlsZEFub255bW91c0NvbnRh
aW5lci0+YWRkQ2hpbGQoYnVpbGRlciwgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsK
KyAgICAgICAgICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCpiZWZvcmVDaGlsZEFub255bW91
c0NvbnRhaW5lciwgV1RGTW92ZShuZXdDaGlsZCksIGJlZm9yZUNoaWxkKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuY3BwCmluZGV4IGMyMWI5YWYzODA5NjZhMmRjZjlkNTljNmMxOTYwMzVjMDJhMmFk
NjcuLmVlYzY2YWEwMmJjMzc2NzdhODZlYzZmNGQzZTU1MDgyM2NmMzAyZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtMTM1LDEzICsxMzUsOCBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgcmVzZXRTZWN0aW9uUG9pbnRlcklmTm90QmVmb3JlKFdlYWtQdHI8UmVu
ZGVyVGFibGVTZWN0aW9uPiYgcwogCiB2b2lkIFJlbmRlclRhYmxlOjphZGRDaGlsZChSZW5kZXJU
cmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7Ci0gICAgYm9vbCB3cmFwSW5Bbm9ueW1vdXNTZWN0aW9u
ID0gIWNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKTsKLQotICAgIGlmIChpczxSZW5kZXJU
YWJsZUNhcHRpb24+KCpjaGlsZCkpCi0gICAgICAgIHdyYXBJbkFub255bW91c1NlY3Rpb24gPSBm
YWxzZTsKLSAgICBlbHNlIGlmIChpczxSZW5kZXJUYWJsZUNvbD4oKmNoaWxkKSkgeworICAgIGlm
IChpczxSZW5kZXJUYWJsZUNvbD4oKmNoaWxkKSkgewogICAgICAgICBtX2hhc0NvbEVsZW1lbnRz
ID0gdHJ1ZTsKLSAgICAgICAgd3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IGZhbHNlOwogICAgIH0g
ZWxzZSBpZiAoaXM8UmVuZGVyVGFibGVTZWN0aW9uPigqY2hpbGQpKSB7CiAgICAgICAgIHN3aXRj
aCAoY2hpbGQtPnN0eWxlKCkuZGlzcGxheSgpKSB7CiAgICAgICAgICAgICBjYXNlIFRBQkxFX0hF
QURFUl9HUk9VUDoKQEAgLTE1MywxMyArMTQ4LDExIEBAIHZvaWQgUmVuZGVyVGFibGU6OmFkZENo
aWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBj
CiAgICAgICAgICAgICAgICAgICAgIGlmICghbV9maXJzdEJvZHkpIAogICAgICAgICAgICAgICAg
ICAgICAgICAgbV9maXJzdEJvZHkgPSBtYWtlV2Vha1B0cihkb3duY2FzdDxSZW5kZXJUYWJsZVNl
Y3Rpb24+KGNoaWxkLmdldCgpKSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IHdyYXBJbkFub255bW91c1NlY3Rpb24gPSBmYWxzZTsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGNhc2UgVEFCTEVfRk9PVEVSX0dST1VQOgogICAgICAgICAgICAgICAgIHJl
c2V0U2VjdGlvblBvaW50ZXJJZk5vdEJlZm9yZShtX2Zvb3QsIGJlZm9yZUNoaWxkKTsKICAgICAg
ICAgICAgICAgICBpZiAoIW1fZm9vdCkgewogICAgICAgICAgICAgICAgICAgICBtX2Zvb3QgPSBt
YWtlV2Vha1B0cihkb3duY2FzdDxSZW5kZXJUYWJsZVNlY3Rpb24+KGNoaWxkLmdldCgpKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIHdyYXBJbkFub255bW91c1NlY3Rpb24gPSBmYWxzZTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IEZBTExUSFJPVUdIOwpAQCAtMTY3LDU4ICsxNjAsMTkgQEAgdm9pZCBSZW5kZXJUYWJsZTo6YWRk
Q2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+
IGMKICAgICAgICAgICAgICAgICByZXNldFNlY3Rpb25Qb2ludGVySWZOb3RCZWZvcmUobV9maXJz
dEJvZHksIGJlZm9yZUNoaWxkKTsKICAgICAgICAgICAgICAgICBpZiAoIW1fZmlyc3RCb2R5KQog
ICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0Qm9keSA9IG1ha2VXZWFrUHRyKGRvd25jYXN0PFJl
bmRlclRhYmxlU2VjdGlvbj4oY2hpbGQuZ2V0KCkpKTsKLSAgICAgICAgICAgICAgICB3cmFwSW5B
bm9ueW1vdXNTZWN0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICB9Ci0gICAgfSBlbHNlIGlmIChpczxSZW5kZXJUYWJsZUNlbGw+KCpjaGlsZCkgfHwgaXM8
UmVuZGVyVGFibGVSb3c+KCpjaGlsZCkpCi0gICAgICAgIHdyYXBJbkFub255bW91c1NlY3Rpb24g
PSB0cnVlOwotICAgIGVsc2UKLSAgICAgICAgd3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IHRydWU7
CisgICAgfQogCiAgICAgaWYgKGlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKmNoaWxkKSkKICAgICAg
ICAgc2V0TmVlZHNTZWN0aW9uUmVjYWxjKCk7CiAKLSAgICBpZiAoIXdyYXBJbkFub255bW91c1Nl
Y3Rpb24pIHsKLSAgICAgICAgaWYgKGJlZm9yZUNoaWxkICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQo
KSAhPSB0aGlzKQotICAgICAgICAgICAgYmVmb3JlQ2hpbGQgPSBzcGxpdEFub255bW91c0JveGVz
QXJvdW5kQ2hpbGQoYmVmb3JlQ2hpbGQpOwotCi0gICAgICAgIFJlbmRlckJveDo6YWRkQ2hpbGQo
YnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmICghYmVmb3JlQ2hpbGQgJiYgaXM8UmVuZGVyVGFibGVTZWN0aW9uPihs
YXN0Q2hpbGQoKSkgJiYgbGFzdENoaWxkKCktPmlzQW5vbnltb3VzKCkgJiYgIWxhc3RDaGlsZCgp
LT5pc0JlZm9yZUNvbnRlbnQoKSkgewotICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKGRvd25j
YXN0PFJlbmRlclRhYmxlU2VjdGlvbj4oKmxhc3RDaGlsZCgpKSwgV1RGTW92ZShjaGlsZCkpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGJlZm9yZUNoaWxkICYmICFiZWZvcmVD
aGlsZC0+aXNBbm9ueW1vdXMoKSAmJiBiZWZvcmVDaGlsZC0+cGFyZW50KCkgPT0gdGhpcykgewot
ICAgICAgICBSZW5kZXJPYmplY3QqIHNlY3Rpb24gPSBiZWZvcmVDaGlsZC0+cHJldmlvdXNTaWJs
aW5nKCk7Ci0gICAgICAgIGlmIChpczxSZW5kZXJUYWJsZVNlY3Rpb24+KHNlY3Rpb24pICYmIHNl
Y3Rpb24tPmlzQW5vbnltb3VzKCkpIHsKLSAgICAgICAgICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGQo
ZG93bmNhc3Q8UmVuZGVyVGFibGVTZWN0aW9uPigqc2VjdGlvbiksIFdURk1vdmUoY2hpbGQpKTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLQotICAgIFJlbmRlck9iamVj
dCogbGFzdEJveCA9IGJlZm9yZUNoaWxkOwotICAgIHdoaWxlIChsYXN0Qm94ICYmIGxhc3RCb3gt
PnBhcmVudCgpLT5pc0Fub255bW91cygpICYmICFpczxSZW5kZXJUYWJsZVNlY3Rpb24+KCpsYXN0
Qm94KSAmJiBsYXN0Qm94LT5zdHlsZSgpLmRpc3BsYXkoKSAhPSBUQUJMRV9DQVBUSU9OICYmIGxh
c3RCb3gtPnN0eWxlKCkuZGlzcGxheSgpICE9IFRBQkxFX0NPTFVNTl9HUk9VUCkKLSAgICAgICAg
bGFzdEJveCA9IGxhc3RCb3gtPnBhcmVudCgpOwotICAgIGlmIChsYXN0Qm94ICYmIGxhc3RCb3gt
PmlzQW5vbnltb3VzKCkgJiYgIWlzQWZ0ZXJDb250ZW50KGxhc3RCb3gpICYmIGxhc3RCb3gtPmlz
VGFibGVTZWN0aW9uKCkpIHsKLSAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uJiBzZWN0aW9uID0g
ZG93bmNhc3Q8UmVuZGVyVGFibGVTZWN0aW9uPigqbGFzdEJveCk7Ci0gICAgICAgIGlmIChiZWZv
cmVDaGlsZCA9PSAmc2VjdGlvbikKLSAgICAgICAgICAgIGJlZm9yZUNoaWxkID0gc2VjdGlvbi5m
aXJzdFJvdygpOwotICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKHNlY3Rpb24sIFdURk1vdmUo
Y2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
YmVmb3JlQ2hpbGQgJiYgIWlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKmJlZm9yZUNoaWxkKSAmJiBi
ZWZvcmVDaGlsZC0+c3R5bGUoKS5kaXNwbGF5KCkgIT0gVEFCTEVfQ0FQVElPTiAmJiBiZWZvcmVD
aGlsZC0+c3R5bGUoKS5kaXNwbGF5KCkgIT0gVEFCTEVfQ09MVU1OX0dST1VQKQotICAgICAgICBi
ZWZvcmVDaGlsZCA9IG51bGxwdHI7CisgICAgaWYgKGJlZm9yZUNoaWxkICYmIGJlZm9yZUNoaWxk
LT5wYXJlbnQoKSAhPSB0aGlzKQorICAgICAgICBiZWZvcmVDaGlsZCA9IHNwbGl0QW5vbnltb3Vz
Qm94ZXNBcm91bmRDaGlsZChiZWZvcmVDaGlsZCk7CiAKLSAgICBhdXRvIG5ld1NlY3Rpb24gPSBS
ZW5kZXJUYWJsZVNlY3Rpb246OmNyZWF0ZUFub255bW91c1dpdGhQYXJlbnRSZW5kZXJlcigqdGhp
cyk7Ci0gICAgYXV0byYgc2VjdGlvbiA9ICpuZXdTZWN0aW9uOwotICAgIGJ1aWxkZXIuaW5zZXJ0
Q2hpbGQoKnRoaXMsIFdURk1vdmUobmV3U2VjdGlvbiksIGJlZm9yZUNoaWxkKTsKLSAgICBidWls
ZGVyLmluc2VydENoaWxkKHNlY3Rpb24sIFdURk1vdmUoY2hpbGQpKTsKKyAgICBSZW5kZXJCb3g6
OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKIHZv
aWQgUmVuZGVyVGFibGU6OmFkZENhcHRpb24oUmVuZGVyVGFibGVDYXB0aW9uJiBjYXB0aW9uKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlci5jcHAKaW5kZXggZTE4NDJkODE0MmUwNmFjYjMyOGQ2NGNhODY2MjhmYjQyNzg4NTZh
My4uNDAzMDg0ZWQ1NGRlOGM5MjY3ZDUwMjRjNzEzNTlmY2VmN2Q3ZWUxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIu
Y3BwCkBAIC02Myw3ICs2MywxMiBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGls
ZChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplYwogICAgIH0KIAog
ICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4ocGFyZW50KSkgewotICAgICAgICBtX3RhYmxlQnVp
bGRlci0+ZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQoZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+
KHBhcmVudCksICpjaGlsZCwgYmVmb3JlQ2hpbGQpLmFkZENoaWxkKCp0aGlzLCBXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOworICAgICAgICBhdXRvJiBwYXJlbnRDYW5kaWRhdGUgPSBtX3Rh
YmxlQnVpbGRlci0+ZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQoZG93bmNhc3Q8UmVuZGVyVGFi
bGVSb3c+KHBhcmVudCksICpjaGlsZCwgYmVmb3JlQ2hpbGQpOworICAgICAgICBpZiAoJnBhcmVu
dCAhPSAmcGFyZW50Q2FuZGlkYXRlKSB7CisgICAgICAgICAgICBpbnNlcnRDaGlsZChwYXJlbnRD
YW5kaWRhdGUsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgcGFyZW50LmFkZENoaWxkKCp0aGlzLCBXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03Nyw2ICs4
MiwxNiBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZChSZW5kZXJFbGVtZW50
JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplYwogICAgICAgICByZXR1cm47CiAgICAgfQog
CisgICAgaWYgKGlzPFJlbmRlclRhYmxlPihwYXJlbnQpKSB7CisgICAgICAgIGF1dG8mIHBhcmVu
dENhbmRpZGF0ZSA9IG1fdGFibGVCdWlsZGVyLT5maW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChk
b3duY2FzdDxSZW5kZXJUYWJsZT4ocGFyZW50KSwgKmNoaWxkLCBiZWZvcmVDaGlsZCk7CisgICAg
ICAgIGlmICgmcGFyZW50ICE9ICZwYXJlbnRDYW5kaWRhdGUpIHsKKyAgICAgICAgICAgIGluc2Vy
dENoaWxkKHBhcmVudENhbmRpZGF0ZSwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBwYXJlbnQuYWRkQ2hpbGQoKnRo
aXMsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBpZiAoaXM8UmVuZGVyUnVieVJ1bj4ocGFyZW50KSkgewogICAgICAgICBydWJ5UnVu
SW5zZXJ0Q2hpbGQoZG93bmNhc3Q8UmVuZGVyUnVieVJ1bj4ocGFyZW50KSwgV1RGTW92ZShjaGls
ZCksIGJlZm9yZUNoaWxkKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3Bw
CmluZGV4IDYwYThkYjQwYjU1ZmNkNWViMmJiYzM2NDAzNzc4M2MyMmE3Mzg0OWYuLmQ4YTcwODVi
MGQ5NTRjNmUxMTY5Y2Y5MWYxMzI5OTVkNjU2YzRmYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclRhYmxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5j
cHAKQEAgLTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5k
ZXJUcmVlQnVpbGRlclRhYmxlLmgiCiAKKyNpbmNsdWRlICJSZW5kZXJUYWJsZUNhcHRpb24uaCIK
ICNpbmNsdWRlICJSZW5kZXJUYWJsZUNlbGwuaCIKKyNpbmNsdWRlICJSZW5kZXJUYWJsZUNvbC5o
IgogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxk
ZXIuaCIKIApAQCAtMTE3LDQgKzExOSw0NiBAQCBSZW5kZXJFbGVtZW50JiBSZW5kZXJUcmVlQnVp
bGRlcjo6VGFibGU6OmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKFJlbmRlclRhYmxlUwogICAg
IHJldHVybiByb3c7CiB9CiAKK1JlbmRlckVsZW1lbnQmIFJlbmRlclRyZWVCdWlsZGVyOjpUYWJs
ZTo6ZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQoUmVuZGVyVGFibGUmIHBhcmVudCwgY29uc3Qg
UmVuZGVyT2JqZWN0JiBjaGlsZCwgUmVuZGVyT2JqZWN0KiYgYmVmb3JlQ2hpbGQpCit7CisgICAg
aWYgKGlzPFJlbmRlclRhYmxlQ2FwdGlvbj4oY2hpbGQpIHx8IGlzPFJlbmRlclRhYmxlQ29sPihj
aGlsZCkgfHwgaXM8UmVuZGVyVGFibGVTZWN0aW9uPihjaGlsZCkpCisgICAgICAgIHJldHVybiBw
YXJlbnQ7CisKKyAgICBhdXRvKiBsYXN0Q2hpbGQgPSBwYXJlbnQubGFzdENoaWxkKCk7CisgICAg
aWYgKCFiZWZvcmVDaGlsZCAmJiBpczxSZW5kZXJUYWJsZVNlY3Rpb24+KGxhc3RDaGlsZCkgJiYg
bGFzdENoaWxkLT5pc0Fub255bW91cygpICYmICFsYXN0Q2hpbGQtPmlzQmVmb3JlQ29udGVudCgp
KQorICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmxhc3RDaGlsZCk7CisK
KyAgICBpZiAoYmVmb3JlQ2hpbGQgJiYgIWJlZm9yZUNoaWxkLT5pc0Fub255bW91cygpICYmIGJl
Zm9yZUNoaWxkLT5wYXJlbnQoKSA9PSAmcGFyZW50KSB7CisgICAgICAgIGF1dG8qIHNlY3Rpb24g
PSBiZWZvcmVDaGlsZC0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgICAgIGlmIChpczxSZW5kZXJU
YWJsZVNlY3Rpb24+KHNlY3Rpb24pICYmIHNlY3Rpb24tPmlzQW5vbnltb3VzKCkpIHsKKyAgICAg
ICAgICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxSZW5kZXJFbGVtZW50Pigqc2VjdGlvbik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBhdXRv
KiBwYXJlbnRDYW5kaWRhdGUgPSBiZWZvcmVDaGlsZDsKKyAgICB3aGlsZSAocGFyZW50Q2FuZGlk
YXRlICYmIHBhcmVudENhbmRpZGF0ZS0+cGFyZW50KCktPmlzQW5vbnltb3VzKCkKKyAgICAgICAg
JiYgIWlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKnBhcmVudENhbmRpZGF0ZSkKKyAgICAgICAgJiYg
cGFyZW50Q2FuZGlkYXRlLT5zdHlsZSgpLmRpc3BsYXkoKSAhPSBUQUJMRV9DQVBUSU9OCisgICAg
ICAgICYmIHBhcmVudENhbmRpZGF0ZS0+c3R5bGUoKS5kaXNwbGF5KCkgIT0gVEFCTEVfQ09MVU1O
X0dST1VQKQorICAgICAgICBwYXJlbnRDYW5kaWRhdGUgPSBwYXJlbnRDYW5kaWRhdGUtPnBhcmVu
dCgpOworCisgICAgaWYgKHBhcmVudENhbmRpZGF0ZSAmJiBpczxSZW5kZXJUYWJsZVNlY3Rpb24+
KCpwYXJlbnRDYW5kaWRhdGUpICYmIHBhcmVudENhbmRpZGF0ZS0+aXNBbm9ueW1vdXMoKSAmJiAh
cGFyZW50LmlzQWZ0ZXJDb250ZW50KHBhcmVudENhbmRpZGF0ZSkpIHsKKyAgICAgICAgaWYgKGJl
Zm9yZUNoaWxkID09IHBhcmVudENhbmRpZGF0ZSkKKyAgICAgICAgICAgIGJlZm9yZUNoaWxkID0g
ZG93bmNhc3Q8UmVuZGVyVGFibGVTZWN0aW9uPigqcGFyZW50Q2FuZGlkYXRlKS5maXJzdFJvdygp
OworICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKnBhcmVudENhbmRpZGF0
ZSk7CisgICAgfQorCisgICAgaWYgKGJlZm9yZUNoaWxkICYmICFpczxSZW5kZXJUYWJsZVNlY3Rp
b24+KCpiZWZvcmVDaGlsZCkKKyAgICAgICAgJiYgYmVmb3JlQ2hpbGQtPnN0eWxlKCkuZGlzcGxh
eSgpICE9IFRBQkxFX0NBUFRJT04KKyAgICAgICAgJiYgYmVmb3JlQ2hpbGQtPnN0eWxlKCkuZGlz
cGxheSgpICE9IFRBQkxFX0NPTFVNTl9HUk9VUCkKKyAgICAgICAgYmVmb3JlQ2hpbGQgPSBudWxs
cHRyOworCisgICAgYXV0byBuZXdTZWN0aW9uID0gUmVuZGVyVGFibGVTZWN0aW9uOjpjcmVhdGVB
bm9ueW1vdXNXaXRoUGFyZW50UmVuZGVyZXIocGFyZW50KTsKKyAgICBhdXRvJiBzZWN0aW9uID0g
Km5ld1NlY3Rpb247CisgICAgbV9idWlsZGVyLmluc2VydENoaWxkKHBhcmVudCwgV1RGTW92ZShu
ZXdTZWN0aW9uKSwgYmVmb3JlQ2hpbGQpOworICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKKyAg
ICByZXR1cm4gc2VjdGlvbjsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclRhYmxlLmgKaW5kZXggZDdjNTA1
Yzg3NGY2YTg2YzY0Njg4ODY1MDIwM2ExYjdiZmM5NTFiNC4uNTdiZWVkNmM4ZWFkNDYyODZiMDU4
OGIxZmZjM2MzNWUxZGU4YWFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyVGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oCkBAIC00MCw2ICs0MCw3
IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlckVsZW1lbnQmIGZpbmRPckNyZWF0ZVBhcmVudEZvckNo
aWxkKFJlbmRlclRhYmxlUm93JiBwYXJlbnQsIGNvbnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIFJl
bmRlck9iamVjdComIGJlZm9yZUNoaWxkKTsKICAgICBSZW5kZXJFbGVtZW50JiBmaW5kT3JDcmVh
dGVQYXJlbnRGb3JDaGlsZChSZW5kZXJUYWJsZVNlY3Rpb24mIHBhcmVudCwgY29uc3QgUmVuZGVy
T2JqZWN0JiBjaGlsZCwgUmVuZGVyT2JqZWN0KiYgYmVmb3JlQ2hpbGQpOworICAgIFJlbmRlckVs
ZW1lbnQmIGZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKFJlbmRlclRhYmxlJiBwYXJlbnQsIGNv
bnN0IFJlbmRlck9iamVjdCYgY2hpbGQsIFJlbmRlck9iamVjdComIGJlZm9yZUNoaWxkKTsKIAog
cHJpdmF0ZToKICAgICBSZW5kZXJUcmVlQnVpbGRlciYgbV9idWlsZGVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329916</attachid>
            <date>2017-12-20 07:17:34 -0800</date>
            <delta_ts>2017-12-20 08:53:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181018-20171220071734.patch</filename>
            <type>text/plain</type>
            <size>11821</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBiMWI1MjZmZTUxYmYw
OWFkMjAyZTk4MTFmNjBmZTk5ODNhMjY0ZS4uOTBiOTBlZjJkMzJmYjhmODg0ODJmZTM5Y2MzMGVk
NmVhZDI0YzIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEyLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIGZpbmRpbmctdGhlLXBhcmVudC9jcmVhdGluZy13cmFwcGVyIGxvZ2ljIGZyb20gUmVu
ZGVyVGFibGU6OmFkZENoaWxkIHRvIFJlbmRlclRyZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzM2MTQ4NjAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgor
CisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHJlbW92aW5nIGFsbCB0cmVlIG11
dGF0aW9uIGZyb20gcmVuZGVyZXJpbmcgY29kZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGFibGU6OmFkZENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6
Omluc2VydENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6VGFi
bGU6OmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oOgorCiAyMDE3LTEyLTIwICBNczJnZXIgIDxN
czJnZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMjYxNjApIEJ1aWxkIGJy
b2tlbiB3aGVuIE1FRElBX1NUUkVBTSBpcyBkaXNhYmxlZCB3aXRoIE1lZGlhU3RyZWFtUmVxdWVz
dCBuYW1lc3BhY2UgY29uZnVzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAppbmRleCBlMGFlYzhiNWM1NWY4MTNkNjMxNmRmZDM0NjM5Y2YxMzE2ZDE5MzlhLi5mYzlk
Yzk0MTA5OGM1MmI2MDlkMTdmMGYxMTdkOWEyNzliOWEyMzM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTU3Miw3ICs1NzIsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjphZGRDaGlsZElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlclRyZWVCdWlsZGVyJiBidWls
ZGVyLCBSZW5kZQogCiAgICAgICAgICAgICBpZiAobmV3Q2hpbGQtPmlzVGFibGVQYXJ0KCkpIHsK
ICAgICAgICAgICAgICAgICAvLyBJbnNlcnQgaW50byB0aGUgYW5vbnltb3VzIHRhYmxlLgotICAg
ICAgICAgICAgICAgIGJlZm9yZUNoaWxkQW5vbnltb3VzQ29udGFpbmVyLT5hZGRDaGlsZChidWls
ZGVyLCBXVEZNb3ZlKG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgICAgICAgICAgICAgIGJ1
aWxkZXIuaW5zZXJ0Q2hpbGQoKmJlZm9yZUNoaWxkQW5vbnltb3VzQ29udGFpbmVyLCBXVEZNb3Zl
KG5ld0NoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXgg
YzIxYjlhZjM4MDk2NmEyZGNmOWQ1OWM2YzE5NjAzNWMwMmEyYWQ2Ny4uZWVjNjZhYTAyYmMzNzY3
N2E4NmVjNmY0ZDNlNTUwODIzY2YzMDJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuY3BwCkBAIC0xMzUsMTMgKzEzNSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByZXNl
dFNlY3Rpb25Qb2ludGVySWZOb3RCZWZvcmUoV2Vha1B0cjxSZW5kZXJUYWJsZVNlY3Rpb24+JiBz
CiAKIHZvaWQgUmVuZGVyVGFibGU6OmFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVy
LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCkKIHsKLSAgICBib29sIHdyYXBJbkFub255bW91c1NlY3Rpb24gPSAhY2hpbGQtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpOwotCi0gICAgaWYgKGlzPFJlbmRlclRhYmxlQ2FwdGlvbj4oKmNoaWxk
KSkKLSAgICAgICAgd3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IGZhbHNlOwotICAgIGVsc2UgaWYg
KGlzPFJlbmRlclRhYmxlQ29sPigqY2hpbGQpKSB7CisgICAgaWYgKGlzPFJlbmRlclRhYmxlQ29s
PigqY2hpbGQpKSB7CiAgICAgICAgIG1faGFzQ29sRWxlbWVudHMgPSB0cnVlOwotICAgICAgICB3
cmFwSW5Bbm9ueW1vdXNTZWN0aW9uID0gZmFsc2U7CiAgICAgfSBlbHNlIGlmIChpczxSZW5kZXJU
YWJsZVNlY3Rpb24+KCpjaGlsZCkpIHsKICAgICAgICAgc3dpdGNoIChjaGlsZC0+c3R5bGUoKS5k
aXNwbGF5KCkpIHsKICAgICAgICAgICAgIGNhc2UgVEFCTEVfSEVBREVSX0dST1VQOgpAQCAtMTUz
LDEzICsxNDgsMTEgQEAgdm9pZCBSZW5kZXJUYWJsZTo6YWRkQ2hpbGQoUmVuZGVyVHJlZUJ1aWxk
ZXImIGJ1aWxkZXIsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGMKICAgICAgICAgICAgICAgICAg
ICAgaWYgKCFtX2ZpcnN0Qm9keSkgCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2ZpcnN0Qm9k
eSA9IG1ha2VXZWFrUHRyKGRvd25jYXN0PFJlbmRlclRhYmxlU2VjdGlvbj4oY2hpbGQuZ2V0KCkp
KTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgd3JhcEluQW5vbnltb3VzU2Vj
dGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBU
QUJMRV9GT09URVJfR1JPVVA6CiAgICAgICAgICAgICAgICAgcmVzZXRTZWN0aW9uUG9pbnRlcklm
Tm90QmVmb3JlKG1fZm9vdCwgYmVmb3JlQ2hpbGQpOwogICAgICAgICAgICAgICAgIGlmICghbV9m
b290KSB7CiAgICAgICAgICAgICAgICAgICAgIG1fZm9vdCA9IG1ha2VXZWFrUHRyKGRvd25jYXN0
PFJlbmRlclRhYmxlU2VjdGlvbj4oY2hpbGQuZ2V0KCkpKTsKLSAgICAgICAgICAgICAgICAgICAg
d3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgRkFMTFRIUk9VR0g7CkBAIC0x
NjcsNTggKzE2MCwxOSBAQCB2b2lkIFJlbmRlclRhYmxlOjphZGRDaGlsZChSZW5kZXJUcmVlQnVp
bGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gYwogICAgICAgICAgICAgICAg
IHJlc2V0U2VjdGlvblBvaW50ZXJJZk5vdEJlZm9yZShtX2ZpcnN0Qm9keSwgYmVmb3JlQ2hpbGQp
OwogICAgICAgICAgICAgICAgIGlmICghbV9maXJzdEJvZHkpCiAgICAgICAgICAgICAgICAgICAg
IG1fZmlyc3RCb2R5ID0gbWFrZVdlYWtQdHIoZG93bmNhc3Q8UmVuZGVyVGFibGVTZWN0aW9uPihj
aGlsZC5nZXQoKSkpOwotICAgICAgICAgICAgICAgIHdyYXBJbkFub255bW91c1NlY3Rpb24gPSBm
YWxzZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KLSAgICB9IGVsc2Ug
aWYgKGlzPFJlbmRlclRhYmxlQ2VsbD4oKmNoaWxkKSB8fCBpczxSZW5kZXJUYWJsZVJvdz4oKmNo
aWxkKSkKLSAgICAgICAgd3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IHRydWU7Ci0gICAgZWxzZQot
ICAgICAgICB3cmFwSW5Bbm9ueW1vdXNTZWN0aW9uID0gdHJ1ZTsKKyAgICB9CiAKICAgICBpZiAo
aXM8UmVuZGVyVGFibGVTZWN0aW9uPigqY2hpbGQpKQogICAgICAgICBzZXROZWVkc1NlY3Rpb25S
ZWNhbGMoKTsKIAotICAgIGlmICghd3JhcEluQW5vbnltb3VzU2VjdGlvbikgewotICAgICAgICBp
ZiAoYmVmb3JlQ2hpbGQgJiYgYmVmb3JlQ2hpbGQtPnBhcmVudCgpICE9IHRoaXMpCi0gICAgICAg
ICAgICBiZWZvcmVDaGlsZCA9IHNwbGl0QW5vbnltb3VzQm94ZXNBcm91bmRDaGlsZChiZWZvcmVD
aGlsZCk7Ci0KLSAgICAgICAgUmVuZGVyQm94OjphZGRDaGlsZChidWlsZGVyLCBXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFi
ZWZvcmVDaGlsZCAmJiBpczxSZW5kZXJUYWJsZVNlY3Rpb24+KGxhc3RDaGlsZCgpKSAmJiBsYXN0
Q2hpbGQoKS0+aXNBbm9ueW1vdXMoKSAmJiAhbGFzdENoaWxkKCktPmlzQmVmb3JlQ29udGVudCgp
KSB7Ci0gICAgICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGQoZG93bmNhc3Q8UmVuZGVyVGFibGVTZWN0
aW9uPigqbGFzdENoaWxkKCkpLCBXVEZNb3ZlKGNoaWxkKSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoYmVmb3JlQ2hpbGQgJiYgIWJlZm9yZUNoaWxkLT5pc0Fub255bW91cygp
ICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSA9PSB0aGlzKSB7Ci0gICAgICAgIFJlbmRlck9iamVj
dCogc2VjdGlvbiA9IGJlZm9yZUNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgaWYg
KGlzPFJlbmRlclRhYmxlU2VjdGlvbj4oc2VjdGlvbikgJiYgc2VjdGlvbi0+aXNBbm9ueW1vdXMo
KSkgewotICAgICAgICAgICAgYnVpbGRlci5pbnNlcnRDaGlsZChkb3duY2FzdDxSZW5kZXJUYWJs
ZVNlY3Rpb24+KCpzZWN0aW9uKSwgV1RGTW92ZShjaGlsZCkpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0gICAgfQotCi0gICAgUmVuZGVyT2JqZWN0KiBsYXN0Qm94ID0gYmVmb3Jl
Q2hpbGQ7Ci0gICAgd2hpbGUgKGxhc3RCb3ggJiYgbGFzdEJveC0+cGFyZW50KCktPmlzQW5vbnlt
b3VzKCkgJiYgIWlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKmxhc3RCb3gpICYmIGxhc3RCb3gtPnN0
eWxlKCkuZGlzcGxheSgpICE9IFRBQkxFX0NBUFRJT04gJiYgbGFzdEJveC0+c3R5bGUoKS5kaXNw
bGF5KCkgIT0gVEFCTEVfQ09MVU1OX0dST1VQKQotICAgICAgICBsYXN0Qm94ID0gbGFzdEJveC0+
cGFyZW50KCk7Ci0gICAgaWYgKGxhc3RCb3ggJiYgbGFzdEJveC0+aXNBbm9ueW1vdXMoKSAmJiAh
aXNBZnRlckNvbnRlbnQobGFzdEJveCkgJiYgbGFzdEJveC0+aXNUYWJsZVNlY3Rpb24oKSkgewot
ICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24mIHNlY3Rpb24gPSBkb3duY2FzdDxSZW5kZXJUYWJs
ZVNlY3Rpb24+KCpsYXN0Qm94KTsKLSAgICAgICAgaWYgKGJlZm9yZUNoaWxkID09ICZzZWN0aW9u
KQotICAgICAgICAgICAgYmVmb3JlQ2hpbGQgPSBzZWN0aW9uLmZpcnN0Um93KCk7Ci0gICAgICAg
IGJ1aWxkZXIuaW5zZXJ0Q2hpbGQoc2VjdGlvbiwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxk
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChiZWZvcmVDaGlsZCAmJiAhaXM8
UmVuZGVyVGFibGVTZWN0aW9uPigqYmVmb3JlQ2hpbGQpICYmIGJlZm9yZUNoaWxkLT5zdHlsZSgp
LmRpc3BsYXkoKSAhPSBUQUJMRV9DQVBUSU9OICYmIGJlZm9yZUNoaWxkLT5zdHlsZSgpLmRpc3Bs
YXkoKSAhPSBUQUJMRV9DT0xVTU5fR1JPVVApCi0gICAgICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0
cjsKKyAgICBpZiAoYmVmb3JlQ2hpbGQgJiYgYmVmb3JlQ2hpbGQtPnBhcmVudCgpICE9IHRoaXMp
CisgICAgICAgIGJlZm9yZUNoaWxkID0gc3BsaXRBbm9ueW1vdXNCb3hlc0Fyb3VuZENoaWxkKGJl
Zm9yZUNoaWxkKTsKIAotICAgIGF1dG8gbmV3U2VjdGlvbiA9IFJlbmRlclRhYmxlU2VjdGlvbjo6
Y3JlYXRlQW5vbnltb3VzV2l0aFBhcmVudFJlbmRlcmVyKCp0aGlzKTsKLSAgICBhdXRvJiBzZWN0
aW9uID0gKm5ld1NlY3Rpb247Ci0gICAgYnVpbGRlci5pbnNlcnRDaGlsZCgqdGhpcywgV1RGTW92
ZShuZXdTZWN0aW9uKSwgYmVmb3JlQ2hpbGQpOwotICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGQoc2Vj
dGlvbiwgV1RGTW92ZShjaGlsZCkpOworICAgIFJlbmRlckJveDo6YWRkQ2hpbGQoYnVpbGRlciwg
V1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKIH0KIAogdm9pZCBSZW5kZXJUYWJsZTo6YWRk
Q2FwdGlvbihSZW5kZXJUYWJsZUNhcHRpb24mIGNhcHRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAppbmRleCAy
M2MxZWEzODliODVhOWE2ODFjMWM3MGM5ZjgzOWQxYzYyYWJmNTAyLi40MDRhNTg2Y2YxNjJhZTgz
YTg5YzI5ZmRlOWY3MzM3NzNhODUxMzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKQEAgLTY0LDcgKzY0LDEy
IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKFJlbmRlckVsZW1lbnQmIHBh
cmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjCiAgICAgfQogCiAgICAgaWYgKGlzPFJlbmRlclRh
YmxlUm93PihwYXJlbnQpKSB7Ci0gICAgICAgIHRhYmxlQnVpbGRlcigpLmZpbmRPckNyZWF0ZVBh
cmVudEZvckNoaWxkKGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihwYXJlbnQpLCAqY2hpbGQsIGJl
Zm9yZUNoaWxkKS5hZGRDaGlsZCgqdGhpcywgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
KyAgICAgICAgYXV0byYgcGFyZW50Q2FuZGlkYXRlID0gdGFibGVCdWlsZGVyKCkuZmluZE9yQ3Jl
YXRlUGFyZW50Rm9yQ2hpbGQoZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KHBhcmVudCksICpjaGls
ZCwgYmVmb3JlQ2hpbGQpOworICAgICAgICBpZiAoJnBhcmVudCAhPSAmcGFyZW50Q2FuZGlkYXRl
KSB7CisgICAgICAgICAgICBpbnNlcnRDaGlsZChwYXJlbnRDYW5kaWRhdGUsIFdURk1vdmUoY2hp
bGQpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgcGFyZW50LmFkZENoaWxkKCp0aGlzLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC03OCw2ICs4MywxNiBAQCB2b2lkIFJlbmRlclRy
ZWVCdWlsZGVyOjppbnNlcnRDaGlsZChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxS
ZW5kZXJPYmplYwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKGlzPFJlbmRlclRh
YmxlPihwYXJlbnQpKSB7CisgICAgICAgIGF1dG8mIHBhcmVudENhbmRpZGF0ZSA9IHRhYmxlQnVp
bGRlcigpLmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKGRvd25jYXN0PFJlbmRlclRhYmxlPihw
YXJlbnQpLCAqY2hpbGQsIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgaWYgKCZwYXJlbnQgIT0gJnBh
cmVudENhbmRpZGF0ZSkgeworICAgICAgICAgICAgaW5zZXJ0Q2hpbGQocGFyZW50Q2FuZGlkYXRl
LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIHBhcmVudC5hZGRDaGlsZCgqdGhpcywgV1RGTW92ZShjaGlsZCksIGJl
Zm9yZUNoaWxkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChpczxSZW5kZXJS
dWJ5UnVuPihwYXJlbnQpKSB7CiAgICAgICAgIHJ1YnlSdW5JbnNlcnRDaGlsZChkb3duY2FzdDxS
ZW5kZXJSdWJ5UnVuPihwYXJlbnQpLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5jcHAKaW5kZXggNjBhOGRiNDBiNTVmY2Q1
ZWIyYmJjMzY0MDM3NzgzYzIyYTczODQ5Zi4uZDhhNzA4NWIwZDk1NGM2ZTExNjljZjkxZjEzMjk5
NWQ2NTZjNGZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclRhYmxlLmNwcApAQCAtMjYsNyArMjYsOSBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCIK
IAorI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2FwdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxl
Q2VsbC5oIgorI2luY2x1ZGUgIlJlbmRlclRhYmxlQ29sLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFi
bGVSb3cuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlci5oIgogCkBAIC0xMTcsNCArMTE5
LDQ2IEBAIFJlbmRlckVsZW1lbnQmIFJlbmRlclRyZWVCdWlsZGVyOjpUYWJsZTo6ZmluZE9yQ3Jl
YXRlUGFyZW50Rm9yQ2hpbGQoUmVuZGVyVGFibGVTCiAgICAgcmV0dXJuIHJvdzsKIH0KIAorUmVu
ZGVyRWxlbWVudCYgUmVuZGVyVHJlZUJ1aWxkZXI6OlRhYmxlOjpmaW5kT3JDcmVhdGVQYXJlbnRG
b3JDaGlsZChSZW5kZXJUYWJsZSYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkLCBS
ZW5kZXJPYmplY3QqJiBiZWZvcmVDaGlsZCkKK3sKKyAgICBpZiAoaXM8UmVuZGVyVGFibGVDYXB0
aW9uPihjaGlsZCkgfHwgaXM8UmVuZGVyVGFibGVDb2w+KGNoaWxkKSB8fCBpczxSZW5kZXJUYWJs
ZVNlY3Rpb24+KGNoaWxkKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudDsKKworICAgIGF1dG8qIGxh
c3RDaGlsZCA9IHBhcmVudC5sYXN0Q2hpbGQoKTsKKyAgICBpZiAoIWJlZm9yZUNoaWxkICYmIGlz
PFJlbmRlclRhYmxlU2VjdGlvbj4obGFzdENoaWxkKSAmJiBsYXN0Q2hpbGQtPmlzQW5vbnltb3Vz
KCkgJiYgIWxhc3RDaGlsZC0+aXNCZWZvcmVDb250ZW50KCkpCisgICAgICAgIHJldHVybiBkb3du
Y2FzdDxSZW5kZXJFbGVtZW50PigqbGFzdENoaWxkKTsKKworICAgIGlmIChiZWZvcmVDaGlsZCAm
JiAhYmVmb3JlQ2hpbGQtPmlzQW5vbnltb3VzKCkgJiYgYmVmb3JlQ2hpbGQtPnBhcmVudCgpID09
ICZwYXJlbnQpIHsKKyAgICAgICAgYXV0byogc2VjdGlvbiA9IGJlZm9yZUNoaWxkLT5wcmV2aW91
c1NpYmxpbmcoKTsKKyAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlU2VjdGlvbj4oc2VjdGlvbikg
JiYgc2VjdGlvbi0+aXNBbm9ueW1vdXMoKSkgeworICAgICAgICAgICAgYmVmb3JlQ2hpbGQgPSBu
dWxscHRyOworICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KCpzZWN0
aW9uKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGF1dG8qIHBhcmVudENhbmRpZGF0ZSA9IGJl
Zm9yZUNoaWxkOworICAgIHdoaWxlIChwYXJlbnRDYW5kaWRhdGUgJiYgcGFyZW50Q2FuZGlkYXRl
LT5wYXJlbnQoKS0+aXNBbm9ueW1vdXMoKQorICAgICAgICAmJiAhaXM8UmVuZGVyVGFibGVTZWN0
aW9uPigqcGFyZW50Q2FuZGlkYXRlKQorICAgICAgICAmJiBwYXJlbnRDYW5kaWRhdGUtPnN0eWxl
KCkuZGlzcGxheSgpICE9IFRBQkxFX0NBUFRJT04KKyAgICAgICAgJiYgcGFyZW50Q2FuZGlkYXRl
LT5zdHlsZSgpLmRpc3BsYXkoKSAhPSBUQUJMRV9DT0xVTU5fR1JPVVApCisgICAgICAgIHBhcmVu
dENhbmRpZGF0ZSA9IHBhcmVudENhbmRpZGF0ZS0+cGFyZW50KCk7CisKKyAgICBpZiAocGFyZW50
Q2FuZGlkYXRlICYmIGlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKnBhcmVudENhbmRpZGF0ZSkgJiYg
cGFyZW50Q2FuZGlkYXRlLT5pc0Fub255bW91cygpICYmICFwYXJlbnQuaXNBZnRlckNvbnRlbnQo
cGFyZW50Q2FuZGlkYXRlKSkgeworICAgICAgICBpZiAoYmVmb3JlQ2hpbGQgPT0gcGFyZW50Q2Fu
ZGlkYXRlKQorICAgICAgICAgICAgYmVmb3JlQ2hpbGQgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVNl
Y3Rpb24+KCpwYXJlbnRDYW5kaWRhdGUpLmZpcnN0Um93KCk7CisgICAgICAgIHJldHVybiBkb3du
Y2FzdDxSZW5kZXJFbGVtZW50PigqcGFyZW50Q2FuZGlkYXRlKTsKKyAgICB9CisKKyAgICBpZiAo
YmVmb3JlQ2hpbGQgJiYgIWlzPFJlbmRlclRhYmxlU2VjdGlvbj4oKmJlZm9yZUNoaWxkKQorICAg
ICAgICAmJiBiZWZvcmVDaGlsZC0+c3R5bGUoKS5kaXNwbGF5KCkgIT0gVEFCTEVfQ0FQVElPTgor
ICAgICAgICAmJiBiZWZvcmVDaGlsZC0+c3R5bGUoKS5kaXNwbGF5KCkgIT0gVEFCTEVfQ09MVU1O
X0dST1VQKQorICAgICAgICBiZWZvcmVDaGlsZCA9IG51bGxwdHI7CisKKyAgICBhdXRvIG5ld1Nl
Y3Rpb24gPSBSZW5kZXJUYWJsZVNlY3Rpb246OmNyZWF0ZUFub255bW91c1dpdGhQYXJlbnRSZW5k
ZXJlcihwYXJlbnQpOworICAgIGF1dG8mIHNlY3Rpb24gPSAqbmV3U2VjdGlvbjsKKyAgICBtX2J1
aWxkZXIuaW5zZXJ0Q2hpbGQocGFyZW50LCBXVEZNb3ZlKG5ld1NlY3Rpb24pLCBiZWZvcmVDaGls
ZCk7CisgICAgYmVmb3JlQ2hpbGQgPSBudWxscHRyOworICAgIHJldHVybiBzZWN0aW9uOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyVGFibGUuaAppbmRleCBkN2M1MDVjODc0ZjZhODZjNjQ2ODg4NjUwMjAz
YTFiN2JmYzk1MWI0Li41N2JlZWQ2YzhlYWQ0NjI4NmIwNTg4YjFmZmMzYzM1ZTFkZThhYWNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXJUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlclRhYmxlLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogCiAgICAgUmVu
ZGVyRWxlbWVudCYgZmluZE9yQ3JlYXRlUGFyZW50Rm9yQ2hpbGQoUmVuZGVyVGFibGVSb3cmIHBh
cmVudCwgY29uc3QgUmVuZGVyT2JqZWN0JiBjaGlsZCwgUmVuZGVyT2JqZWN0KiYgYmVmb3JlQ2hp
bGQpOwogICAgIFJlbmRlckVsZW1lbnQmIGZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKFJlbmRl
clRhYmxlU2VjdGlvbiYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5kZXJP
YmplY3QqJiBiZWZvcmVDaGlsZCk7CisgICAgUmVuZGVyRWxlbWVudCYgZmluZE9yQ3JlYXRlUGFy
ZW50Rm9yQ2hpbGQoUmVuZGVyVGFibGUmIHBhcmVudCwgY29uc3QgUmVuZGVyT2JqZWN0JiBjaGls
ZCwgUmVuZGVyT2JqZWN0KiYgYmVmb3JlQ2hpbGQpOwogCiBwcml2YXRlOgogICAgIFJlbmRlclRy
ZWVCdWlsZGVyJiBtX2J1aWxkZXI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>