<?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>182885</bug_id>
          
          <creation_ts>2018-02-16 13:50:55 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderElement::insertChildInternal() to RenderTreeBuilder</short_desc>
          <delta_ts>2018-02-16 16:05:40 -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>1400013</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 13:50:55 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400014</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-16 13:51:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/37617371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400030</commentid>
    <comment_count>2</comment_count>
      <attachid>334068</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 14:08:56 -0800</bug_when>
    <thetext>Created attachment 334068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400042</commentid>
    <comment_count>3</comment_count>
      <attachid>334074</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 14:46:34 -0800</bug_when>
    <thetext>Created attachment 334074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400068</commentid>
    <comment_count>4</comment_count>
      <attachid>334074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 15:24:32 -0800</bug_when>
    <thetext>Comment on attachment 334074
Patch

Rejecting attachment 334074 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 334074, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/6543501</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400071</commentid>
    <comment_count>5</comment_count>
      <attachid>334079</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-02-16 15:29:11 -0800</bug_when>
    <thetext>Created attachment 334079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400089</commentid>
    <comment_count>6</comment_count>
      <attachid>334079</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 16:05:38 -0800</bug_when>
    <thetext>Comment on attachment 334079
Patch

Clearing flags on attachment: 334079

Committed r228588: &lt;https://trac.webkit.org/changeset/228588&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400090</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 16:05:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334068</attachid>
            <date>2018-02-16 14:08:56 -0800</date>
            <delta_ts>2018-02-16 14:17:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182885-20180216140855.patch</filename>
            <type>text/plain</type>
            <size>7149</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIxMzYzNTVjZGM2MWVh
NjNkZDU4ZGYzNjBlZTVhMDhiM2I1ZWM2MC4uNjkyZWNhOWE5N2VhZmU2ODU0MGYxNmZkODIwZjY0
ODgxNTgzYzUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoKSB0byBSZW5kZXJUcmVl
QnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgyODg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzYxNzM3MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50KToKKwogMjAxOC0wMi0xNiAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVp
bGRlcl0gTW92ZSBSZW5kZXJCbG9jay9SZW5kZXJJbmxpbmU6OmFkZENoaWxkSWdub3JpbmdDb250
aW51YXRpb24oKSB0byBSZW5kZXJUcmVlQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDEwMjEwMDhiMzhlNTBjZTg1M2QzZWJiOTFkZDNiMTIy
NDRiNGE4NDUuLjkzODJjNDM4ZTcxNDgxMGU2YjU1NDExYmRjNGQ2ZmRhZjQzY2EzNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTUzMiw0MyArNTMy
LDYgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyRWxlbWVudDo6ZGV0YWNoUmVuZGVy
ZXJJbnRlcm5hbChSZW5kZXJPYmplY3QmIHJlbmQKICAgICByZXR1cm4gUmVuZGVyUHRyPFJlbmRl
ck9iamVjdD4oJnJlbmRlcmVyKTsKIH0KIAotdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRDaGls
ZEludGVybmFsKFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IG5ld0NoaWxkUHRyLCBSZW5kZXJPYmpl
Y3QqIGJlZm9yZUNoaWxkKQotewotICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FHRSghdmll
dygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLCAiTGF5b3V0IG11
c3Qgbm90IG11dGF0ZSByZW5kZXIgdHJlZSIpOwotCi0gICAgQVNTRVJUKGNhbkhhdmVDaGlsZHJl
bigpIHx8IGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKTsKLSAgICBBU1NFUlQoIW5ld0NoaWxk
UHRyLT5wYXJlbnQoKSk7Ci0gICAgQVNTRVJUKCFpc1JlbmRlckJsb2NrRmxvdygpIHx8ICghbmV3
Q2hpbGRQdHItPmlzVGFibGVTZWN0aW9uKCkgJiYgIW5ld0NoaWxkUHRyLT5pc1RhYmxlUm93KCkg
JiYgIW5ld0NoaWxkUHRyLT5pc1RhYmxlQ2VsbCgpKSk7Ci0KLSAgICB3aGlsZSAoYmVmb3JlQ2hp
bGQgJiYgYmVmb3JlQ2hpbGQtPnBhcmVudCgpICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAhPSB0
aGlzKQotICAgICAgICBiZWZvcmVDaGlsZCA9IGJlZm9yZUNoaWxkLT5wYXJlbnQoKTsKLQotICAg
IEFTU0VSVCghYmVmb3JlQ2hpbGQgfHwgYmVmb3JlQ2hpbGQtPnBhcmVudCgpID09IHRoaXMpOwot
ICAgIEFTU0VSVCghaXM8UmVuZGVyVGV4dD4oYmVmb3JlQ2hpbGQpIHx8ICFkb3duY2FzdDxSZW5k
ZXJUZXh0PigqYmVmb3JlQ2hpbGQpLmlubGluZVdyYXBwZXJGb3JEaXNwbGF5Q29udGVudHMoKSk7
Ci0KLSAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCi0gICAgYXV0byogbmV3Q2hpbGQgPSBhdHRh
Y2hSZW5kZXJlckludGVybmFsKFdURk1vdmUobmV3Q2hpbGRQdHIpLCBiZWZvcmVDaGlsZCk7Ci0K
LSAgICBuZXdDaGlsZC0+aW5pdGlhbGl6ZUZyYWdtZW50ZWRGbG93U3RhdGVPbkluc2VydGlvbigp
OwotICAgIGlmICghcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpIHsKLSAgICAgICAgbmV3Q2hp
bGQtPmluc2VydGVkSW50b1RyZWUoKTsKLSAgICAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KCpu
ZXdDaGlsZCkpCi0gICAgICAgICAgICBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRh
Y2hlZChkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqbmV3Q2hpbGQpKTsKLSAgICB9Ci0KLSAgICBu
ZXdDaGlsZC0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Ci0gICAgc2V0UHJl
ZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KHRydWUpOwotICAgIGlmICghbm9ybWFsQ2hpbGROZWVk
c0xheW91dCgpKQotICAgICAgICBzZXRDaGlsZE5lZWRzTGF5b3V0KCk7IC8vIFdlIG1heSBzdXBw
bHkgdGhlIHN0YXRpYyBwb3NpdGlvbiBmb3IgYW4gYWJzb2x1dGUgcG9zaXRpb25lZCBjaGlsZC4K
LQotICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGRvY3VtZW50KCkuYXhPYmplY3RDYWNo
ZSgpKQotICAgICAgICBjYWNoZS0+Y2hpbGRyZW5DaGFuZ2VkKHRoaXMsIG5ld0NoaWxkKTsKLSAg
ICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93PigqdGhpcykpCi0gICAgICAgIGRvd25jYXN0PFJlbmRl
ckJsb2NrRmxvdz4oKnRoaXMpLmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgpOwotICAgIGlmICho
YXNPdXRsaW5lQXV0b0FuY2VzdG9yKCkgfHwgb3V0bGluZVN0eWxlRm9yUmVwYWludCgpLm91dGxp
bmVTdHlsZUlzQXV0bygpKQotICAgICAgICBuZXdDaGlsZC0+c2V0SGFzT3V0bGluZUF1dG9BbmNl
c3RvcigpOwotfQotCiBSZW5kZXJCbG9jayogUmVuZGVyRWxlbWVudDo6Y29udGFpbmluZ0Jsb2Nr
Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgYXV0byogcmVuZGVyZXIgPSBwYXJlbnQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA0NzJhNTk0YTI3
MmU2YjVkZTY0OTBjMDdjMWQ5NDE4MjhiM2NiOGEzLi40NGVjMmFlNGU4NTQ1YTE3YTg0MmQ0YTMy
ZTA1YWI3NjVkYWVlMWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CkBAIC03NzgsNiArNzc4LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZVJl
bW92ZWRGcm9tVHJlZSgpOwogICAgIHZvaWQgcmVzZXRGcmFnbWVudGVkRmxvd1N0YXRlT25SZW1v
dmFsKCk7CisgICAgdm9pZCBpbml0aWFsaXplRnJhZ21lbnRlZEZsb3dTdGF0ZU9uSW5zZXJ0aW9u
KCk7CisgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b1RyZWUoKTsKIAogcHJvdGVjdGVkOgog
ICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNzkzLDgg
Kzc5NSw2IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQo
UmVuZGVyVHJlZUJ1aWxkZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9UcmVl
KCk7Ci0KICAgICB2b2lkIHNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0Qml0KGJvb2wg
YikgeyBtX2JpdGZpZWxkcy5zZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dChiKTsgfQog
ICAgIHZvaWQgc2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dEJpdChib29sIGIpIHsgbV9iaXRmaWVs
ZHMuc2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dChiKTsgfQogICAgIHZvaWQgc2V0UG9zQ2hpbGRO
ZWVkc0xheW91dEJpdChib29sIGIpIHsgbV9iaXRmaWVsZHMuc2V0UG9zQ2hpbGROZWVkc0xheW91
dChiKTsgfQpAQCAtODAzLDcgKzgwMyw2IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIFJlbmRl
ckZyYWdtZW50ZWRGbG93KiBsb2NhdGVFbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0Owog
ICAgIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUJvcmRlclN0eWxlQ29sb3IoY29uc3QgRUJvcmRlclN0
eWxlJiwgY29uc3QgQm94U2lkZSYsIENvbG9yJik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVGcmFn
bWVudGVkRmxvd1N0YXRlT25JbnNlcnRpb24oKTsKICAgICBzdGF0aWMgRnJhZ21lbnRlZEZsb3dT
dGF0ZSBjb21wdXRlZEZyYWdtZW50ZWRGbG93U3RhdGUoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVCdWlsZGVyLmNwcAppbmRleCAzMjlhOGVhNTRmZjhiZjQ1YWQ0YWViN2E5NTgy
NTVmOTc3ZDUyOWU1Li40NWFlM2QzYWU0ZDcyYWVjN2EwOTIxYWFhMTMxNWM3YWEyZTkwMjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlci5jcHAKQEAgLTMzNSw5ICszMzUsNDAgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRl
cjo6aW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5k
ZXIKICAgICAgICAgaW5zZXJ0Q2hpbGQoKnRhYmxlLCBXVEZNb3ZlKGNoaWxkKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0gICAgYXV0byYgbmV3Q2hpbGQgPSAqY2hpbGQuZ2V0KCk7Ci0gICAg
cGFyZW50Lmluc2VydENoaWxkSW50ZXJuYWwoV1RGTW92ZShjaGlsZCksIGJlZm9yZUNoaWxkKTsK
LSAgICBwYXJlbnQuZGlkSW5zZXJ0Q2hpbGQobmV3Q2hpbGQsIGJlZm9yZUNoaWxkKTsKKyAgICBS
RUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UoIXBhcmVudC52aWV3KCkuZnJhbWVWaWV3KCkubGF5
b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCksICJMYXlvdXQgbXVzdCBub3QgbXV0YXRlIHJlbmRl
ciB0cmVlIik7CisgICAgQVNTRVJUKHBhcmVudC5jYW5IYXZlQ2hpbGRyZW4oKSB8fCBwYXJlbnQu
Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkpOworICAgIEFTU0VSVCghY2hpbGQtPnBhcmVudCgp
KTsKKyAgICBBU1NFUlQoIXBhcmVudC5pc1JlbmRlckJsb2NrRmxvdygpIHx8ICghY2hpbGQtPmlz
VGFibGVTZWN0aW9uKCkgJiYgIWNoaWxkLT5pc1RhYmxlUm93KCkgJiYgIWNoaWxkLT5pc1RhYmxl
Q2VsbCgpKSk7CisKKyAgICB3aGlsZSAoYmVmb3JlQ2hpbGQgJiYgYmVmb3JlQ2hpbGQtPnBhcmVu
dCgpICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAhPSAmcGFyZW50KQorICAgICAgICBiZWZvcmVD
aGlsZCA9IGJlZm9yZUNoaWxkLT5wYXJlbnQoKTsKKworICAgIEFTU0VSVCghYmVmb3JlQ2hpbGQg
fHwgYmVmb3JlQ2hpbGQtPnBhcmVudCgpID09ICZwYXJlbnQpOworICAgIEFTU0VSVCghaXM8UmVu
ZGVyVGV4dD4oYmVmb3JlQ2hpbGQpIHx8ICFkb3duY2FzdDxSZW5kZXJUZXh0PigqYmVmb3JlQ2hp
bGQpLmlubGluZVdyYXBwZXJGb3JEaXNwbGF5Q29udGVudHMoKSk7CisKKyAgICAvLyBUYWtlIHRo
ZSBvd25lcnNoaXAuCisgICAgYXV0byogbmV3Q2hpbGQgPSBwYXJlbnQuYXR0YWNoUmVuZGVyZXJJ
bnRlcm5hbChXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworCisgICAgbmV3Q2hpbGQtPmlu
aXRpYWxpemVGcmFnbWVudGVkRmxvd1N0YXRlT25JbnNlcnRpb24oKTsKKyAgICBpZiAoIXBhcmVu
dC5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkgeworICAgICAgICBuZXdDaGlsZC0+aW5zZXJ0
ZWRJbnRvVHJlZSgpOworICAgICAgICBpZiAoaXM8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSkK
KyAgICAgICAgICAgIFJlbmRlckNvdW50ZXI6OnJlbmRlcmVyU3VidHJlZUF0dGFjaGVkKGRvd25j
YXN0PFJlbmRlckVsZW1lbnQ+KCpuZXdDaGlsZCkpOworICAgIH0KKworICAgIG5ld0NoaWxkLT5z
ZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKKyAgICBwYXJlbnQuc2V0UHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KHRydWUpOworICAgIGlmICghbm9ybWFsQ2hpbGROZWVkc0xh
eW91dCgpKQorICAgICAgICBwYXJlbnQuc2V0Q2hpbGROZWVkc0xheW91dCgpOyAvLyBXZSBtYXkg
c3VwcGx5IHRoZSBzdGF0aWMgcG9zaXRpb24gZm9yIGFuIGFic29sdXRlIHBvc2l0aW9uZWQgY2hp
bGQuCisKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBwYXJlbnQuZG9jdW1lbnQoKS5h
eE9iamVjdENhY2hlKCkpCisgICAgICAgIGNhY2hlLT5jaGlsZHJlbkNoYW5nZWQoJnBhcmVudCwg
bmV3Q2hpbGQpOworICAgIGlmIChpczxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCkpCisgICAgICAg
IGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocGFyZW50KS5pbnZhbGlkYXRlTGluZUxheW91dFBh
dGgoKTsKKyAgICBpZiAocGFyZW50Lmhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSB8fCBwYXJlbnQu
b3V0bGluZVN0eWxlRm9yUmVwYWludCgpLm91dGxpbmVTdHlsZUlzQXV0bygpKQorICAgICAgICBu
ZXdDaGlsZC0+c2V0SGFzT3V0bGluZUF1dG9BbmNlc3RvcigpOworCisgICAgcGFyZW50LmRpZElu
c2VydENoaWxkKCpuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwogfQogCiB2b2lkIFJlbmRlclRyZWVC
dWlsZGVyOjptYWtlQ2hpbGRyZW5Ob25JbmxpbmUoUmVuZGVyQmxvY2smIHBhcmVudCwgUmVuZGVy
T2JqZWN0KiBpbnNlcnRpb25Qb2ludCkK
</data>
<flag name="review"
          id="352871"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334074</attachid>
            <date>2018-02-16 14:46:34 -0800</date>
            <delta_ts>2018-02-16 15:29:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182885-20180216144633.patch</filename>
            <type>text/plain</type>
            <size>15998</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIxMzYzNTVjZGM2MWVh
