<?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>181090</bug_id>
          
          <creation_ts>2017-12-21 10:39:14 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderRubyAsBlock::addChild mutation to a RenderTreeBuilder</short_desc>
          <delta_ts>2017-12-21 14:05:32 -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>1384148</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-12-21 10:39:14 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384149</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-21 10:39:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/36180916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384158</commentid>
    <comment_count>2</comment_count>
      <attachid>330039</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-21 10:44:43 -0800</bug_when>
    <thetext>Created attachment 330039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384230</commentid>
    <comment_count>3</comment_count>
      <attachid>330055</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-21 13:27:24 -0800</bug_when>
    <thetext>Created attachment 330055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384250</commentid>
    <comment_count>4</comment_count>
      <attachid>330055</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-21 14:05:30 -0800</bug_when>
    <thetext>Comment on attachment 330055
Patch

Clearing flags on attachment: 330055

Committed r226240: &lt;https://trac.webkit.org/changeset/226240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384251</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-21 14:05:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330039</attachid>
            <date>2017-12-21 10:44:43 -0800</date>
            <delta_ts>2017-12-21 11:21:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181090-20171221104442.patch</filename>
            <type>text/plain</type>
            <size>13272</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThlYTVmM2JkNGQ2YTJm
OTE0MzBmMzE5NDdmYjBiZTI2MDE3ZWU4NS4uN2RjN2M0MTI4MWNjYTk0ODdkNDYxYzUyZDVmYTJi
ZjNhYzFiM2JlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTEyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlclJ1YnlBc0Jsb2NrOjphZGRDaGlsZCBtdXRhdGlvbiB0byBhIFJlbmRlclRy
ZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODEwOTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2MTgwOTE2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRp
b24gZm9yIG1vdmluZyBhbGwgcnVieSBtdXRhdGlvbiBjb2RlIGhlcmUuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlBc0Jsb2NrOjphZGRDaGlsZCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnkuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzQW5v
bnltb3VzUnVieUlubGluZUJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUnVieUJlZm9yZUJs
b2NrKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUnVieUFmdGVyQmxvY2spOgorICAgICAgICAoV2Vi
Q29yZTo6aXNSdWJ5Q2hpbGRGb3JOb3JtYWxSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OnJ1
YnlCZWZvcmVCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpydWJ5QWZ0ZXJCbG9jayk6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVBbm9ueW1vdXNSdWJ5SW5saW5lQmxvY2spOgorICAgICAgICAo
V2ViQ29yZTo6bGFzdFJ1YnlSdW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxk
ZXI6OlJ1Ynk6OmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKToKKyAgICAgICAgKiByZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5Lmg6CisKIDIwMTctMTItMjEgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJd
IE1vdmUgcnVieSBtdXRhdGlvbiBjb2RlIHRvIGEgZGVkaWNhdGVkIGNsYXNzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuY3BwCmluZGV4IGM1ZGZmMDc1ZGU5MDZiMGI1YTk0OTQy
Y2YwMjhlZGJiYTM0ZDkzZDYuLjJlMjliYzc1MmQ1MjdhZjUyZWIwNmY4NjUxYWIxYWU2ZGFiYjNi
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5jcHAKQEAgLTI0Nyw3NCAr
MjQ3LDYgQEAgdm9pZCBSZW5kZXJSdWJ5QXNCbG9jazo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZm
ZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKgogICAgIHByb3BhZ2F0ZVN0eWxlVG9Bbm9u
eW1vdXNDaGlsZHJlbihQcm9wYWdhdGVUb0FsbENoaWxkcmVuKTsKIH0KIAotdm9pZCBSZW5kZXJS
dWJ5QXNCbG9jazo6YWRkQ2hpbGQoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlclB0
cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQotewotICAg
IC8vIEluc2VydCA6YmVmb3JlIGFuZCA6YWZ0ZXIgY29udGVudCBiZWZvcmUvYWZ0ZXIgdGhlIFJl
bmRlclJ1YnlSdW4ocykKLSAgICBpZiAoY2hpbGQtPmlzQmVmb3JlQ29udGVudCgpKSB7Ci0gICAg
ICAgIGlmIChjaGlsZC0+aXNJbmxpbmUoKSkgewotICAgICAgICAgICAgLy8gQWRkIGdlbmVyYXRl
ZCBpbmxpbmUgY29udGVudCBub3JtYWxseQotICAgICAgICAgICAgUmVuZGVyQmxvY2tGbG93Ojph
ZGRDaGlsZChidWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSwgZmlyc3RDaGlsZCgpKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFdyYXAgbm9uLWlubGluZSBjb250ZW50IHdpdGggYW4g
YW5vbnltb3VzIGlubGluZS1ibG9jay4KLSAgICAgICAgICAgIFJlbmRlckJsb2NrKiBiZWZvcmVC
bG9jayA9IHJ1YnlCZWZvcmVCbG9jayh0aGlzKTsKLSAgICAgICAgICAgIGlmICghYmVmb3JlQmxv
Y2spIHsKLSAgICAgICAgICAgICAgICBhdXRvIG5ld0Jsb2NrID0gY3JlYXRlQW5vbnltb3VzUnVi
eUlubGluZUJsb2NrKCp0aGlzKTsKLSAgICAgICAgICAgICAgICBiZWZvcmVCbG9jayA9IG5ld0Js
b2NrLmdldCgpOwotICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrRmxvdzo6YWRkQ2hpbGQoYnVp
bGRlciwgV1RGTW92ZShuZXdCbG9jayksIGZpcnN0Q2hpbGQoKSk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCpiZWZvcmVCbG9jaywgV1RGTW92ZShjaGls
ZCkpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKGNoaWxkLT5p
c0FmdGVyQ29udGVudCgpKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNJbmxpbmUoKSkgewotICAg
ICAgICAgICAgLy8gQWRkIGdlbmVyYXRlZCBpbmxpbmUgY29udGVudCBub3JtYWxseQotICAgICAg
ICAgICAgUmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZChidWlsZGVyLCBXVEZNb3ZlKGNoaWxkKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBXcmFwIG5vbi1pbmxpbmUgY29udGVu
dCB3aXRoIGFuIGFub255bW91cyBpbmxpbmUtYmxvY2suCi0gICAgICAgICAgICBSZW5kZXJCbG9j
ayogYWZ0ZXJCbG9jayA9IHJ1YnlBZnRlckJsb2NrKHRoaXMpOwotICAgICAgICAgICAgaWYgKCFh
ZnRlckJsb2NrKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZUFub255
bW91c1J1YnlJbmxpbmVCbG9jaygqdGhpcyk7Ci0gICAgICAgICAgICAgICAgYWZ0ZXJCbG9jayA9
IG5ld0Jsb2NrLmdldCgpOwotICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrRmxvdzo6YWRkQ2hp
bGQoYnVpbGRlciwgV1RGTW92ZShuZXdCbG9jaykpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgYnVpbGRlci5pbnNlcnRDaGlsZCgqYWZ0ZXJCbG9jaywgV1RGTW92ZShjaGlsZCkpOwotICAg
ICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBJZiB0aGUgY2hpbGQgaXMg
YSBydWJ5IHJ1biwganVzdCBhZGQgaXQgbm9ybWFsbHkuCi0gICAgaWYgKGNoaWxkLT5pc1J1YnlS
dW4oKSkgewotICAgICAgICBSZW5kZXJCbG9ja0Zsb3c6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1v
dmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBp
ZiAoYmVmb3JlQ2hpbGQgJiYgIWlzQWZ0ZXJDb250ZW50KGJlZm9yZUNoaWxkKSkgewotICAgICAg
ICAvLyBpbnNlcnQgY2hpbGQgaW50byBydW4KLSAgICAgICAgQVNTRVJUKCFiZWZvcmVDaGlsZC0+
aXNSdWJ5UnVuKCkpOwotICAgICAgICBSZW5kZXJFbGVtZW50KiBydW4gPSBiZWZvcmVDaGlsZC0+
cGFyZW50KCk7Ci0gICAgICAgIHdoaWxlIChydW4gJiYgIXJ1bi0+aXNSdWJ5UnVuKCkpCi0gICAg
ICAgICAgICBydW4gPSBydW4tPnBhcmVudCgpOwotICAgICAgICBpZiAocnVuKSB7Ci0gICAgICAg
ICAgICBidWlsZGVyLmluc2VydENoaWxkKCpydW4sIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGls
ZCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IC8vIGJlZm9yZUNoaWxkIHNob3VsZCBhbHdheXMgaGF2ZSBhIHJ1biBhcyBwYXJl
bnQhCi0gICAgICAgIC8vIEVtZXJnZW5jeSBmYWxsYmFjazogZmFsbCB0aHJvdWdoIGFuZCBqdXN0
IGFwcGVuZC4KLSAgICB9Ci0KLSAgICAvLyBJZiB0aGUgbmV3IGNoaWxkIHdvdWxkIGJlIGFwcGVu
ZGVkLCB0cnkgdG8gYWRkIHRoZSBjaGlsZCB0byB0aGUgcHJldmlvdXMgcnVuCi0gICAgLy8gaWYg
cG9zc2libGUsIG9yIGNyZWF0ZSBhIG5ldyBydW4gb3RoZXJ3aXNlLgotICAgIC8vIChUaGUgUmVu
ZGVyUnVieVJ1biBvYmplY3Qgd2lsbCBoYW5kbGUgdGhlIGRldGFpbHMpCi0gICAgUmVuZGVyUnVi
eVJ1biogbGFzdFJ1biA9IGxhc3RSdWJ5UnVuKHRoaXMpOwotICAgIGlmICghbGFzdFJ1biB8fCBs
YXN0UnVuLT5oYXNSdWJ5VGV4dCgpKSB7Ci0gICAgICAgIGF1dG8gbmV3UnVuID0gUmVuZGVyUnVi
eVJ1bjo6c3RhdGljQ3JlYXRlUnVieVJ1bih0aGlzKTsKLSAgICAgICAgbGFzdFJ1biA9IG5ld1J1
bi5nZXQoKTsKLSAgICAgICAgUmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZChidWlsZGVyLCBXVEZN
b3ZlKG5ld1J1biksIGJlZm9yZUNoaWxkKTsKLSAgICB9Ci0gICAgYnVpbGRlci5pbnNlcnRDaGls
ZCgqbGFzdFJ1biwgV1RGTW92ZShjaGlsZCkpOwotfQotCiBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0
PiBSZW5kZXJSdWJ5QXNCbG9jazo6dGFrZUNoaWxkKFJlbmRlck9iamVjdCYgY2hpbGQpCiB7CiAg
ICAgLy8gSWYgdGhlIGNoaWxkJ3MgcGFyZW50IGlzICp0aGlzIChtdXN0IGJlIGEgcnVieSBydW4g
b3IgZ2VuZXJhdGVkIGNvbnRlbnQgb3IgYW5vbnltb3VzIGJsb2NrKSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUnVieS5oCmluZGV4IDE5YzE5NWU1ZmY1YzczMDQxMTBjODVjMTYzODMyZTM0
ZTMyY2ExNmEuLjZhY2Y3ZmUzOTc2MDdiOGVhMjgwOTc3YmUyZjU5N2MzZDI2YmIyZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuaApAQCAtNzcsNyArNzcsNiBAQCBwdWJsaWM6
CiAKICAgICBFbGVtZW50JiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8RWxlbWVu
dD4obm9kZUZvck5vbkFub255bW91cygpKTsgfQogCi0gICAgdm9pZCBhZGRDaGlsZChSZW5kZXJU
cmVlQnVpbGRlciYsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3Qq
IGJlZm9yZUNoaWxkID0gMCkgb3ZlcnJpZGU7CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
dGFrZUNoaWxkKFJlbmRlck9iamVjdCYgY2hpbGQpIG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyLmNwcAppbmRleCA3YmEwMDc5MDMzMGNjZWM0ZTE1ZDJlNTYyZGIzMWFlOGRmOGVlOTZm
Li4wY2FjYWVlM2ZmZjBmMTEyMGNlM2M2YTZhMDIyMDYyZmRjZmJhYWI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5j
cHAKQEAgLTk5LDYgKzk5LDE2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxk
KFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyAgICBpZiAoaXM8UmVuZGVyUnVieUFzQmxvY2s+KHBhcmVudCkpIHsK
KyAgICAgICAgYXV0byYgcGFyZW50Q2FuZGlkYXRlID0gcnVieUJ1aWxkZXIoKS5maW5kT3JDcmVh
dGVQYXJlbnRGb3JDaGlsZChkb3duY2FzdDxSZW5kZXJSdWJ5QXNCbG9jaz4ocGFyZW50KSwgKmNo
aWxkLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIGlmICgmcGFyZW50ICE9ICZwYXJlbnRDYW5kaWRh
dGUpIHsKKyAgICAgICAgICAgIGluc2VydENoaWxkKHBhcmVudENhbmRpZGF0ZSwgV1RGTW92ZShj
aGlsZCksIGJlZm9yZUNoaWxkKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBwYXJlbnQuYWRkQ2hpbGQoKnRoaXMsIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoaXM8UmVuZGVyUnVieVJ1bj4ocGFy
ZW50KSkgewogICAgICAgICBydWJ5QnVpbGRlcigpLmluc2VydENoaWxkKGRvd25jYXN0PFJlbmRl
clJ1YnlSdW4+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggZWViZTNmMTA4Y2Y1ZThkNDVhMDE2
MTc4ZGExZTllMjU0NmIwNzM5Ny4uNTlkZDc3NzIwMjE5YTg1MGYwZGE0ODlkZjFjMWUwNGRhYmJh
ZDg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRl
clRyZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDEwICsyNiw4NCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5j
bHVkZSAiUmVuZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGlubGluZSBib29sIGlzQW5vbnltb3VzUnVi
eUlubGluZUJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVCgh
b2JqZWN0CisgICAgICAgIHx8ICFpc1J1Ynkob2JqZWN0LT5wYXJlbnQoKSkKKyAgICAgICAgfHwg
aXM8UmVuZGVyUnVieVJ1bj4oKm9iamVjdCkKKyAgICAgICAgfHwgKG9iamVjdC0+aXNJbmxpbmUo
KSAmJiAob2JqZWN0LT5pc0JlZm9yZUNvbnRlbnQoKSB8fCBvYmplY3QtPmlzQWZ0ZXJDb250ZW50
KCkpKQorICAgICAgICB8fCAob2JqZWN0LT5pc0Fub255bW91cygpICYmIGlzPFJlbmRlckJsb2Nr
Pigqb2JqZWN0KSAmJiBvYmplY3QtPnN0eWxlKCkuZGlzcGxheSgpID09IElOTElORV9CTE9DSykp
OworCisgICAgcmV0dXJuIG9iamVjdAorICAgICAgICAmJiBpc1J1Ynkob2JqZWN0LT5wYXJlbnQo
KSkKKyAgICAgICAgJiYgaXM8UmVuZGVyQmxvY2s+KCpvYmplY3QpCisgICAgICAgICYmICFpczxS
ZW5kZXJSdWJ5UnVuPigqb2JqZWN0KTsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzUnVieUJl
Zm9yZUJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIHJldHVybiBpc0Fu
b255bW91c1J1YnlJbmxpbmVCbG9jayhvYmplY3QpCisgICAgICAgICYmICFvYmplY3QtPnByZXZp
b3VzU2libGluZygpCisgICAgICAgICYmIGRvd25jYXN0PFJlbmRlckJsb2NrPigqb2JqZWN0KS5m
aXJzdENoaWxkKCkKKyAgICAgICAgJiYgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpvYmplY3QpLmZp
cnN0Q2hpbGQoKS0+c3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBCRUZPUkU7Cit9CisKK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc1J1YnlBZnRlckJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQor
eworICAgIHJldHVybiBpc0Fub255bW91c1J1YnlJbmxpbmVCbG9jayhvYmplY3QpCisgICAgICAg
ICYmICFvYmplY3QtPm5leHRTaWJsaW5nKCkKKyAgICAgICAgJiYgZG93bmNhc3Q8UmVuZGVyQmxv
Y2s+KCpvYmplY3QpLmZpcnN0Q2hpbGQoKQorICAgICAgICAmJiBkb3duY2FzdDxSZW5kZXJCbG9j
az4oKm9iamVjdCkuZmlyc3RDaGlsZCgpLT5zdHlsZSgpLnN0eWxlVHlwZSgpID09IEFGVEVSOwor
fQorCisjaWZuZGVmIEFTU0VSVF9ESVNBQkxFRAorc3RhdGljIGlubGluZSBib29sIGlzUnVieUNo
aWxkRm9yTm9ybWFsUmVtb3ZhbChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKK3sKKyAgICBy
ZXR1cm4gb2JqZWN0LmlzUnVieVJ1bigpCisgICAgfHwgb2JqZWN0LmlzQmVmb3JlQ29udGVudCgp
CisgICAgfHwgb2JqZWN0LmlzQWZ0ZXJDb250ZW50KCkKKyAgICB8fCBvYmplY3QuaXNSZW5kZXJN
dWx0aUNvbHVtbkZsb3coKQorICAgIHx8IG9iamVjdC5pc1JlbmRlck11bHRpQ29sdW1uU2V0KCkK
KyAgICB8fCBpc0Fub255bW91c1J1YnlJbmxpbmVCbG9jaygmb2JqZWN0KTsKK30KKyNlbmRpZgor
CitzdGF0aWMgaW5saW5lIFJlbmRlckJsb2NrKiBydWJ5QmVmb3JlQmxvY2soY29uc3QgUmVuZGVy
RWxlbWVudCogcnVieSkKK3sKKyAgICBSZW5kZXJPYmplY3QqIGNoaWxkID0gcnVieS0+Zmlyc3RD
aGlsZCgpOworICAgIHJldHVybiBpc1J1YnlCZWZvcmVCbG9jayhjaGlsZCkgPyBkb3duY2FzdDxS
ZW5kZXJCbG9jaz4oY2hpbGQpIDogbnVsbHB0cjsKK30KKworc3RhdGljIGlubGluZSBSZW5kZXJC
bG9jayogcnVieUFmdGVyQmxvY2soY29uc3QgUmVuZGVyRWxlbWVudCogcnVieSkKK3sKKyAgICBS
ZW5kZXJPYmplY3QqIGNoaWxkID0gcnVieS0+bGFzdENoaWxkKCk7CisgICAgcmV0dXJuIGlzUnVi
eUFmdGVyQmxvY2soY2hpbGQpID8gZG93bmNhc3Q8UmVuZGVyQmxvY2s+KGNoaWxkKSA6IG51bGxw
dHI7Cit9CisKK3N0YXRpYyBhdXRvIGNyZWF0ZUFub255bW91c1J1YnlJbmxpbmVCbG9jayhSZW5k
ZXJPYmplY3QmIHJ1YnkpCit7CisgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZVJlbmRlcmVyPFJl
bmRlckJsb2NrRmxvdz4ocnVieS5kb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnlt
b3VzU3R5bGVXaXRoRGlzcGxheShydWJ5LnN0eWxlKCksIElOTElORV9CTE9DSykpOworICAgIG5l
d0Jsb2NrLT5pbml0aWFsaXplU3R5bGUoKTsKKyAgICByZXR1cm4gbmV3QmxvY2s7Cit9CisKK3N0
YXRpYyBSZW5kZXJSdWJ5UnVuKiBsYXN0UnVieVJ1bihjb25zdCBSZW5kZXJFbGVtZW50KiBydWJ5
KQoreworICAgIFJlbmRlck9iamVjdCogY2hpbGQgPSBydWJ5LT5sYXN0Q2hpbGQoKTsKKyAgICBp
ZiAoY2hpbGQgJiYgIWlzPFJlbmRlclJ1YnlSdW4+KCpjaGlsZCkpCisgICAgICAgIGNoaWxkID0g
Y2hpbGQtPnByZXZpb3VzU2libGluZygpOworICAgIGlmICghaXM8UmVuZGVyUnVieVJ1bj4oY2hp
bGQpKSB7CisgICAgICAgIEFTU0VSVCghY2hpbGQgfHwgY2hpbGQtPmlzQmVmb3JlQ29udGVudCgp
IHx8IGNoaWxkID09IHJ1YnlCZWZvcmVCbG9jayhydWJ5KSk7CisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIH0KKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyUnVieVJ1bj4oY2hpbGQpOwor
fQorCiBSZW5kZXJUcmVlQnVpbGRlcjo6UnVieTo6UnVieShSZW5kZXJUcmVlQnVpbGRlciYgYnVp
bGRlcikKICAgICA6IG1fYnVpbGRlcihidWlsZGVyKQogewpAQCAtODIsNSArMTU2LDY4IEBAIHZv
aWQgUmVuZGVyVHJlZUJ1aWxkZXI6OlJ1Ynk6Omluc2VydENoaWxkKFJlbmRlclJ1YnlSdW4mIHBh
cmVudCwgUmVuZGVyUHRyPFJlbmRlCiAgICAgbV9idWlsZGVyLmluc2VydENoaWxkKCpwYXJlbnQu
cnVieUJhc2VTYWZlKCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKK1JlbmRl
ckVsZW1lbnQmIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpmaW5kT3JDcmVhdGVQYXJlbnRGb3JD
aGlsZChSZW5kZXJSdWJ5QXNCbG9jayYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxk
LCBSZW5kZXJPYmplY3QqJiBiZWZvcmVDaGlsZCkKK3sKKyAgICAvLyBJbnNlcnQgOmJlZm9yZSBh
bmQgOmFmdGVyIGNvbnRlbnQgYmVmb3JlL2FmdGVyIHRoZSBSZW5kZXJSdWJ5UnVuKHMpCisgICAg
aWYgKGNoaWxkLmlzQmVmb3JlQ29udGVudCgpKSB7CisgICAgICAgIC8vIEFkZCBnZW5lcmF0ZWQg
aW5saW5lIGNvbnRlbnQgbm9ybWFsbHkKKyAgICAgICAgaWYgKGNoaWxkLmlzSW5saW5lKCkpCisg
ICAgICAgICAgICByZXR1cm4gcGFyZW50OworICAgICAgICAvLyBXcmFwIG5vbi1pbmxpbmUgY29u
dGVudCBpbiBhbiBhbm9ueW1vdXMgaW5saW5lLWJsb2NrLgorICAgICAgICBhdXRvKiBiZWZvcmVC
bG9jayA9IHJ1YnlCZWZvcmVCbG9jaygmcGFyZW50KTsKKyAgICAgICAgaWYgKCFiZWZvcmVCbG9j
aykgeworICAgICAgICAgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZUFub255bW91c1J1YnlJbmxp
bmVCbG9jayhwYXJlbnQpOworICAgICAgICAgICAgYmVmb3JlQmxvY2sgPSBuZXdCbG9jay5nZXQo
KTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUobmV3
QmxvY2spLCBwYXJlbnQuZmlyc3RDaGlsZCgpKTsKKyAgICAgICAgfQorICAgICAgICBiZWZvcmVD
aGlsZCA9IG51bGxwdHI7CisgICAgICAgIHJldHVybiAqYmVmb3JlQmxvY2s7CisgICAgfQorCisg
ICAgaWYgKGNoaWxkLmlzQWZ0ZXJDb250ZW50KCkpIHsKKyAgICAgICAgLy8gQWRkIGdlbmVyYXRl
ZCBpbmxpbmUgY29udGVudCBub3JtYWxseQorICAgICAgICBpZiAoY2hpbGQuaXNJbmxpbmUoKSkK
KyAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7CisgICAgICAgIC8vIFdyYXAgbm9uLWlubGluZSBj
b250ZW50IHdpdGggYW4gYW5vbnltb3VzIGlubGluZS1ibG9jay4KKyAgICAgICAgYXV0byogYWZ0
ZXJCbG9jayA9IHJ1YnlBZnRlckJsb2NrKCZwYXJlbnQpOworICAgICAgICBpZiAoIWFmdGVyQmxv
Y2spIHsKKyAgICAgICAgICAgIGF1dG8gbmV3QmxvY2sgPSBjcmVhdGVBbm9ueW1vdXNSdWJ5SW5s
aW5lQmxvY2socGFyZW50KTsKKyAgICAgICAgICAgIGFmdGVyQmxvY2sgPSBuZXdCbG9jay5nZXQo
KTsKKyAgICAgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZChwYXJlbnQsIFdURk1vdmUobmV3
QmxvY2spKTsKKyAgICAgICAgfQorICAgICAgICBiZWZvcmVDaGlsZCA9IG51bGxwdHI7CisgICAg
ICAgIHJldHVybiAqYWZ0ZXJCbG9jazsKKyAgICB9CisKKyAgICAvLyBJZiB0aGUgY2hpbGQgaXMg
YSBydWJ5IHJ1biwganVzdCBhZGQgaXQgbm9ybWFsbHkuCisgICAgaWYgKGNoaWxkLmlzUnVieVJ1
bigpKQorICAgICAgICByZXR1cm4gcGFyZW50OworCisgICAgaWYgKGJlZm9yZUNoaWxkICYmICFw
YXJlbnQuaXNBZnRlckNvbnRlbnQoYmVmb3JlQ2hpbGQpKSB7CisgICAgICAgIC8vIGluc2VydCBj
aGlsZCBpbnRvIHJ1bgorICAgICAgICBBU1NFUlQoIWJlZm9yZUNoaWxkLT5pc1J1YnlSdW4oKSk7
CisgICAgICAgIGF1dG8qIHJ1biA9IGJlZm9yZUNoaWxkLT5wYXJlbnQoKTsKKyAgICAgICAgd2hp
bGUgKHJ1biAmJiAhcnVuLT5pc1J1YnlSdW4oKSkKKyAgICAgICAgICAgIHJ1biA9IHJ1bi0+cGFy
ZW50KCk7CisgICAgICAgIGlmIChydW4pCisgICAgICAgICAgICByZXR1cm4gKnJ1bjsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIGJlZm9yZUNoaWxkIHNob3VsZCBhbHdheXMgaGF2
ZSBhIHJ1biBhcyBwYXJlbnQhCisgICAgICAgIC8vIEVtZXJnZW5jeSBmYWxsYmFjazogZmFsbCB0
aHJvdWdoIGFuZCBqdXN0IGFwcGVuZC4KKyAgICB9CisKKyAgICAvLyBJZiB0aGUgbmV3IGNoaWxk
IHdvdWxkIGJlIGFwcGVuZGVkLCB0cnkgdG8gYWRkIHRoZSBjaGlsZCB0byB0aGUgcHJldmlvdXMg
cnVuCisgICAgLy8gaWYgcG9zc2libGUsIG9yIGNyZWF0ZSBhIG5ldyBydW4gb3RoZXJ3aXNlLgor
ICAgIC8vIChUaGUgUmVuZGVyUnVieVJ1biBvYmplY3Qgd2lsbCBoYW5kbGUgdGhlIGRldGFpbHMp
CisgICAgYXV0byogbGFzdFJ1biA9IGxhc3RSdWJ5UnVuKCZwYXJlbnQpOworICAgIGlmICghbGFz
dFJ1biB8fCBsYXN0UnVuLT5oYXNSdWJ5VGV4dCgpKSB7CisgICAgICAgIGF1dG8gbmV3UnVuID0g
UmVuZGVyUnVieVJ1bjo6c3RhdGljQ3JlYXRlUnVieVJ1bigmcGFyZW50KTsKKyAgICAgICAgbGFz
dFJ1biA9IG5ld1J1bi5nZXQoKTsKKyAgICAgICAgbV9idWlsZGVyLmluc2VydENoaWxkKHBhcmVu
dCwgV1RGTW92ZShuZXdSdW4pLCBiZWZvcmVDaGlsZCk7CisgICAgfQorICAgIGJlZm9yZUNoaWxk
ID0gbnVsbHB0cjsKKyAgICByZXR1cm4gKmxhc3RSdW47Cit9CisKKwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJS
dWJ5LmgKaW5kZXggZDA5YTA3MWM2NTAwYWIzYzgxYjVkOGY1NDUxZTczZWYxMjU3ODNjZi4uZDll
ZWQ5YjNiZmFkYThhYzMxZThlMWRmMjkwYjI1ZWMzZGFhOWIwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1Ynku
aApAQCAtMjksNyArMjksOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFJlbmRl
ckVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CitjbGFzcyBSZW5kZXJSdWJ5QXNCbG9jazsK
IGNsYXNzIFJlbmRlclJ1YnlSdW47CiBjbGFzcyBSZW5kZXJUcmVlQnVpbGRlcjsKIApAQCAtMzgs
NiArNDAsNyBAQCBwdWJsaWM6CiAgICAgUnVieShSZW5kZXJUcmVlQnVpbGRlciYpOwogCiAgICAg
dm9pZCBpbnNlcnRDaGlsZChSZW5kZXJSdWJ5UnVuJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKKyAgICBSZW5kZXJFbGVt
ZW50JiBmaW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChSZW5kZXJSdWJ5QXNCbG9jayYgcGFyZW50
LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5kZXJPYmplY3QqJiBiZWZvcmVDaGlsZCk7
CiAKIHByaXZhdGU6CiAgICAgUmVuZGVyVHJlZUJ1aWxkZXImIG1fYnVpbGRlcjsK
</data>
<flag name="review"
          id="349075"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330055</attachid>
            <date>2017-12-21 13:27:24 -0800</date>
            <delta_ts>2017-12-21 14:05:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181090-20171221132723.patch</filename>
            <type>text/plain</type>
            <size>13080</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg5N2EzYzQ4YThlNmFj