NjNkZDU4ZGYzNjBlZTVhMDhiM2I1ZWM2MC4uNjkyZWNhOWE5N2VhZmU2ODU0MGYxNmZkODIwZjY0
ODgxNTgzYzUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoKSB0byBSZW5kZXJUcmVl
QnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgyODg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzYxNzM3MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50KToKKwogMjAxOC0wMi0xNiAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVp
bGRlcl0gTW92ZSBSZW5kZXJCbG9jay9SZW5kZXJJbmxpbmU6OmFkZENoaWxkSWdub3JpbmdDb250
aW51YXRpb24oKSB0byBSZW5kZXJUcmVlQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYjQwYmJmZDc0ZjJjMmNjNzc3
NTJiNjM5ZGYzMTQ2ODgyNzUwOTBjOC4uNmNmOTQwNWU2YjQ0YWUzMmExMmNhMTMyZDQ3ZDU0YTcw
ZDlhN2I2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCkBAIC0yNzAwLDcgKzI3MDAsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2Jq
ZWN0Ojptb3ZlQ2hpbGRUbyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyQm94TW9k
ZQogICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCp0b0JveE1vZGVsT2JqZWN0LCBXVEZNb3Zl
KGNoaWxkVG9Nb3ZlKSwgYmVmb3JlQ2hpbGQpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGF1dG8g
Y2hpbGRUb01vdmUgPSBidWlsZGVyLnRha2VDaGlsZEZyb21SZW5kZXJFbGVtZW50KCp0aGlzLCAq
Y2hpbGQpOwotICAgICAgICB0b0JveE1vZGVsT2JqZWN0LT5pbnNlcnRDaGlsZEludGVybmFsKFdU
Rk1vdmUoY2hpbGRUb01vdmUpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIGJ1aWxkZXIuaW5zZXJ0
Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqdG9Cb3hNb2RlbE9iamVjdCwgV1RGTW92ZShj
aGlsZFRvTW92ZSksIGJlZm9yZUNoaWxkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCAxMDIxMDA4YjM4ZTUwY2U4NTNkM2ViYjkx
ZGQzYjEyMjQ0YjRhODQ1Li45MzgyYzQzOGU3MTQ4MTBlNmI1NTQxMWJkYzRkNmZkYWY0M2NhMzZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC01MzIs
NDMgKzUzMiw2IEBAIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlckVsZW1lbnQ6OmRldGFj
aFJlbmRlcmVySW50ZXJuYWwoUmVuZGVyT2JqZWN0JiByZW5kCiAgICAgcmV0dXJuIFJlbmRlclB0
cjxSZW5kZXJPYmplY3Q+KCZyZW5kZXJlcik7CiB9CiAKLXZvaWQgUmVuZGVyRWxlbWVudDo6aW5z
ZXJ0Q2hpbGRJbnRlcm5hbChSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGlsZFB0ciwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKLXsKLSAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NB
R0UoIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKSwgIkxh
eW91dCBtdXN0IG5vdCBtdXRhdGUgcmVuZGVyIHRyZWUiKTsKLQotICAgIEFTU0VSVChjYW5IYXZl
Q2hpbGRyZW4oKSB8fCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSk7Ci0gICAgQVNTRVJUKCFu
ZXdDaGlsZFB0ci0+cGFyZW50KCkpOwotICAgIEFTU0VSVCghaXNSZW5kZXJCbG9ja0Zsb3coKSB8
fCAoIW5ld0NoaWxkUHRyLT5pc1RhYmxlU2VjdGlvbigpICYmICFuZXdDaGlsZFB0ci0+aXNUYWJs
ZVJvdygpICYmICFuZXdDaGlsZFB0ci0+aXNUYWJsZUNlbGwoKSkpOwotCi0gICAgd2hpbGUgKGJl
Zm9yZUNoaWxkICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAmJiBiZWZvcmVDaGlsZC0+cGFyZW50
KCkgIT0gdGhpcykKLSAgICAgICAgYmVmb3JlQ2hpbGQgPSBiZWZvcmVDaGlsZC0+cGFyZW50KCk7
Ci0KLSAgICBBU1NFUlQoIWJlZm9yZUNoaWxkIHx8IGJlZm9yZUNoaWxkLT5wYXJlbnQoKSA9PSB0
aGlzKTsKLSAgICBBU1NFUlQoIWlzPFJlbmRlclRleHQ+KGJlZm9yZUNoaWxkKSB8fCAhZG93bmNh
c3Q8UmVuZGVyVGV4dD4oKmJlZm9yZUNoaWxkKS5pbmxpbmVXcmFwcGVyRm9yRGlzcGxheUNvbnRl
bnRzKCkpOwotCi0gICAgLy8gVGFrZSB0aGUgb3duZXJzaGlwLgotICAgIGF1dG8qIG5ld0NoaWxk
ID0gYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKG5ld0NoaWxkUHRyKSwgYmVmb3JlQ2hp
bGQpOwotCi0gICAgbmV3Q2hpbGQtPmluaXRpYWxpemVGcmFnbWVudGVkRmxvd1N0YXRlT25JbnNl
cnRpb24oKTsKLSAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7Ci0gICAgICAg
IG5ld0NoaWxkLT5pbnNlcnRlZEludG9UcmVlKCk7Ci0gICAgICAgIGlmIChpczxSZW5kZXJFbGVt
ZW50PigqbmV3Q2hpbGQpKQotICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6cmVuZGVyZXJTdWJ0
cmVlQXR0YWNoZWQoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSk7Ci0gICAgfQot
Ci0gICAgbmV3Q2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwotICAg
IHNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSh0cnVlKTsKLSAgICBpZiAoIW5vcm1hbENo
aWxkTmVlZHNMYXlvdXQoKSkKLSAgICAgICAgc2V0Q2hpbGROZWVkc0xheW91dCgpOyAvLyBXZSBt
YXkgc3VwcGx5IHRoZSBzdGF0aWMgcG9zaXRpb24gZm9yIGFuIGFic29sdXRlIHBvc2l0aW9uZWQg
Y2hpbGQuCi0KLSAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBkb2N1bWVudCgpLmF4T2Jq
ZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPmNoaWxkcmVuQ2hhbmdlZCh0aGlzLCBuZXdDaGls
ZCk7Ci0gICAgaWYgKGlzPFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpKQotICAgICAgICBkb3duY2Fz
dDxSZW5kZXJCbG9ja0Zsb3c+KCp0aGlzKS5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgoKTsKLSAg
ICBpZiAoaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIHx8IG91dGxpbmVTdHlsZUZvclJlcGFpbnQo
KS5vdXRsaW5lU3R5bGVJc0F1dG8oKSkKLSAgICAgICAgbmV3Q2hpbGQtPnNldEhhc091dGxpbmVB
dXRvQW5jZXN0b3IoKTsKLX0KLQogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6OmNvbnRhaW5p
bmdCbG9ja0ZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogewogICAgIGF1dG8qIHJlbmRlcmVyID0g
cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAx
MWE5NmY0ZmU5Zjg3NjAwNTZiNzZhYzIzNjA5NDA3NzU1NzgxN2YwLi45N2Q3ZjI2ZjBmNzhiZWUy
ZDc3ODY0ODNlZmE4NDI0MTNmZDcwNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmgKQEAgLTk4LDggKzk4LDYgQEAgcHVibGljOgogICAgIHZvaWQgbW92ZUxheWVy
cyhSZW5kZXJMYXllciogb2xkUGFyZW50LCBSZW5kZXJMYXllciogbmV3UGFyZW50KTsKICAgICBS
ZW5kZXJMYXllciogZmluZE5leHRMYXllcihSZW5kZXJMYXllciogcGFyZW50TGF5ZXIsIFJlbmRl
ck9iamVjdCogc3RhcnRQb2ludCwgYm9vbCBjaGVja1BhcmVudCA9IHRydWUpOwogCi0gICAgdm9p
ZCBpbnNlcnRDaGlsZEludGVybmFsKFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBSZW5kZXJPYmpl
Y3QqIGJlZm9yZUNoaWxkKTsKLQogICAgIHZpcnR1YWwgUmVuZGVyRWxlbWVudCogaG92ZXJBbmNl
c3RvcigpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIGRpcnR5TGluZXNGcm9tQ2hhbmdlZENo
aWxkKFJlbmRlck9iamVjdCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCmluZGV4IDQ3MmE1OTRhMjcyZTZiNWRlNjQ5MGMwN2MxZDk0MTgyOGIzY2I4YTMuLjQ0ZWMy
YWU0ZTg1NDVhMTdhODQyZDRhMzJlMDVhYjc2NWRhZWUxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc3OCw2ICs3NzgsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiAgICAgdm9pZCByZXNldEZyYWdt
ZW50ZWRGbG93U3RhdGVPblJlbW92YWwoKTsKKyAgICB2b2lkIGluaXRpYWxpemVGcmFnbWVudGVk
Rmxvd1N0YXRlT25JbnNlcnRpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvVHJl
ZSgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vCkBAIC03OTMsOCArNzk1LDYgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVhbCB2
b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpOwogCi0gICAgdmlydHVhbCB2
b2lkIGluc2VydGVkSW50b1RyZWUoKTsKLQogICAgIHZvaWQgc2V0TmVlZHNQb3NpdGlvbmVkTW92
ZW1lbnRMYXlvdXRCaXQoYm9vbCBiKSB7IG1fYml0ZmllbGRzLnNldE5lZWRzUG9zaXRpb25lZE1v
dmVtZW50TGF5b3V0KGIpOyB9CiAgICAgdm9pZCBzZXROb3JtYWxDaGlsZE5lZWRzTGF5b3V0Qml0
KGJvb2wgYikgeyBtX2JpdGZpZWxkcy5zZXROb3JtYWxDaGlsZE5lZWRzTGF5b3V0KGIpOyB9CiAg
ICAgdm9pZCBzZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KGJvb2wgYikgeyBtX2JpdGZpZWxkcy5z
ZXRQb3NDaGlsZE5lZWRzTGF5b3V0KGIpOyB9CkBAIC04MDMsNyArODAzLDYgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGxvY2F0ZUVuY2xvc2luZ0ZyYWdt
ZW50ZWRGbG93KCkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgY2FsY3VsYXRlQm9yZGVyU3R5bGVD
b2xvcihjb25zdCBFQm9yZGVyU3R5bGUmLCBjb25zdCBCb3hTaWRlJiwgQ29sb3ImKTsKIAotICAg
IHZvaWQgaW5pdGlhbGl6ZUZyYWdtZW50ZWRGbG93U3RhdGVPbkluc2VydGlvbigpOwogICAgIHN0
YXRpYyBGcmFnbWVudGVkRmxvd1N0YXRlIGNvbXB1dGVkRnJhZ21lbnRlZEZsb3dTdGF0ZShjb25z
dCBSZW5kZXJPYmplY3QmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDMyOWE4ZWE1
NGZmOGJmNDVhZDRhZWI3YTk1ODI1NWY5NzdkNTI5ZTUuLmNmY2I0MDdlNzgwNzUyODI3MTg0YTBm
ZTlmMmE2MDMyZDY4NGNiYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAtMzM2LDEwICszMzYsNDYgQEAg
dm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnQoUmVuZGVy
RWxlbWVudCYgcGFyZW50LCBSZW5kZXIKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBhdXRv
JiBuZXdDaGlsZCA9ICpjaGlsZC5nZXQoKTsKLSAgICBwYXJlbnQuaW5zZXJ0Q2hpbGRJbnRlcm5h
bChXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgIGluc2VydENoaWxkVG9SZW5kZXJF
bGVtZW50SW50ZXJuYWwocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwogICAg
IHBhcmVudC5kaWRJbnNlcnRDaGlsZChuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwogfQogCit2b2lk
IFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKFJl
bmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRl
ck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdF
KCFwYXJlbnQudmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgp
LCAiTGF5b3V0IG11c3Qgbm90IG11dGF0ZSByZW5kZXIgdHJlZSIpOworICAgIEFTU0VSVChwYXJl
bnQuY2FuSGF2ZUNoaWxkcmVuKCkgfHwgcGFyZW50LmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigp
KTsKKyAgICBBU1NFUlQoIWNoaWxkLT5wYXJlbnQoKSk7CisgICAgQVNTRVJUKCFwYXJlbnQuaXNS
ZW5kZXJCbG9ja0Zsb3coKSB8fCAoIWNoaWxkLT5pc1RhYmxlU2VjdGlvbigpICYmICFjaGlsZC0+
aXNUYWJsZVJvdygpICYmICFjaGlsZC0+aXNUYWJsZUNlbGwoKSkpOworCisgICAgd2hpbGUgKGJl
Zm9yZUNoaWxkICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAmJiBiZWZvcmVDaGlsZC0+cGFyZW50
KCkgIT0gJnBhcmVudCkKKyAgICBiZWZvcmVDaGlsZCA9IGJlZm9yZUNoaWxkLT5wYXJlbnQoKTsK
KworICAgIEFTU0VSVCghYmVmb3JlQ2hpbGQgfHwgYmVmb3JlQ2hpbGQtPnBhcmVudCgpID09ICZw
YXJlbnQpOworICAgIEFTU0VSVCghaXM8UmVuZGVyVGV4dD4oYmVmb3JlQ2hpbGQpIHx8ICFkb3du
Y2FzdDxSZW5kZXJUZXh0PigqYmVmb3JlQ2hpbGQpLmlubGluZVdyYXBwZXJGb3JEaXNwbGF5Q29u
dGVudHMoKSk7CisKKyAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCisgICAgYXV0byogbmV3Q2hp
bGQgPSBwYXJlbnQuYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKGNoaWxkKSwgYmVmb3Jl
Q2hpbGQpOworCisgICAgbmV3Q2hpbGQtPmluaXRpYWxpemVGcmFnbWVudGVkRmxvd1N0YXRlT25J
bnNlcnRpb24oKTsKKyAgICBpZiAoIXBhcmVudC5yZW5kZXJUcmVlQmVpbmdEZXN0cm95ZWQoKSkg
eworICAgICAgICBuZXdDaGlsZC0+aW5zZXJ0ZWRJbnRvVHJlZSgpOworICAgICAgICBpZiAoaXM8
UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSkKKyAgICAgICAgUmVuZGVyQ291bnRlcjo6cmVuZGVy
ZXJTdWJ0cmVlQXR0YWNoZWQoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSk7Cisg
ICAgfQorCisgICAgbmV3Q2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygp
OworICAgIHBhcmVudC5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSk7CisgICAg
aWYgKCFwYXJlbnQubm9ybWFsQ2hpbGROZWVkc0xheW91dCgpKQorICAgIHBhcmVudC5zZXRDaGls
ZE5lZWRzTGF5b3V0KCk7IC8vIFdlIG1heSBzdXBwbHkgdGhlIHN0YXRpYyBwb3NpdGlvbiBmb3Ig
YW4gYWJzb2x1dGUgcG9zaXRpb25lZCBjaGlsZC4KKworICAgIGlmIChBWE9iamVjdENhY2hlKiBj
YWNoZSA9IHBhcmVudC5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkKKyAgICBjYWNoZS0+Y2hp
bGRyZW5DaGFuZ2VkKCZwYXJlbnQsIG5ld0NoaWxkKTsKKyAgICBpZiAoaXM8UmVuZGVyQmxvY2tG
bG93PihwYXJlbnQpKQorICAgIGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocGFyZW50KS5pbnZh
bGlkYXRlTGluZUxheW91dFBhdGgoKTsKKyAgICBpZiAocGFyZW50Lmhhc091dGxpbmVBdXRvQW5j
ZXN0b3IoKSB8fCBwYXJlbnQub3V0bGluZVN0eWxlRm9yUmVwYWludCgpLm91dGxpbmVTdHlsZUlz
QXV0bygpKQorICAgIG5ld0NoaWxkLT5zZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKCk7Cit9CisK
IHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Om1ha2VDaGlsZHJlbk5vbklubGluZShSZW5kZXJCbG9j
ayYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGluc2VydGlvblBvaW50KQogewogICAgIC8vIG1ha2VD
aGlsZHJlbk5vbklubGluZSB0YWtlcyBhIGJsb2NrIHdob3NlIGNoaWxkcmVuIGFyZSAqYWxsKiBp
bmxpbmUgYW5kIGl0CkBAIC0zNzIsNyArNDA4LDcgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
bWFrZUNoaWxkcmVuTm9uSW5saW5lKFJlbmRlckJsb2NrJiBwYXJlbnQsIFJlbmRlck9iamVjdCoK
IAogICAgICAgICBhdXRvIG5ld0Jsb2NrID0gcGFyZW50LmNyZWF0ZUFub255bW91c0Jsb2NrKCk7
CiAgICAgICAgIGF1dG8mIGJsb2NrID0gKm5ld0Jsb2NrOwotICAgICAgICBwYXJlbnQuaW5zZXJ0
Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKG5ld0Jsb2NrKSwgaW5saW5lUnVuU3RhcnQpOworICAgICAg
ICBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKHBhcmVudCwgV1RGTW92ZShuZXdC
bG9jayksIGlubGluZVJ1blN0YXJ0KTsKICAgICAgICAgcGFyZW50Lm1vdmVDaGlsZHJlblRvKCp0
aGlzLCAmYmxvY2ssIGlubGluZVJ1blN0YXJ0LCBjaGlsZCwgUmVuZGVyQm94TW9kZWxPYmplY3Q6
Ok5vcm1hbGl6ZUFmdGVySW5zZXJ0aW9uOjpObyk7CiAgICAgfQogI2lmbmRlZiBOREVCVUcKQEAg
LTQwMSw3ICs0MzcsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWlsZGVyOjpzcGxpdEFu
b255bW91c0JveGVzQXJvdW5kQ2hpbGQoUmVuZGVyQm94JiBwYXJlbgogICAgICAgICAgICAgLy8g
c28gdGhhdCB0aGUgdGFibGUgcmVwYWludGluZyBsb2dpYyBrbm93cyB0aGUgc3RydWN0dXJlIGlz
IGRpcnR5LgogICAgICAgICAgICAgLy8gU2VlIGZvciBleGFtcGxlIFJlbmRlclRhYmxlQ2VsbDpj
bGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludC4KICAgICAgICAgICAgIG1hcmtCb3hGb3JSZWxh
eW91dEFmdGVyU3BsaXQoKnBhcmVudEJveCk7Ci0gICAgICAgICAgICBwYXJlbnRCb3gtPmluc2Vy
dENoaWxkSW50ZXJuYWwoV1RGTW92ZShuZXdQb3N0Qm94KSwgYm94VG9TcGxpdC5uZXh0U2libGlu
ZygpKTsKKyAgICAgICAgICAgIGluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoKnBh
cmVudEJveCwgV1RGTW92ZShuZXdQb3N0Qm94KSwgYm94VG9TcGxpdC5uZXh0U2libGluZygpKTsK
ICAgICAgICAgICAgIGJveFRvU3BsaXQubW92ZUNoaWxkcmVuVG8oKnRoaXMsICZwb3N0Qm94LCBi
ZWZvcmVDaGlsZCwgbnVsbHB0ciwgUmVuZGVyQm94TW9kZWxPYmplY3Q6Ok5vcm1hbGl6ZUFmdGVy
SW5zZXJ0aW9uOjpZZXMpOwogCiAgICAgICAgICAgICBtYXJrQm94Rm9yUmVsYXlvdXRBZnRlclNw
bGl0KGJveFRvU3BsaXQpOwpAQCAtNDMxLDkgKzQ2Nyw5IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxk
ZXI6OmNoaWxkRmxvd1N0YXRlQ2hhbmdlc0FuZEFmZmVjdHNQYXJlbnRCbG9jayhSZW5kZXJFbGVt
ZW50CiAgICAgICAgIC8vIEFuIGFub255bW91cyBibG9jayBtdXN0IGJlIG1hZGUgdG8gd3JhcCB0
aGlzIGlubGluZS4KICAgICAgICAgYXV0byBuZXdCbG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2Nr
PigqcGFyZW50KS5jcmVhdGVBbm9ueW1vdXNCbG9jaygpOwogICAgICAgICBhdXRvJiBibG9jayA9
ICpuZXdCbG9jazsKLSAgICAgICAgcGFyZW50LT5pbnNlcnRDaGlsZEludGVybmFsKFdURk1vdmUo
bmV3QmxvY2spLCAmY2hpbGQpOworICAgICAgICBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudElu
dGVybmFsKCpwYXJlbnQsIFdURk1vdmUobmV3QmxvY2spLCAmY2hpbGQpOwogICAgICAgICBhdXRv
IHRoaXNUb01vdmUgPSB0YWtlQ2hpbGRGcm9tUmVuZGVyRWxlbWVudCgqcGFyZW50LCBjaGlsZCk7
Ci0gICAgICAgIGJsb2NrLmluc2VydENoaWxkSW50ZXJuYWwoV1RGTW92ZSh0aGlzVG9Nb3ZlKSwg
bnVsbHB0cik7CisgICAgICAgIGluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoYmxv
Y2ssIFdURk1vdmUodGhpc1RvTW92ZSkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAppbmRleCBlYzUz
ZDc5NjRiODk1ZDYyODc5MDFkNWFjNTZjZDg4YzRiMDJjMmRhLi41NzEyMDE3ODY2ZmIyY2UwYjNh
ZjBhZjkxZDkxMTI1ZDgxZWNmNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtNjUsNiArNjUsNyBAQCBwdWJs
aWM6CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIHRlbXBvcmFyeSB1bnRpbCBhZnRlciBh
bGwgYmxvY2svaW5saW5lL2NvbnRpbnVhdGlvbiBjb2RlIGlzIG1vdmVkIG92ZXIuCiAgICAgUmVu
ZGVyUHRyPFJlbmRlck9iamVjdD4gdGFrZUNoaWxkRnJvbVJlbmRlckVsZW1lbnQoUmVuZGVyRWxl
bWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxkKSBXQVJOX1VOVVNFRF9SRVRVUk47Cisg
ICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKFJlbmRlckVsZW1lbnQm
IHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9iamVjdCogYmVm
b3JlQ2hpbGQgPSBudWxscHRyKTsKIAogICAgIHZvaWQgY2hpbGRGbG93U3RhdGVDaGFuZ2VzQW5k
QWZmZWN0c1BhcmVudEJsb2NrKFJlbmRlckVsZW1lbnQmIGNoaWxkKTsKICAgICB2b2lkIGNoaWxk
Rmxvd1N0YXRlQ2hhbmdlc0FuZE5vTG9uZ2VyQWZmZWN0c1BhcmVudEJsb2NrKFJlbmRlckVsZW1l
bnQmIGNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcAppbmRleCBkMWVjOTQyNjU4ZjQ2MmVk
MmU1YjU0NTA2MzliMTNlY2JjOWMzYzlhLi5kYTllNmZkMDNjODhkNzk0NTM0NDgwMjBkZWFkMTI0
OGQzYTdkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCkBAIC0yOTcsNyArMjk3LDcgQEAg
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2NrOjp0YWtlQ2hp
bGQoUmVuZGVyQmxvY2smIHBhcmVudCwKIAogICAgICAgICAgICAgLy8gTm93IGp1c3QgcHV0IHRo
ZSBpbmxpbmVDaGlsZHJlbkJsb2NrIGluc2lkZSB0aGUgYmxvY2tDaGlsZHJlbkJsb2NrLgogICAg
ICAgICAgICAgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IHByZXYgPT0gJmlubGluZUNoaWxk
cmVuQmxvY2sgPyBibG9ja0NoaWxkcmVuQmxvY2suZmlyc3RDaGlsZCgpIDogbnVsbHB0cjsKLSAg
ICAgICAgICAgIGJsb2NrQ2hpbGRyZW5CbG9jay5pbnNlcnRDaGlsZEludGVybmFsKFdURk1vdmUo
YmxvY2tUb01vdmUpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0
Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChibG9ja0NoaWxkcmVuQmxvY2ssIFdURk1vdmUo
YmxvY2tUb01vdmUpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAgICAgICBuZXh0LT5zZXROZWVkc0xh
eW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKIAogICAgICAgICAgICAgLy8gaW5saW5lQ2hpbGRy
ZW5CbG9jayBnb3QgcmVwYXJlbnRlZCB0byBibG9ja0NoaWxkcmVuQmxvY2ssIHNvIGl0IGlzIG5v
IGxvbmdlciBhIGNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA2MTM0NmFkNjMx
MjY5Y2IwNTM5ZDIyMzhkODdhY2I3MDQwYTUzY2QyLi4yYzVkMjY5ZDQzMWUyOWEwN2ZlNTJiNzcy
NGIxN2QxNWQ0YWJhOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTIyNSw5ICsy
MjUsOSBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0RmxvdyhSZW5kZXJJ
bmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZQogCiAgICAgUmVuZGVyT2JqZWN0KiBib3hG
aXJzdCA9IG1hZGVOZXdCZWZvcmVCbG9jayA/IGJsb2NrLT5maXJzdENoaWxkKCkgOiBwcmUtPm5l
eHRTaWJsaW5nKCk7CiAgICAgaWYgKGNyZWF0ZWRQcmUpCi0gICAgICAgIGJsb2NrLT5pbnNlcnRD
aGlsZEludGVybmFsKFdURk1vdmUoY3JlYXRlZFByZSksIGJveEZpcnN0KTsKLSAgICBibG9jay0+
aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKG5ld0Jsb2NrQm94KSwgYm94Rmlyc3QpOwotICAg
IGJsb2NrLT5pbnNlcnRDaGlsZEludGVybmFsKFdURk1vdmUoY3JlYXRlZFBvc3QpLCBib3hGaXJz
dCk7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFs
KCpibG9jaywgV1RGTW92ZShjcmVhdGVkUHJlKSwgYm94Rmlyc3QpOworICAgIG1fYnVpbGRlci5p
bnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKCpibG9jaywgV1RGTW92ZShuZXdCbG9j
a0JveCksIGJveEZpcnN0KTsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1l
bnRJbnRlcm5hbCgqYmxvY2ssIFdURk1vdmUoY3JlYXRlZFBvc3QpLCBib3hGaXJzdCk7CiAgICAg
YmxvY2stPnNldENoaWxkcmVuSW5saW5lKGZhbHNlKTsKIAogICAgIGlmIChtYWRlTmV3QmVmb3Jl
QmxvY2spIHsKQEAgLTIzNiw3ICsyMzYsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxp
bmU6OnNwbGl0RmxvdyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZQogICAg
ICAgICAgICAgUmVuZGVyT2JqZWN0KiBubyA9IG87CiAgICAgICAgICAgICBvID0gbm8tPm5leHRT
aWJsaW5nKCk7CiAgICAgICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWlsZGVyLnRha2VD
aGlsZEZyb21SZW5kZXJFbGVtZW50KCpibG9jaywgKm5vKTsKLSAgICAgICAgICAgIHByZS0+aW5z
ZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSwgbnVsbHB0cik7CisgICAgICAg
ICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqcHJlLCBX
VEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7CiAgICAgICAgICAgICBuby0+c2V0TmVlZHNMYXlvdXRBbmRQ
cmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjEsMTQgKzM2MSwxNCBA
QCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxp
bmUmIHBhcmVudCwgUmVuZGVyQmxvY2sqCiAgICAgICAgIGNsb25lQmxvY2tDaGlsZC5yZXNldEVu
Y2xvc2luZ0ZyYWdtZW50ZWRGbG93QW5kQ2hpbGRJbmZvSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsK
IAogICAgIC8vIE5vdyB3ZSBhcmUgYXQgdGhlIGJsb2NrIGxldmVsLiBXZSBuZWVkIHRvIHB1dCB0
aGUgY2xvbmUgaW50byB0aGUgdG9CbG9jay4KLSAgICB0b0Jsb2NrLT5pbnNlcnRDaGlsZEludGVy
bmFsKFdURk1vdmUoY2xvbmVJbmxpbmUpLCBudWxscHRyKTsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0
Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqdG9CbG9jaywgV1RGTW92ZShjbG9uZUlubGlu
ZSkpOwogCiAgICAgLy8gTm93IHRha2UgYWxsIHRoZSBjaGlsZHJlbiBhZnRlciBjdXJyZW50Q2hp
bGQgYW5kIHJlbW92ZSB0aGVtIGZyb20gdGhlIGZyb21CbG9jawogICAgIC8vIGFuZCBwdXQgdGhl
bSBpbiB0aGUgdG9CbG9jay4KICAgICBmb3IgKGF1dG8qIGN1cnJlbnQgPSBjdXJyZW50Q2hpbGQt
Pm5leHRTaWJsaW5nKCk7IGN1cnJlbnQ7KSB7CiAgICAgICAgIGF1dG8qIG5leHQgPSBjdXJyZW50
LT5uZXh0U2libGluZygpOwogICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWlsZGVyLnRh
a2VDaGlsZEZyb21SZW5kZXJFbGVtZW50KCpmcm9tQmxvY2ssICpjdXJyZW50KTsKLSAgICAgICAg
dG9CbG9jay0+aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSwgbnVsbHB0
cik7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFs
KCp0b0Jsb2NrLCBXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7CiAgICAgICAgIGN1cnJlbnQgPSBuZXh0
OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggYTU5ZjcwOTg1Mjc5M2EzYzdl
YjFlNTgxNzc4MTIwYmQzZWFlNWUwNC4uNTBjZjQzZTA4MTJiMDQ0ZmZkNWZmZGRhNmE3YTZiZWIw
ZDZjOTA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTEzOSw3ICsxMzksNyBAQCB2b2lk
IFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5Ojptb3ZlSW5saW5lQ2hpbGRyZW4oUmVuZGVyUnVieUJh
c2UmIGZyb20sIFJlbmRlclJ1YgogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGF1dG8gbmV3
VG9CbG9jayA9IHRvLmNyZWF0ZUFub255bW91c0Jsb2NrKCk7CiAgICAgICAgICAgICB0b0Jsb2Nr
ID0gbmV3VG9CbG9jay5nZXQoKTsKLSAgICAgICAgICAgIHRvLmluc2VydENoaWxkSW50ZXJuYWwo
V1RGTW92ZShuZXdUb0Jsb2NrKSwgbnVsbHB0cik7CisgICAgICAgICAgICBtX2J1aWxkZXIuaW5z
ZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCh0bywgV1RGTW92ZShuZXdUb0Jsb2NrKSk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgLy8gTW92ZSBvdXIgaW5saW5lIGNoaWxkcmVuIGludG8g
dGhlIHRhcmdldCBibG9jayB3ZSBkZXRlcm1pbmVkIGFib3ZlLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334079</attachid>
            <date>2018-02-16 15:29:11 -0800</date>
            <delta_ts>2018-02-16 16:05:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182885-20180216152911.patch</filename>
            <type>text/plain</type>
            <size>15950</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkOTQ2MDJhMzljZjFl
NjUyN2YwNmE5Y2U2Y2E4NGRjMjhlZDRmMi4uMmVjYjA3ZjA1YzA5Y2FlOThlNTRjYjdkNDIxZmQ2
ZmM5ODQ3MjQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoKSB0byBSZW5kZXJUcmVl
QnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgyODg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzYxNzM3MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBObyBjaGFuZ2UgaW4gZnVuY3Rpb25h
bGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJlZUJ1aWxkZXI6Omluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50KToKKwogMjAxOC0wMi0xNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvaHR0cC0wLjkveGhyLWJsb2NrZWQuaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYjQwYmJmZDc0
ZjJjMmNjNzc3NTJiNjM5ZGYzMTQ2ODgyNzUwOTBjOC4uNmNmOTQwNWU2YjQ0YWUzMmExMmNhMTMy
ZDQ3ZDU0YTcwZDlhN2I2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0yNzAwLDcgKzI3MDAsNyBAQCB2b2lkIFJlbmRlckJv
eE1vZGVsT2JqZWN0Ojptb3ZlQ2hpbGRUbyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVu
ZGVyQm94TW9kZQogICAgICAgICBidWlsZGVyLmluc2VydENoaWxkKCp0b0JveE1vZGVsT2JqZWN0
LCBXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSwgYmVmb3JlQ2hpbGQpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGF1dG8gY2hpbGRUb01vdmUgPSBidWlsZGVyLnRha2VDaGlsZEZyb21SZW5kZXJFbGVtZW50
KCp0aGlzLCAqY2hpbGQpOwotICAgICAgICB0b0JveE1vZGVsT2JqZWN0LT5pbnNlcnRDaGlsZElu
dGVybmFsKFdURk1vdmUoY2hpbGRUb01vdmUpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgIGJ1aWxk
ZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqdG9Cb3hNb2RlbE9iamVjdCwg
V1RGTW92ZShjaGlsZFRvTW92ZSksIGJlZm9yZUNoaWxkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCAxMDIxMDA4YjM4ZTUwY2U4
NTNkM2ViYjkxZGQzYjEyMjQ0YjRhODQ1Li45MzgyYzQzOGU3MTQ4MTBlNmI1NTQxMWJkYzRkNmZk
YWY0M2NhMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CkBAIC01MzIsNDMgKzUzMiw2IEBAIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlckVsZW1l
bnQ6OmRldGFjaFJlbmRlcmVySW50ZXJuYWwoUmVuZGVyT2JqZWN0JiByZW5kCiAgICAgcmV0dXJu
IFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+KCZyZW5kZXJlcik7CiB9CiAKLXZvaWQgUmVuZGVyRWxl
bWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5hbChSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBuZXdDaGls
ZFB0ciwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKLXsKLSAgICBSRUxFQVNFX0FTU0VSVF9X
SVRIX01FU1NBR0UoIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3Rh
dGUoKSwgIkxheW91dCBtdXN0IG5vdCBtdXRhdGUgcmVuZGVyIHRyZWUiKTsKLQotICAgIEFTU0VS
VChjYW5IYXZlQ2hpbGRyZW4oKSB8fCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSk7Ci0gICAg
QVNTRVJUKCFuZXdDaGlsZFB0ci0+cGFyZW50KCkpOwotICAgIEFTU0VSVCghaXNSZW5kZXJCbG9j
a0Zsb3coKSB8fCAoIW5ld0NoaWxkUHRyLT5pc1RhYmxlU2VjdGlvbigpICYmICFuZXdDaGlsZFB0
ci0+aXNUYWJsZVJvdygpICYmICFuZXdDaGlsZFB0ci0+aXNUYWJsZUNlbGwoKSkpOwotCi0gICAg
d2hpbGUgKGJlZm9yZUNoaWxkICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAmJiBiZWZvcmVDaGls
ZC0+cGFyZW50KCkgIT0gdGhpcykKLSAgICAgICAgYmVmb3JlQ2hpbGQgPSBiZWZvcmVDaGlsZC0+
cGFyZW50KCk7Ci0KLSAgICBBU1NFUlQoIWJlZm9yZUNoaWxkIHx8IGJlZm9yZUNoaWxkLT5wYXJl
bnQoKSA9PSB0aGlzKTsKLSAgICBBU1NFUlQoIWlzPFJlbmRlclRleHQ+KGJlZm9yZUNoaWxkKSB8
fCAhZG93bmNhc3Q8UmVuZGVyVGV4dD4oKmJlZm9yZUNoaWxkKS5pbmxpbmVXcmFwcGVyRm9yRGlz
cGxheUNvbnRlbnRzKCkpOwotCi0gICAgLy8gVGFrZSB0aGUgb3duZXJzaGlwLgotICAgIGF1dG8q
IG5ld0NoaWxkID0gYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKG5ld0NoaWxkUHRyKSwg
YmVmb3JlQ2hpbGQpOwotCi0gICAgbmV3Q2hpbGQtPmluaXRpYWxpemVGcmFnbWVudGVkRmxvd1N0
YXRlT25JbnNlcnRpb24oKTsKLSAgICBpZiAoIXJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKSB7
Ci0gICAgICAgIG5ld0NoaWxkLT5pbnNlcnRlZEludG9UcmVlKCk7Ci0gICAgICAgIGlmIChpczxS
ZW5kZXJFbGVtZW50PigqbmV3Q2hpbGQpKQotICAgICAgICAgICAgUmVuZGVyQ291bnRlcjo6cmVu
ZGVyZXJTdWJ0cmVlQXR0YWNoZWQoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSk7
Ci0gICAgfQotCi0gICAgbmV3Q2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YygpOwotICAgIHNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSh0cnVlKTsKLSAgICBpZiAo
IW5vcm1hbENoaWxkTmVlZHNMYXlvdXQoKSkKLSAgICAgICAgc2V0Q2hpbGROZWVkc0xheW91dCgp
OyAvLyBXZSBtYXkgc3VwcGx5IHRoZSBzdGF0aWMgcG9zaXRpb24gZm9yIGFuIGFic29sdXRlIHBv
c2l0aW9uZWQgY2hpbGQuCi0KLSAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBkb2N1bWVu
dCgpLmF4T2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPmNoaWxkcmVuQ2hhbmdlZCh0aGlz
LCBuZXdDaGlsZCk7Ci0gICAgaWYgKGlzPFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpKQotICAgICAg
ICBkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCp0aGlzKS5pbnZhbGlkYXRlTGluZUxheW91dFBh
dGgoKTsKLSAgICBpZiAoaGFzT3V0bGluZUF1dG9BbmNlc3RvcigpIHx8IG91dGxpbmVTdHlsZUZv
clJlcGFpbnQoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKSkKLSAgICAgICAgbmV3Q2hpbGQtPnNldEhh
c091dGxpbmVBdXRvQW5jZXN0b3IoKTsKLX0KLQogUmVuZGVyQmxvY2sqIFJlbmRlckVsZW1lbnQ6
OmNvbnRhaW5pbmdCbG9ja0ZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogewogICAgIGF1dG8qIHJl
bmRlcmVyID0gcGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aAppbmRleCAxMWE5NmY0ZmU5Zjg3NjAwNTZiNzZhYzIzNjA5NDA3NzU1NzgxN2YwLi45N2Q3ZjI2
ZjBmNzhiZWUyZDc3ODY0ODNlZmE4NDI0MTNmZDcwNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTk4LDggKzk4LDYgQEAgcHVibGljOgogICAgIHZvaWQg
bW92ZUxheWVycyhSZW5kZXJMYXllciogb2xkUGFyZW50LCBSZW5kZXJMYXllciogbmV3UGFyZW50
KTsKICAgICBSZW5kZXJMYXllciogZmluZE5leHRMYXllcihSZW5kZXJMYXllciogcGFyZW50TGF5
ZXIsIFJlbmRlck9iamVjdCogc3RhcnRQb2ludCwgYm9vbCBjaGVja1BhcmVudCA9IHRydWUpOwog
Ci0gICAgdm9pZCBpbnNlcnRDaGlsZEludGVybmFsKFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+LCBS
ZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKTsKLQogICAgIHZpcnR1YWwgUmVuZGVyRWxlbWVudCog
aG92ZXJBbmNlc3RvcigpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIGRpcnR5TGluZXNGcm9t
Q2hhbmdlZENoaWxkKFJlbmRlck9iamVjdCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCmluZGV4IDQ3MmE1OTRhMjcyZTZiNWRlNjQ5MGMwN2MxZDk0MTgyOGIzY2I4
YTMuLjQ0ZWMyYWU0ZTg1NDVhMTdhODQyZDRhMzJlMDVhYjc2NWRhZWUxYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc3OCw2ICs3NzgsOCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiAgICAgdm9pZCBy
ZXNldEZyYWdtZW50ZWRGbG93U3RhdGVPblJlbW92YWwoKTsKKyAgICB2b2lkIGluaXRpYWxpemVG
cmFnbWVudGVkRmxvd1N0YXRlT25JbnNlcnRpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0
ZWRJbnRvVHJlZSgpOwogCiBwcm90ZWN0ZWQ6CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCkBAIC03OTMsOCArNzk1LDYgQEAgcHJvdGVjdGVkOgogCiAgICAg
dmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZChSZW5kZXJUcmVlQnVpbGRlciYpOwogCi0gICAg
dmlydHVhbCB2b2lkIGluc2VydGVkSW50b1RyZWUoKTsKLQogICAgIHZvaWQgc2V0TmVlZHNQb3Np
dGlvbmVkTW92ZW1lbnRMYXlvdXRCaXQoYm9vbCBiKSB7IG1fYml0ZmllbGRzLnNldE5lZWRzUG9z
aXRpb25lZE1vdmVtZW50TGF5b3V0KGIpOyB9CiAgICAgdm9pZCBzZXROb3JtYWxDaGlsZE5lZWRz
TGF5b3V0Qml0KGJvb2wgYikgeyBtX2JpdGZpZWxkcy5zZXROb3JtYWxDaGlsZE5lZWRzTGF5b3V0
KGIpOyB9CiAgICAgdm9pZCBzZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KGJvb2wgYikgeyBtX2Jp
dGZpZWxkcy5zZXRQb3NDaGlsZE5lZWRzTGF5b3V0KGIpOyB9CkBAIC04MDMsNyArODAzLDYgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGxvY2F0ZUVuY2xv
c2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgY2FsY3VsYXRlQm9y
ZGVyU3R5bGVDb2xvcihjb25zdCBFQm9yZGVyU3R5bGUmLCBjb25zdCBCb3hTaWRlJiwgQ29sb3Im
KTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZUZyYWdtZW50ZWRGbG93U3RhdGVPbkluc2VydGlvbigp
OwogICAgIHN0YXRpYyBGcmFnbWVudGVkRmxvd1N0YXRlIGNvbXB1dGVkRnJhZ21lbnRlZEZsb3dT
dGF0ZShjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4
IDMyOWE4ZWE1NGZmOGJmNDVhZDRhZWI3YTk1ODI1NWY5NzdkNTI5ZTUuLmNmY2I0MDdlNzgwNzUy
ODI3MTg0YTBmZTlmMmE2MDMyZDY4NGNiYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcApAQCAtMzM2LDEwICsz
MzYsNDYgQEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1l
bnQoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXIKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBhdXRvJiBuZXdDaGlsZCA9ICpjaGlsZC5nZXQoKTsKLSAgICBwYXJlbnQuaW5zZXJ0Q2hp
bGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOworICAgIGluc2VydENoaWxk
VG9SZW5kZXJFbGVtZW50SW50ZXJuYWwocGFyZW50LCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hp
bGQpOwogICAgIHBhcmVudC5kaWRJbnNlcnRDaGlsZChuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwog
fQogCit2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudElu
dGVybmFsKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lU
SF9NRVNTQUdFKCFwYXJlbnQudmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlv
dXRTdGF0ZSgpLCAiTGF5b3V0IG11c3Qgbm90IG11dGF0ZSByZW5kZXIgdHJlZSIpOworICAgIEFT
U0VSVChwYXJlbnQuY2FuSGF2ZUNoaWxkcmVuKCkgfHwgcGFyZW50LmNhbkhhdmVHZW5lcmF0ZWRD
aGlsZHJlbigpKTsKKyAgICBBU1NFUlQoIWNoaWxkLT5wYXJlbnQoKSk7CisgICAgQVNTRVJUKCFw
YXJlbnQuaXNSZW5kZXJCbG9ja0Zsb3coKSB8fCAoIWNoaWxkLT5pc1RhYmxlU2VjdGlvbigpICYm
ICFjaGlsZC0+aXNUYWJsZVJvdygpICYmICFjaGlsZC0+aXNUYWJsZUNlbGwoKSkpOworCisgICAg
d2hpbGUgKGJlZm9yZUNoaWxkICYmIGJlZm9yZUNoaWxkLT5wYXJlbnQoKSAmJiBiZWZvcmVDaGls
ZC0+cGFyZW50KCkgIT0gJnBhcmVudCkKKyAgICBiZWZvcmVDaGlsZCA9IGJlZm9yZUNoaWxkLT5w
YXJlbnQoKTsKKworICAgIEFTU0VSVCghYmVmb3JlQ2hpbGQgfHwgYmVmb3JlQ2hpbGQtPnBhcmVu
dCgpID09ICZwYXJlbnQpOworICAgIEFTU0VSVCghaXM8UmVuZGVyVGV4dD4oYmVmb3JlQ2hpbGQp
IHx8ICFkb3duY2FzdDxSZW5kZXJUZXh0PigqYmVmb3JlQ2hpbGQpLmlubGluZVdyYXBwZXJGb3JE
aXNwbGF5Q29udGVudHMoKSk7CisKKyAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCisgICAgYXV0
byogbmV3Q2hpbGQgPSBwYXJlbnQuYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKGNoaWxk
KSwgYmVmb3JlQ2hpbGQpOworCisgICAgbmV3Q2hpbGQtPmluaXRpYWxpemVGcmFnbWVudGVkRmxv
d1N0YXRlT25JbnNlcnRpb24oKTsKKyAgICBpZiAoIXBhcmVudC5yZW5kZXJUcmVlQmVpbmdEZXN0
cm95ZWQoKSkgeworICAgICAgICBuZXdDaGlsZC0+aW5zZXJ0ZWRJbnRvVHJlZSgpOworICAgICAg
ICBpZiAoaXM8UmVuZGVyRWxlbWVudD4oKm5ld0NoaWxkKSkKKyAgICAgICAgUmVuZGVyQ291bnRl
cjo6cmVuZGVyZXJTdWJ0cmVlQXR0YWNoZWQoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKm5ld0No
aWxkKSk7CisgICAgfQorCisgICAgbmV3Q2hpbGQtPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRo
c1JlY2FsYygpOworICAgIHBhcmVudC5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1
ZSk7CisgICAgaWYgKCFwYXJlbnQubm9ybWFsQ2hpbGROZWVkc0xheW91dCgpKQorICAgIHBhcmVu
dC5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7IC8vIFdlIG1heSBzdXBwbHkgdGhlIHN0YXRpYyBwb3Np
dGlvbiBmb3IgYW4gYWJzb2x1dGUgcG9zaXRpb25lZCBjaGlsZC4KKworICAgIGlmIChBWE9iamVj
dENhY2hlKiBjYWNoZSA9IHBhcmVudC5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkKKyAgICBj
YWNoZS0+Y2hpbGRyZW5DaGFuZ2VkKCZwYXJlbnQsIG5ld0NoaWxkKTsKKyAgICBpZiAoaXM8UmVu
ZGVyQmxvY2tGbG93PihwYXJlbnQpKQorICAgIGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocGFy
ZW50KS5pbnZhbGlkYXRlTGluZUxheW91dFBhdGgoKTsKKyAgICBpZiAocGFyZW50Lmhhc091dGxp
bmVBdXRvQW5jZXN0b3IoKSB8fCBwYXJlbnQub3V0bGluZVN0eWxlRm9yUmVwYWludCgpLm91dGxp
bmVTdHlsZUlzQXV0bygpKQorICAgIG5ld0NoaWxkLT5zZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9y
KCk7Cit9CisKIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Om1ha2VDaGlsZHJlbk5vbklubGluZShS
ZW5kZXJCbG9jayYgcGFyZW50LCBSZW5kZXJPYmplY3QqIGluc2VydGlvblBvaW50KQogewogICAg
IC8vIG1ha2VDaGlsZHJlbk5vbklubGluZSB0YWtlcyBhIGJsb2NrIHdob3NlIGNoaWxkcmVuIGFy
ZSAqYWxsKiBpbmxpbmUgYW5kIGl0CkBAIC0zNzIsNyArNDA4LDcgQEAgdm9pZCBSZW5kZXJUcmVl
QnVpbGRlcjo6bWFrZUNoaWxkcmVuTm9uSW5saW5lKFJlbmRlckJsb2NrJiBwYXJlbnQsIFJlbmRl
ck9iamVjdCoKIAogICAgICAgICBhdXRvIG5ld0Jsb2NrID0gcGFyZW50LmNyZWF0ZUFub255bW91
c0Jsb2NrKCk7CiAgICAgICAgIGF1dG8mIGJsb2NrID0gKm5ld0Jsb2NrOwotICAgICAgICBwYXJl
bnQuaW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKG5ld0Jsb2NrKSwgaW5saW5lUnVuU3RhcnQp
OworICAgICAgICBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKHBhcmVudCwgV1RG
TW92ZShuZXdCbG9jayksIGlubGluZVJ1blN0YXJ0KTsKICAgICAgICAgcGFyZW50Lm1vdmVDaGls
ZHJlblRvKCp0aGlzLCAmYmxvY2ssIGlubGluZVJ1blN0YXJ0LCBjaGlsZCwgUmVuZGVyQm94TW9k
ZWxPYmplY3Q6Ok5vcm1hbGl6ZUFmdGVySW5zZXJ0aW9uOjpObyk7CiAgICAgfQogI2lmbmRlZiBO
REVCVUcKQEAgLTQwMSw3ICs0MzcsNyBAQCBSZW5kZXJPYmplY3QqIFJlbmRlclRyZWVCdWlsZGVy
OjpzcGxpdEFub255bW91c0JveGVzQXJvdW5kQ2hpbGQoUmVuZGVyQm94JiBwYXJlbgogICAgICAg
ICAgICAgLy8gc28gdGhhdCB0aGUgdGFibGUgcmVwYWludGluZyBsb2dpYyBrbm93cyB0aGUgc3Ry
dWN0dXJlIGlzIGRpcnR5LgogICAgICAgICAgICAgLy8gU2VlIGZvciBleGFtcGxlIFJlbmRlclRh
YmxlQ2VsbDpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludC4KICAgICAgICAgICAgIG1hcmtC
b3hGb3JSZWxheW91dEFmdGVyU3BsaXQoKnBhcmVudEJveCk7Ci0gICAgICAgICAgICBwYXJlbnRC
b3gtPmluc2VydENoaWxkSW50ZXJuYWwoV1RGTW92ZShuZXdQb3N0Qm94KSwgYm94VG9TcGxpdC5u
ZXh0U2libGluZygpKTsKKyAgICAgICAgICAgIGluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50SW50
ZXJuYWwoKnBhcmVudEJveCwgV1RGTW92ZShuZXdQb3N0Qm94KSwgYm94VG9TcGxpdC5uZXh0U2li
bGluZygpKTsKICAgICAgICAgICAgIGJveFRvU3BsaXQubW92ZUNoaWxkcmVuVG8oKnRoaXMsICZw
b3N0Qm94LCBiZWZvcmVDaGlsZCwgbnVsbHB0ciwgUmVuZGVyQm94TW9kZWxPYmplY3Q6Ok5vcm1h
bGl6ZUFmdGVySW5zZXJ0aW9uOjpZZXMpOwogCiAgICAgICAgICAgICBtYXJrQm94Rm9yUmVsYXlv
dXRBZnRlclNwbGl0KGJveFRvU3BsaXQpOwpAQCAtNDMxLDkgKzQ2Nyw5IEBAIHZvaWQgUmVuZGVy
VHJlZUJ1aWxkZXI6OmNoaWxkRmxvd1N0YXRlQ2hhbmdlc0FuZEFmZmVjdHNQYXJlbnRCbG9jayhS
ZW5kZXJFbGVtZW50CiAgICAgICAgIC8vIEFuIGFub255bW91cyBibG9jayBtdXN0IGJlIG1hZGUg
dG8gd3JhcCB0aGlzIGlubGluZS4KICAgICAgICAgYXV0byBuZXdCbG9jayA9IGRvd25jYXN0PFJl
bmRlckJsb2NrPigqcGFyZW50KS5jcmVhdGVBbm9ueW1vdXNCbG9jaygpOwogICAgICAgICBhdXRv
JiBibG9jayA9ICpuZXdCbG9jazsKLSAgICAgICAgcGFyZW50LT5pbnNlcnRDaGlsZEludGVybmFs
KFdURk1vdmUobmV3QmxvY2spLCAmY2hpbGQpOworICAgICAgICBpbnNlcnRDaGlsZFRvUmVuZGVy
RWxlbWVudEludGVybmFsKCpwYXJlbnQsIFdURk1vdmUobmV3QmxvY2spLCAmY2hpbGQpOwogICAg
ICAgICBhdXRvIHRoaXNUb01vdmUgPSB0YWtlQ2hpbGRGcm9tUmVuZGVyRWxlbWVudCgqcGFyZW50
LCBjaGlsZCk7Ci0gICAgICAgIGJsb2NrLmluc2VydENoaWxkSW50ZXJuYWwoV1RGTW92ZSh0aGlz
VG9Nb3ZlKSwgbnVsbHB0cik7CisgICAgICAgIGluc2VydENoaWxkVG9SZW5kZXJFbGVtZW50SW50
ZXJuYWwoYmxvY2ssIFdURk1vdmUodGhpc1RvTW92ZSkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApp
bmRleCBlYzUzZDc5NjRiODk1ZDYyODc5MDFkNWFjNTZjZDg4YzRiMDJjMmRhLi41NzEyMDE3ODY2
ZmIyY2UwYjNhZjBhZjkxZDkxMTI1ZDgxZWNmNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaApAQCAtNjUsNiArNjUs
NyBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIHRlbXBvcmFyeSB1bnRp
bCBhZnRlciBhbGwgYmxvY2svaW5saW5lL2NvbnRpbnVhdGlvbiBjb2RlIGlzIG1vdmVkIG92ZXIu
CiAgICAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gdGFrZUNoaWxkRnJvbVJlbmRlckVsZW1lbnQo
UmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxkKSBXQVJOX1VOVVNFRF9S
RVRVUk47CisgICAgdm9pZCBpbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKFJlbmRl
ckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9i
amVjdCogYmVmb3JlQ2hpbGQgPSBudWxscHRyKTsKIAogICAgIHZvaWQgY2hpbGRGbG93U3RhdGVD
aGFuZ2VzQW5kQWZmZWN0c1BhcmVudEJsb2NrKFJlbmRlckVsZW1lbnQmIGNoaWxkKTsKICAgICB2
b2lkIGNoaWxkRmxvd1N0YXRlQ2hhbmdlc0FuZE5vTG9uZ2VyQWZmZWN0c1BhcmVudEJsb2NrKFJl
bmRlckVsZW1lbnQmIGNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckJsb2NrLmNwcAppbmRleCBkMWVjOTQy
NjU4ZjQ2MmVkMmU1YjU0NTA2MzliMTNlY2JjOWMzYzlhLi5kYTllNmZkMDNjODhkNzk0NTM0NDgw
MjBkZWFkMTI0OGQzYTdkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyQmxvY2suY3BwCkBAIC0yOTcsNyAr
Mjk3LDcgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyVHJlZUJ1aWxkZXI6OkJsb2Nr
Ojp0YWtlQ2hpbGQoUmVuZGVyQmxvY2smIHBhcmVudCwKIAogICAgICAgICAgICAgLy8gTm93IGp1
c3QgcHV0IHRoZSBpbmxpbmVDaGlsZHJlbkJsb2NrIGluc2lkZSB0aGUgYmxvY2tDaGlsZHJlbkJs
b2NrLgogICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IHByZXYgPT0gJmlu
bGluZUNoaWxkcmVuQmxvY2sgPyBibG9ja0NoaWxkcmVuQmxvY2suZmlyc3RDaGlsZCgpIDogbnVs
bHB0cjsKLSAgICAgICAgICAgIGJsb2NrQ2hpbGRyZW5CbG9jay5pbnNlcnRDaGlsZEludGVybmFs
KFdURk1vdmUoYmxvY2tUb01vdmUpLCBiZWZvcmVDaGlsZCk7CisgICAgICAgICAgICBtX2J1aWxk
ZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChibG9ja0NoaWxkcmVuQmxvY2ss
IFdURk1vdmUoYmxvY2tUb01vdmUpLCBiZWZvcmVDaGlsZCk7CiAgICAgICAgICAgICBuZXh0LT5z
ZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKIAogICAgICAgICAgICAgLy8gaW5s
aW5lQ2hpbGRyZW5CbG9jayBnb3QgcmVwYXJlbnRlZCB0byBibG9ja0NoaWxkcmVuQmxvY2ssIHNv
IGl0IGlzIG5vIGxvbmdlciBhIGNoaWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcAppbmRleCA2
MTM0NmFkNjMxMjY5Y2IwNTM5ZDIyMzhkODdhY2I3MDQwYTUzY2QyLi4yYzVkMjY5ZDQzMWUyOWEw
N2ZlNTJiNzcyNGIxN2QxNWQ0YWJhOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAg
LTIyNSw5ICsyMjUsOSBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0Rmxv
dyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZQogCiAgICAgUmVuZGVyT2Jq
ZWN0KiBib3hGaXJzdCA9IG1hZGVOZXdCZWZvcmVCbG9jayA/IGJsb2NrLT5maXJzdENoaWxkKCkg
OiBwcmUtPm5leHRTaWJsaW5nKCk7CiAgICAgaWYgKGNyZWF0ZWRQcmUpCi0gICAgICAgIGJsb2Nr
LT5pbnNlcnRDaGlsZEludGVybmFsKFdURk1vdmUoY3JlYXRlZFByZSksIGJveEZpcnN0KTsKLSAg
ICBibG9jay0+aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKG5ld0Jsb2NrQm94KSwgYm94Rmly
c3QpOwotICAgIGJsb2NrLT5pbnNlcnRDaGlsZEludGVybmFsKFdURk1vdmUoY3JlYXRlZFBvc3Qp
LCBib3hGaXJzdCk7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVu
dEludGVybmFsKCpibG9jaywgV1RGTW92ZShjcmVhdGVkUHJlKSwgYm94Rmlyc3QpOworICAgIG1f
YnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVudEludGVybmFsKCpibG9jaywgV1RGTW92
ZShuZXdCbG9ja0JveCksIGJveEZpcnN0KTsKKyAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1Jl
bmRlckVsZW1lbnRJbnRlcm5hbCgqYmxvY2ssIFdURk1vdmUoY3JlYXRlZFBvc3QpLCBib3hGaXJz
dCk7CiAgICAgYmxvY2stPnNldENoaWxkcmVuSW5saW5lKGZhbHNlKTsKIAogICAgIGlmIChtYWRl
TmV3QmVmb3JlQmxvY2spIHsKQEAgLTIzNiw3ICsyMzYsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWls
ZGVyOjpJbmxpbmU6OnNwbGl0RmxvdyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0
KiBiZQogICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBubyA9IG87CiAgICAgICAgICAgICBvID0g
bm8tPm5leHRTaWJsaW5nKCk7CiAgICAgICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9idWls
ZGVyLnRha2VDaGlsZEZyb21SZW5kZXJFbGVtZW50KCpibG9jaywgKm5vKTsKLSAgICAgICAgICAg
IHByZS0+aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSwgbnVsbHB0cik7
CisgICAgICAgICAgICBtX2J1aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5h
bCgqcHJlLCBXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7CiAgICAgICAgICAgICBuby0+c2V0TmVlZHNM
YXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjEsMTQg
KzM2MSwxNCBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0SW5saW5lcyhS
ZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyQmxvY2sqCiAgICAgICAgIGNsb25lQmxvY2tDaGls
ZC5yZXNldEVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93QW5kQ2hpbGRJbmZvSW5jbHVkaW5nRGVzY2Vu
ZGFudHMoKTsKIAogICAgIC8vIE5vdyB3ZSBhcmUgYXQgdGhlIGJsb2NrIGxldmVsLiBXZSBuZWVk
IHRvIHB1dCB0aGUgY2xvbmUgaW50byB0aGUgdG9CbG9jay4KLSAgICB0b0Jsb2NrLT5pbnNlcnRD
aGlsZEludGVybmFsKFdURk1vdmUoY2xvbmVJbmxpbmUpLCBudWxscHRyKTsKKyAgICBtX2J1aWxk
ZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCgqdG9CbG9jaywgV1RGTW92ZShj
bG9uZUlubGluZSkpOwogCiAgICAgLy8gTm93IHRha2UgYWxsIHRoZSBjaGlsZHJlbiBhZnRlciBj
dXJyZW50Q2hpbGQgYW5kIHJlbW92ZSB0aGVtIGZyb20gdGhlIGZyb21CbG9jawogICAgIC8vIGFu
ZCBwdXQgdGhlbSBpbiB0aGUgdG9CbG9jay4KICAgICBmb3IgKGF1dG8qIGN1cnJlbnQgPSBjdXJy
ZW50Q2hpbGQtPm5leHRTaWJsaW5nKCk7IGN1cnJlbnQ7KSB7CiAgICAgICAgIGF1dG8qIG5leHQg
PSBjdXJyZW50LT5uZXh0U2libGluZygpOwogICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gbV9i
dWlsZGVyLnRha2VDaGlsZEZyb21SZW5kZXJFbGVtZW50KCpmcm9tQmxvY2ssICpjdXJyZW50KTsK
LSAgICAgICAgdG9CbG9jay0+aW5zZXJ0Q2hpbGRJbnRlcm5hbChXVEZNb3ZlKGNoaWxkVG9Nb3Zl
KSwgbnVsbHB0cik7CisgICAgICAgIG1fYnVpbGRlci5pbnNlcnRDaGlsZFRvUmVuZGVyRWxlbWVu
dEludGVybmFsKCp0b0Jsb2NrLCBXVEZNb3ZlKGNoaWxkVG9Nb3ZlKSk7CiAgICAgICAgIGN1cnJl
bnQgPSBuZXh0OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKaW5kZXggYTU5ZjcwOTg1
Mjc5M2EzYzdlYjFlNTgxNzc4MTIwYmQzZWFlNWUwNC4uNTBjZjQzZTA4MTJiMDQ0ZmZkNWZmZGRh
NmE3YTZiZWIwZDZjOTA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyUnVieS5jcHAKQEAgLTEzOSw3ICsxMzks
NyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpSdWJ5Ojptb3ZlSW5saW5lQ2hpbGRyZW4oUmVu
ZGVyUnVieUJhc2UmIGZyb20sIFJlbmRlclJ1YgogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IGF1dG8gbmV3VG9CbG9jayA9IHRvLmNyZWF0ZUFub255bW91c0Jsb2NrKCk7CiAgICAgICAgICAg
ICB0b0Jsb2NrID0gbmV3VG9CbG9jay5nZXQoKTsKLSAgICAgICAgICAgIHRvLmluc2VydENoaWxk
SW50ZXJuYWwoV1RGTW92ZShuZXdUb0Jsb2NrKSwgbnVsbHB0cik7CisgICAgICAgICAgICBtX2J1
aWxkZXIuaW5zZXJ0Q2hpbGRUb1JlbmRlckVsZW1lbnRJbnRlcm5hbCh0bywgV1RGTW92ZShuZXdU
b0Jsb2NrKSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgLy8gTW92ZSBvdXIgaW5saW5lIGNoaWxk
cmVuIGludG8gdGhlIHRhcmdldCBibG9jayB3ZSBkZXRlcm1pbmVkIGFib3ZlLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>