MWUzNWI0MzFjMTRjMDAxNmMxYjc1N2YxZC4uZGYzODM3Y2JjOWYwNmY3OTg5NjcwNzkyMjI3MDE4
N2EyNzMzMmQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTEyLTIxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlclJ1YnlBc0Jsb2NrOjphZGRDaGlsZCBtdXRhdGlvbiB0byBhIFJlbmRlclRy
ZWVCdWlsZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODEwOTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2MTgwOTE2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgaXMgaW4gcHJlcGFyYXRp
b24gZm9yIG1vdmluZyBhbGwgcnVieSBtdXRhdGlvbiBjb2RlIGhlcmUuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlBc0Jsb2NrOjphZGRDaGlsZCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnkuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzQW5v
bnltb3VzUnVieUlubGluZUJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUnVieUJlZm9yZUJs
b2NrKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUnVieUFmdGVyQmxvY2spOgorICAgICAgICAoV2Vi
Q29yZTo6aXNSdWJ5Q2hpbGRGb3JOb3JtYWxSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OnJ1
YnlCZWZvcmVCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpydWJ5QWZ0ZXJCbG9jayk6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVBbm9ueW1vdXNSdWJ5SW5saW5lQmxvY2spOgorICAgICAgICAo
V2ViQ29yZTo6bGFzdFJ1YnlSdW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxk
ZXI6OlJ1Ynk6OmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKToKKyAgICAgICAgKiByZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5Lmg6CisKIDIwMTctMTItMjEgIEplcmVt
eSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBGVUxMU0NSRUVO
X0FQSSBmZWF0dXJlIGRlZmluZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieS5j
cHAKaW5kZXggYzVkZmYwNzVkZTkwNmIwYjVhOTQ5NDJjZjAyOGVkYmJhMzRkOTNkNi4uMmUyOWJj
NzUyZDUyN2FmNTJlYjA2Zjg2NTFhYjFhZTZkYWJiM2JhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSdWJ5LmNwcApAQCAtMjQ3LDc0ICsyNDcsNiBAQCB2b2lkIFJlbmRlclJ1YnlB
c0Jsb2NrOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVy
U3R5bGUqCiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91c0NoaWxkcmVuKFByb3BhZ2F0ZVRv
QWxsQ2hpbGRyZW4pOwogfQogCi12b2lkIFJlbmRlclJ1YnlBc0Jsb2NrOjphZGRDaGlsZChSZW5k
ZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJl
bmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCi17Ci0gICAgLy8gSW5zZXJ0IDpiZWZvcmUgYW5kIDph
ZnRlciBjb250ZW50IGJlZm9yZS9hZnRlciB0aGUgUmVuZGVyUnVieVJ1bihzKQotICAgIGlmIChj
aGlsZC0+aXNCZWZvcmVDb250ZW50KCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5pc0lubGluZSgp
KSB7Ci0gICAgICAgICAgICAvLyBBZGQgZ2VuZXJhdGVkIGlubGluZSBjb250ZW50IG5vcm1hbGx5
Ci0gICAgICAgICAgICBSZW5kZXJCbG9ja0Zsb3c6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUo
Y2hpbGQpLCBmaXJzdENoaWxkKCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
V3JhcCBub24taW5saW5lIGNvbnRlbnQgd2l0aCBhbiBhbm9ueW1vdXMgaW5saW5lLWJsb2NrLgot
ICAgICAgICAgICAgUmVuZGVyQmxvY2sqIGJlZm9yZUJsb2NrID0gcnVieUJlZm9yZUJsb2NrKHRo
aXMpOwotICAgICAgICAgICAgaWYgKCFiZWZvcmVCbG9jaykgewotICAgICAgICAgICAgICAgIGF1
dG8gbmV3QmxvY2sgPSBjcmVhdGVBbm9ueW1vdXNSdWJ5SW5saW5lQmxvY2soKnRoaXMpOwotICAg
ICAgICAgICAgICAgIGJlZm9yZUJsb2NrID0gbmV3QmxvY2suZ2V0KCk7Ci0gICAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZChidWlsZGVyLCBXVEZNb3ZlKG5ld0Jsb2NrKSwg
Zmlyc3RDaGlsZCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJ1aWxkZXIuaW5zZXJ0
Q2hpbGQoKmJlZm9yZUJsb2NrLCBXVEZNb3ZlKGNoaWxkKSk7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBpZiAoY2hpbGQtPmlzQWZ0ZXJDb250ZW50KCkpIHsKLSAgICAg
ICAgaWYgKGNoaWxkLT5pc0lubGluZSgpKSB7Ci0gICAgICAgICAgICAvLyBBZGQgZ2VuZXJhdGVk
IGlubGluZSBjb250ZW50IG5vcm1hbGx5Ci0gICAgICAgICAgICBSZW5kZXJCbG9ja0Zsb3c6OmFk
ZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUoY2hpbGQpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIC8vIFdyYXAgbm9uLWlubGluZSBjb250ZW50IHdpdGggYW4gYW5vbnltb3VzIGlubGlu
ZS1ibG9jay4KLSAgICAgICAgICAgIFJlbmRlckJsb2NrKiBhZnRlckJsb2NrID0gcnVieUFmdGVy
QmxvY2sodGhpcyk7Ci0gICAgICAgICAgICBpZiAoIWFmdGVyQmxvY2spIHsKLSAgICAgICAgICAg
ICAgICBhdXRvIG5ld0Jsb2NrID0gY3JlYXRlQW5vbnltb3VzUnVieUlubGluZUJsb2NrKCp0aGlz
KTsKLSAgICAgICAgICAgICAgICBhZnRlckJsb2NrID0gbmV3QmxvY2suZ2V0KCk7Ci0gICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2tGbG93OjphZGRDaGlsZChidWlsZGVyLCBXVEZNb3ZlKG5ld0Js
b2NrKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCph
ZnRlckJsb2NrLCBXVEZNb3ZlKGNoaWxkKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIC8vIElmIHRoZSBjaGlsZCBpcyBhIHJ1YnkgcnVuLCBqdXN0IGFkZCBpdCBu
b3JtYWxseS4KLSAgICBpZiAoY2hpbGQtPmlzUnVieVJ1bigpKSB7Ci0gICAgICAgIFJlbmRlckJs
b2NrRmxvdzo6YWRkQ2hpbGQoYnVpbGRlciwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChiZWZvcmVDaGlsZCAmJiAhaXNBZnRl
ckNvbnRlbnQoYmVmb3JlQ2hpbGQpKSB7Ci0gICAgICAgIC8vIGluc2VydCBjaGlsZCBpbnRvIHJ1
bgotICAgICAgICBBU1NFUlQoIWJlZm9yZUNoaWxkLT5pc1J1YnlSdW4oKSk7Ci0gICAgICAgIFJl
bmRlckVsZW1lbnQqIHJ1biA9IGJlZm9yZUNoaWxkLT5wYXJlbnQoKTsKLSAgICAgICAgd2hpbGUg
KHJ1biAmJiAhcnVuLT5pc1J1YnlSdW4oKSkKLSAgICAgICAgICAgIHJ1biA9IHJ1bi0+cGFyZW50
KCk7Ci0gICAgICAgIGlmIChydW4pIHsKLSAgICAgICAgICAgIGJ1aWxkZXIuaW5zZXJ0Q2hpbGQo
KnJ1biwgV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gYmVmb3JlQ2hpbGQg
c2hvdWxkIGFsd2F5cyBoYXZlIGEgcnVuIGFzIHBhcmVudCEKLSAgICAgICAgLy8gRW1lcmdlbmN5
IGZhbGxiYWNrOiBmYWxsIHRocm91Z2ggYW5kIGp1c3QgYXBwZW5kLgotICAgIH0KLQotICAgIC8v
IElmIHRoZSBuZXcgY2hpbGQgd291bGQgYmUgYXBwZW5kZWQsIHRyeSB0byBhZGQgdGhlIGNoaWxk
IHRvIHRoZSBwcmV2aW91cyBydW4KLSAgICAvLyBpZiBwb3NzaWJsZSwgb3IgY3JlYXRlIGEgbmV3
IHJ1biBvdGhlcndpc2UuCi0gICAgLy8gKFRoZSBSZW5kZXJSdWJ5UnVuIG9iamVjdCB3aWxsIGhh
bmRsZSB0aGUgZGV0YWlscykKLSAgICBSZW5kZXJSdWJ5UnVuKiBsYXN0UnVuID0gbGFzdFJ1YnlS
dW4odGhpcyk7Ci0gICAgaWYgKCFsYXN0UnVuIHx8IGxhc3RSdW4tPmhhc1J1YnlUZXh0KCkpIHsK
LSAgICAgICAgYXV0byBuZXdSdW4gPSBSZW5kZXJSdWJ5UnVuOjpzdGF0aWNDcmVhdGVSdWJ5UnVu
KHRoaXMpOwotICAgICAgICBsYXN0UnVuID0gbmV3UnVuLmdldCgpOwotICAgICAgICBSZW5kZXJC
bG9ja0Zsb3c6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUobmV3UnVuKSwgYmVmb3JlQ2hpbGQp
OwotICAgIH0KLSAgICBidWlsZGVyLmluc2VydENoaWxkKCpsYXN0UnVuLCBXVEZNb3ZlKGNoaWxk
KSk7Ci19Ci0KIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlclJ1YnlBc0Jsb2NrOjp0YWtl
Q2hpbGQoUmVuZGVyT2JqZWN0JiBjaGlsZCkKIHsKICAgICAvLyBJZiB0aGUgY2hpbGQncyBwYXJl
bnQgaXMgKnRoaXMgKG11c3QgYmUgYSBydWJ5IHJ1biBvciBnZW5lcmF0ZWQgY29udGVudCBvciBh
bm9ueW1vdXMgYmxvY2spLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJ1YnkuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5LmgKaW5kZXgg
MTljMTk1ZTVmZjVjNzMwNDExMGM4NWMxNjM4MzJlMzRlMzJjYTE2YS4uNmFjZjdmZTM5NzYwN2I4
ZWEyODA5NzdiZTJmNTk3YzNkMjZiYjJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJ1YnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UnVieS5oCkBAIC03Nyw3ICs3Nyw2IEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnQmIGVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxFbGVtZW50Pihub2RlRm9yTm9uQW5vbnltb3VzKCkp
OyB9CiAKLSAgICB2b2lkIGFkZENoaWxkKFJlbmRlclRyZWVCdWlsZGVyJiwgUmVuZGVyUHRyPFJl
bmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSAwKSBvdmVycmlk
ZTsKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiB0YWtlQ2hpbGQoUmVuZGVyT2JqZWN0JiBj
aGlsZCkgb3ZlcnJpZGU7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDg5NWQ2ZjFm
NzYyMzBhZDZhNDg2ZTg4MTQyMTgxZWNmMTU0M2E5MmQuLmVmZTA3MGE4ZDU0ZmNlYzQ5MWIyZjI0
YjA5YjkxODBhZDhhZGQzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAtOTIsNiArOTIsMTEgQEAgdm9p
ZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBS
ZW5kZXJQdHI8UmVuZGVyT2JqZWMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChp
czxSZW5kZXJSdWJ5QXNCbG9jaz4ocGFyZW50KSkgeworICAgICAgICBpbnNlcnRSZWN1cnNpdmVJ
Zk5lZWRlZChydWJ5QnVpbGRlcigpLmZpbmRPckNyZWF0ZVBhcmVudEZvckNoaWxkKGRvd25jYXN0
PFJlbmRlclJ1YnlBc0Jsb2NrPihwYXJlbnQpLCAqY2hpbGQsIGJlZm9yZUNoaWxkKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoaXM8UmVuZGVyUnVieVJ1bj4ocGFyZW50KSkg
ewogICAgICAgICBydWJ5QnVpbGRlcigpLmluc2VydENoaWxkKGRvd25jYXN0PFJlbmRlclJ1YnlS
dW4+KHBhcmVudCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggZWViZTNmMTA4Y2Y1ZThkNDVhMDE2MTc4ZGEx
ZTllMjU0NmIwNzM5Ny4uZjk4NjZjZGIyZGMxMGEyZjAxODI3Njk5MGI5MTE4MDg0MWQ5MmUwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTI2LDEwICsyNiw4NCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyUnVieS5oIgogCisjaW5jbHVkZSAi
UmVuZGVyUnVieVJ1bi5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGlubGluZSBib29sIGlzQW5vbnltb3VzUnVieUlubGlu
ZUJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVCghb2JqZWN0
CisgICAgICAgIHx8ICFpc1J1Ynkob2JqZWN0LT5wYXJlbnQoKSkKKyAgICAgICAgfHwgaXM8UmVu
ZGVyUnVieVJ1bj4oKm9iamVjdCkKKyAgICAgICAgfHwgKG9iamVjdC0+aXNJbmxpbmUoKSAmJiAo
b2JqZWN0LT5pc0JlZm9yZUNvbnRlbnQoKSB8fCBvYmplY3QtPmlzQWZ0ZXJDb250ZW50KCkpKQor
ICAgICAgICB8fCAob2JqZWN0LT5pc0Fub255bW91cygpICYmIGlzPFJlbmRlckJsb2NrPigqb2Jq
ZWN0KSAmJiBvYmplY3QtPnN0eWxlKCkuZGlzcGxheSgpID09IElOTElORV9CTE9DSykpOworCisg
ICAgcmV0dXJuIG9iamVjdAorICAgICAgICAmJiBpc1J1Ynkob2JqZWN0LT5wYXJlbnQoKSkKKyAg
ICAgICAgJiYgaXM8UmVuZGVyQmxvY2s+KCpvYmplY3QpCisgICAgICAgICYmICFpczxSZW5kZXJS
dWJ5UnVuPigqb2JqZWN0KTsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzUnVieUJlZm9yZUJs
b2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIHJldHVybiBpc0Fub255bW91
c1J1YnlJbmxpbmVCbG9jayhvYmplY3QpCisgICAgICAgICYmICFvYmplY3QtPnByZXZpb3VzU2li
bGluZygpCisgICAgICAgICYmIGRvd25jYXN0PFJlbmRlckJsb2NrPigqb2JqZWN0KS5maXJzdENo
aWxkKCkKKyAgICAgICAgJiYgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpvYmplY3QpLmZpcnN0Q2hp
bGQoKS0+c3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBCRUZPUkU7Cit9CisKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc1J1YnlBZnRlckJsb2NrKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAg
IHJldHVybiBpc0Fub255bW91c1J1YnlJbmxpbmVCbG9jayhvYmplY3QpCisgICAgICAgICYmICFv
YmplY3QtPm5leHRTaWJsaW5nKCkKKyAgICAgICAgJiYgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpv
YmplY3QpLmZpcnN0Q2hpbGQoKQorICAgICAgICAmJiBkb3duY2FzdDxSZW5kZXJCbG9jaz4oKm9i
amVjdCkuZmlyc3RDaGlsZCgpLT5zdHlsZSgpLnN0eWxlVHlwZSgpID09IEFGVEVSOworfQorCisj
aWZuZGVmIEFTU0VSVF9ESVNBQkxFRAorc3RhdGljIGlubGluZSBib29sIGlzUnVieUNoaWxkRm9y
Tm9ybWFsUmVtb3ZhbChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKK3sKKyAgICByZXR1cm4g
b2JqZWN0LmlzUnVieVJ1bigpCisgICAgfHwgb2JqZWN0LmlzQmVmb3JlQ29udGVudCgpCisgICAg
fHwgb2JqZWN0LmlzQWZ0ZXJDb250ZW50KCkKKyAgICB8fCBvYmplY3QuaXNSZW5kZXJNdWx0aUNv
bHVtbkZsb3coKQorICAgIHx8IG9iamVjdC5pc1JlbmRlck11bHRpQ29sdW1uU2V0KCkKKyAgICB8
fCBpc0Fub255bW91c1J1YnlJbmxpbmVCbG9jaygmb2JqZWN0KTsKK30KKyNlbmRpZgorCitzdGF0
aWMgaW5saW5lIFJlbmRlckJsb2NrKiBydWJ5QmVmb3JlQmxvY2soY29uc3QgUmVuZGVyRWxlbWVu
dCogcnVieSkKK3sKKyAgICBSZW5kZXJPYmplY3QqIGNoaWxkID0gcnVieS0+Zmlyc3RDaGlsZCgp
OworICAgIHJldHVybiBpc1J1YnlCZWZvcmVCbG9jayhjaGlsZCkgPyBkb3duY2FzdDxSZW5kZXJC
bG9jaz4oY2hpbGQpIDogbnVsbHB0cjsKK30KKworc3RhdGljIGlubGluZSBSZW5kZXJCbG9jayog
cnVieUFmdGVyQmxvY2soY29uc3QgUmVuZGVyRWxlbWVudCogcnVieSkKK3sKKyAgICBSZW5kZXJP
YmplY3QqIGNoaWxkID0gcnVieS0+bGFzdENoaWxkKCk7CisgICAgcmV0dXJuIGlzUnVieUFmdGVy
QmxvY2soY2hpbGQpID8gZG93bmNhc3Q8UmVuZGVyQmxvY2s+KGNoaWxkKSA6IG51bGxwdHI7Cit9
CisKK3N0YXRpYyBhdXRvIGNyZWF0ZUFub255bW91c1J1YnlJbmxpbmVCbG9jayhSZW5kZXJPYmpl
Y3QmIHJ1YnkpCit7CisgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZVJlbmRlcmVyPFJlbmRlckJs
b2NrRmxvdz4ocnVieS5kb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5
bGVXaXRoRGlzcGxheShydWJ5LnN0eWxlKCksIElOTElORV9CTE9DSykpOworICAgIG5ld0Jsb2Nr
LT5pbml0aWFsaXplU3R5bGUoKTsKKyAgICByZXR1cm4gbmV3QmxvY2s7Cit9CisKK3N0YXRpYyBS
ZW5kZXJSdWJ5UnVuKiBsYXN0UnVieVJ1bihjb25zdCBSZW5kZXJFbGVtZW50KiBydWJ5KQorewor
ICAgIFJlbmRlck9iamVjdCogY2hpbGQgPSBydWJ5LT5sYXN0Q2hpbGQoKTsKKyAgICBpZiAoY2hp
bGQgJiYgIWlzPFJlbmRlclJ1YnlSdW4+KCpjaGlsZCkpCisgICAgICAgIGNoaWxkID0gY2hpbGQt
PnByZXZpb3VzU2libGluZygpOworICAgIGlmICghaXM8UmVuZGVyUnVieVJ1bj4oY2hpbGQpKSB7
CisgICAgICAgIEFTU0VSVCghY2hpbGQgfHwgY2hpbGQtPmlzQmVmb3JlQ29udGVudCgpIHx8IGNo
aWxkID09IHJ1YnlCZWZvcmVCbG9jayhydWJ5KSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyUnVieVJ1bj4oY2hpbGQpOworfQorCiBS
ZW5kZXJUcmVlQnVpbGRlcjo6UnVieTo6UnVieShSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlcikK
ICAgICA6IG1fYnVpbGRlcihidWlsZGVyKQogewpAQCAtODIsNSArMTU2LDY4IEBAIHZvaWQgUmVu
ZGVyVHJlZUJ1aWxkZXI6OlJ1Ynk6Omluc2VydENoaWxkKFJlbmRlclJ1YnlSdW4mIHBhcmVudCwg
UmVuZGVyUHRyPFJlbmRlCiAgICAgbV9idWlsZGVyLmluc2VydENoaWxkKCpwYXJlbnQucnVieUJh
c2VTYWZlKCksIFdURk1vdmUoY2hpbGQpLCBiZWZvcmVDaGlsZCk7CiB9CiAKK1JlbmRlckVsZW1l
bnQmIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5OjpmaW5kT3JDcmVhdGVQYXJlbnRGb3JDaGlsZChS
ZW5kZXJSdWJ5QXNCbG9jayYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5k
ZXJPYmplY3QqJiBiZWZvcmVDaGlsZCkKK3sKKyAgICAvLyBJbnNlcnQgOmJlZm9yZSBhbmQgOmFm
dGVyIGNvbnRlbnQgYmVmb3JlL2FmdGVyIHRoZSBSZW5kZXJSdWJ5UnVuKHMpCisgICAgaWYgKGNo
aWxkLmlzQmVmb3JlQ29udGVudCgpKSB7CisgICAgICAgIC8vIEFkZCBnZW5lcmF0ZWQgaW5saW5l
IGNvbnRlbnQgbm9ybWFsbHkKKyAgICAgICAgaWYgKGNoaWxkLmlzSW5saW5lKCkpCisgICAgICAg
ICAgICByZXR1cm4gcGFyZW50OworICAgICAgICAvLyBXcmFwIG5vbi1pbmxpbmUgY29udGVudCBp
biBhbiBhbm9ueW1vdXMgaW5saW5lLWJsb2NrLgorICAgICAgICBhdXRvKiBiZWZvcmVCbG9jayA9
IHJ1YnlCZWZvcmVCbG9jaygmcGFyZW50KTsKKyAgICAgICAgaWYgKCFiZWZvcmVCbG9jaykgewor
ICAgICAgICAgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZUFub255bW91c1J1YnlJbmxpbmVCbG9j
ayhwYXJlbnQpOworICAgICAgICAgICAgYmVmb3JlQmxvY2sgPSBuZXdCbG9jay5nZXQoKTsKKyAg
ICAgICAgICAgIHBhcmVudC5SZW5kZXJCbG9ja0Zsb3c6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RG
TW92ZShuZXdCbG9jayksIHBhcmVudC5maXJzdENoaWxkKCkpOworICAgICAgICB9CisgICAgICAg
IGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuICpiZWZvcmVCbG9jazsKKyAg
ICB9CisKKyAgICBpZiAoY2hpbGQuaXNBZnRlckNvbnRlbnQoKSkgeworICAgICAgICAvLyBBZGQg
Z2VuZXJhdGVkIGlubGluZSBjb250ZW50IG5vcm1hbGx5CisgICAgICAgIGlmIChjaGlsZC5pc0lu
bGluZSgpKQorICAgICAgICAgICAgcmV0dXJuIHBhcmVudDsKKyAgICAgICAgLy8gV3JhcCBub24t
aW5saW5lIGNvbnRlbnQgd2l0aCBhbiBhbm9ueW1vdXMgaW5saW5lLWJsb2NrLgorICAgICAgICBh
dXRvKiBhZnRlckJsb2NrID0gcnVieUFmdGVyQmxvY2soJnBhcmVudCk7CisgICAgICAgIGlmICgh
YWZ0ZXJCbG9jaykgeworICAgICAgICAgICAgYXV0byBuZXdCbG9jayA9IGNyZWF0ZUFub255bW91
c1J1YnlJbmxpbmVCbG9jayhwYXJlbnQpOworICAgICAgICAgICAgYWZ0ZXJCbG9jayA9IG5ld0Js
b2NrLmdldCgpOworICAgICAgICAgICAgcGFyZW50LlJlbmRlckJsb2NrRmxvdzo6YWRkQ2hpbGQo
bV9idWlsZGVyLCBXVEZNb3ZlKG5ld0Jsb2NrKSk7CisgICAgICAgIH0KKyAgICAgICAgYmVmb3Jl
Q2hpbGQgPSBudWxscHRyOworICAgICAgICByZXR1cm4gKmFmdGVyQmxvY2s7CisgICAgfQorCisg
ICAgLy8gSWYgdGhlIGNoaWxkIGlzIGEgcnVieSBydW4sIGp1c3QgYWRkIGl0IG5vcm1hbGx5Lgor
ICAgIGlmIChjaGlsZC5pc1J1YnlSdW4oKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudDsKKworICAg
IGlmIChiZWZvcmVDaGlsZCAmJiAhcGFyZW50LmlzQWZ0ZXJDb250ZW50KGJlZm9yZUNoaWxkKSkg
eworICAgICAgICAvLyBpbnNlcnQgY2hpbGQgaW50byBydW4KKyAgICAgICAgQVNTRVJUKCFiZWZv
cmVDaGlsZC0+aXNSdWJ5UnVuKCkpOworICAgICAgICBhdXRvKiBydW4gPSBiZWZvcmVDaGlsZC0+
cGFyZW50KCk7CisgICAgICAgIHdoaWxlIChydW4gJiYgIXJ1bi0+aXNSdWJ5UnVuKCkpCisgICAg
ICAgICAgICBydW4gPSBydW4tPnBhcmVudCgpOworICAgICAgICBpZiAocnVuKQorICAgICAgICAg
ICAgcmV0dXJuICpydW47CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBiZWZvcmVD
aGlsZCBzaG91bGQgYWx3YXlzIGhhdmUgYSBydW4gYXMgcGFyZW50IQorICAgICAgICAvLyBFbWVy
Z2VuY3kgZmFsbGJhY2s6IGZhbGwgdGhyb3VnaCBhbmQganVzdCBhcHBlbmQuCisgICAgfQorCisg
ICAgLy8gSWYgdGhlIG5ldyBjaGlsZCB3b3VsZCBiZSBhcHBlbmRlZCwgdHJ5IHRvIGFkZCB0aGUg
Y2hpbGQgdG8gdGhlIHByZXZpb3VzIHJ1bgorICAgIC8vIGlmIHBvc3NpYmxlLCBvciBjcmVhdGUg
YSBuZXcgcnVuIG90aGVyd2lzZS4KKyAgICAvLyAoVGhlIFJlbmRlclJ1YnlSdW4gb2JqZWN0IHdp
bGwgaGFuZGxlIHRoZSBkZXRhaWxzKQorICAgIGF1dG8qIGxhc3RSdW4gPSBsYXN0UnVieVJ1bigm
cGFyZW50KTsKKyAgICBpZiAoIWxhc3RSdW4gfHwgbGFzdFJ1bi0+aGFzUnVieVRleHQoKSkgewor
ICAgICAgICBhdXRvIG5ld1J1biA9IFJlbmRlclJ1YnlSdW46OnN0YXRpY0NyZWF0ZVJ1YnlSdW4o
JnBhcmVudCk7CisgICAgICAgIGxhc3RSdW4gPSBuZXdSdW4uZ2V0KCk7CisgICAgICAgIHBhcmVu
dC5SZW5kZXJCbG9ja0Zsb3c6OmFkZENoaWxkKG1fYnVpbGRlciwgV1RGTW92ZShuZXdSdW4pLCBi
ZWZvcmVDaGlsZCk7CisgICAgfQorICAgIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKKyAgICByZXR1
cm4gKmxhc3RSdW47Cit9CisKKwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmgKaW5kZXggZDA5YTA3MWM2
NTAwYWIzYzgxYjVkOGY1NDUxZTczZWYxMjU3ODNjZi4uZDllZWQ5YjNiZmFkYThhYzMxZThlMWRm
MjkwYjI1ZWMzZGFhOWIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuaApAQCAtMjksNyArMjksOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CitjbGFzcyBSZW5kZXJSdWJ5QXNCbG9jazsKIGNsYXNzIFJlbmRlclJ1YnlSdW47
CiBjbGFzcyBSZW5kZXJUcmVlQnVpbGRlcjsKIApAQCAtMzgsNiArNDAsNyBAQCBwdWJsaWM6CiAg
ICAgUnVieShSZW5kZXJUcmVlQnVpbGRlciYpOwogCiAgICAgdm9pZCBpbnNlcnRDaGlsZChSZW5k
ZXJSdWJ5UnVuJiBwYXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJP
YmplY3QqIGJlZm9yZUNoaWxkKTsKKyAgICBSZW5kZXJFbGVtZW50JiBmaW5kT3JDcmVhdGVQYXJl
bnRGb3JDaGlsZChSZW5kZXJSdWJ5QXNCbG9jayYgcGFyZW50LCBjb25zdCBSZW5kZXJPYmplY3Qm
IGNoaWxkLCBSZW5kZXJPYmplY3QqJiBiZWZvcmVDaGlsZCk7CiAKIHByaXZhdGU6CiAgICAgUmVu
ZGVyVHJlZUJ1aWxkZXImIG1fYnVpbGRlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>