<?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>185585</bug_id>
          
          <creation_ts>2018-05-12 22:12:49 -0700</creation_ts>
          <short_desc>[LFC] Implement height computation for non-replaced out of flow elements.</short_desc>
          <delta_ts>2018-05-14 09:01:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</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>1423383</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-05-12 22:12:49 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423384</commentid>
    <comment_count>1</comment_count>
      <attachid>340255</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-12 22:25:03 -0700</bug_when>
    <thetext>Created attachment 340255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423454</commentid>
    <comment_count>2</comment_count>
      <attachid>340278</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-13 14:22:56 -0700</bug_when>
    <thetext>Created attachment 340278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423481</commentid>
    <comment_count>3</comment_count>
      <attachid>340282</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-13 18:51:03 -0700</bug_when>
    <thetext>Created attachment 340282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423510</commentid>
    <comment_count>4</comment_count>
      <attachid>340282</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2018-05-14 00:10:09 -0700</bug_when>
    <thetext>Comment on attachment 340282
Patch

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

&gt; Source/WebCore/layout/FormattingContext.cpp:180
&gt; +        computedHeightValue= contentHeightForFormattingContextRoot(layoutContext, layoutBox);

Missing space before =

&gt; Source/WebCore/layout/FormattingContext.cpp:207
&gt; +    if (!is&lt;Container&gt;(layoutBox) || !downcast&lt;Container&gt;(layoutBox).hasInFlowOrFloatingChild()) {
&gt; +        return 0;
&gt;      }

Unneeded { }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423618</commentid>
    <comment_count>5</comment_count>
      <attachid>340318</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-05-14 08:32:31 -0700</bug_when>
    <thetext>Created attachment 340318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423626</commentid>
    <comment_count>6</comment_count>
      <attachid>340318</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-14 09:00:02 -0700</bug_when>
    <thetext>Comment on attachment 340318
Patch

Clearing flags on attachment: 340318

Committed r231758: &lt;https://trac.webkit.org/changeset/231758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423627</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-14 09:00:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423629</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-14 09:01:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/40218919&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340255</attachid>
            <date>2018-05-12 22:25:03 -0700</date>
            <delta_ts>2018-05-13 14:22:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185585-20180512222502.patch</filename>
            <type>text/plain</type>
            <size>11796</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjMjdjODUzYjE0NTc4
Y2U1YjNmZjY4YzA3YmZhZWY5ZGFlNWQ3Ni4uNDdiNTY2MWExNDUwMWViOTY3YzM4MzA3ZmJjNjVk
Y2FhM2JkZGEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA1LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW1wbGVtZW50IGhl
aWdodCBjb21wdXRhdGlvbiBmb3Igbm9uLXJlcGxhY2VkIG91dCBvZiBmbG93IGVsZW1lbnRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0Rm9y
QmxvY2tGb3JtYXR0aW5nQ29udGV4dFJvb3RXaXRoQXV0b0hlaWdodCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlCb3guaDoKKwogMjAxOC0wNS0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWFrUHRyIGZvciBtX2VuY2xvc2luZ1BhZ2luYXRp
b25MYXllciBpbiBSZW5kZXJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggM2MxMTg5Y2FkODAzN2VhYmMxOTZmMjJlNjhjZGM5ZmEzMTJmNTgw
OC4uMWM0OGMzMDMyNzBmZTc2NjVlZWZhZTk0ZjZmNmU2OWU5MWNhOGE0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkRpc3Bs
YXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWlu
ZXIuaCIKICNpbmNsdWRlICJMYXlvdXRDb250ZXh0LmgiCkBAIC03MSw3ICs3Miw3IEBAIHZvaWQg
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aChjb25zdCBCb3gmIGxheW91dEJveCwgRGlz
cGxheTo6Qm94JiBkaXNwbGF5CiB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0
KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNw
bGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0CiB7CiAgICAgaWYgKGxheW91dEJveC5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQo
bGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dI
ZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICBpZiAobGF5
b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAgIHJldHVybiBjb21wdXRlRmxv
YXRpbmdIZWlnaHQobGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICByZXR1cm4gY29tcHV0ZUlu
Rmxvd0hlaWdodChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwpAQCAtODUs
OCArODYsMTMgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nV2lkdGgo
Y29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3QKIHsKIH0KIAotdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gm
KSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChM
YXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxh
eTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAogeworICAgIGlmICghbGF5b3V0Qm94LmlzUmVwbGFj
ZWQoKSkgeworICAgICAgICBjb21wdXRlT3V0T2ZGbG93Tm9uUmVwbGFjZWRIZWlnaHQobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUZsb2F0aW5nSGVpZ2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0CkBA
IC0xMzIsOCArMTM4LDEwMCBAQCB2b2lkIEZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRPdXRPZkZs
b3dEZXNjZW5kYW50cyhMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0KQogICAgICAgICBhdXRv
IGZvcm1hdHRpbmdDb250ZXh0ID0gbGF5b3V0Q29udGV4dC5mb3JtYXR0aW5nQ29udGV4dChsYXlv
dXRCb3gpOwogICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0KGxheW91dENvbnRleHQs
IGxheW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5b3V0Qm94LCAqZm9y
bWF0dGluZ0NvbnRleHQpKTsKIAotICAgICAgICBjb21wdXRlT3V0T2ZGbG93SGVpZ2h0KGxheW91
dEJveCwgZGlzcGxheUJveCk7CisgICAgICAgIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICB9Cit9CisKK3ZvaWQgRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodChMYXlvdXRDb250
ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxheTo6Qm94JiBk
aXNwbGF5Qm94KSBjb25zdAoreworICAgIC8vIEZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgZWxl
bWVudHMsIHRoZSB1c2VkIHZhbHVlcyBvZiB0aGUgdmVydGljYWwgZGltZW5zaW9ucyBtdXN0IHNh
dGlzZnkgdGhpcyBjb25zdHJhaW50OgorICAgIC8vICd0b3AnICsgJ21hcmdpbi10b3AnICsgJ2Jv
cmRlci10b3Atd2lkdGgnICsgJ3BhZGRpbmctdG9wJyArICdoZWlnaHQnICsgJ3BhZGRpbmctYm90
dG9tJyArICdib3JkZXItYm90dG9tLXdpZHRoJyArICdtYXJnaW4tYm90dG9tJyArICdib3R0b20n
CisgICAgLy8gPSBoZWlnaHQgb2YgY29udGFpbmluZyBibG9jaworCisgICAgLy8gSWYgYWxsIHRo
cmVlIG9mICd0b3AnLCAnaGVpZ2h0JywgYW5kICdib3R0b20nIGFyZSBhdXRvLCBzZXQgJ3RvcCcg
dG8gdGhlIHN0YXRpYyBwb3NpdGlvbiBhbmQgYXBwbHkgcnVsZSBudW1iZXIgdGhyZWUgYmVsb3cu
CisKKyAgICAvLyBJZiBub25lIG9mIHRoZSB0aHJlZSBhcmUgJ2F1dG8nOiBJZiBib3RoICdtYXJn
aW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIGFyZSAnYXV0bycsIHNvbHZlIHRoZSBlcXVhdGlv
biB1bmRlciB0aGUgZXh0cmEKKyAgICAvLyBjb25zdHJhaW50IHRoYXQgdGhlIHR3byBtYXJnaW5z
IGdldCBlcXVhbCB2YWx1ZXMuIElmIG9uZSBvZiAnbWFyZ2luLXRvcCcgb3IgJ21hcmdpbi1ib3R0
b20nIGlzICdhdXRvJywgc29sdmUgdGhlIGVxdWF0aW9uIGZvciB0aGF0IHZhbHVlLgorICAgIC8v
IElmIHRoZSB2YWx1ZXMgYXJlIG92ZXItY29uc3RyYWluZWQsIGlnbm9yZSB0aGUgdmFsdWUgZm9y
ICdib3R0b20nIGFuZCBzb2x2ZSBmb3IgdGhhdCB2YWx1ZS4KKworICAgIC8vIE90aGVyd2lzZSwg
cGljayB0aGUgb25lIG9mIHRoZSBmb2xsb3dpbmcgc2l4IHJ1bGVzIHRoYXQgYXBwbGllcy4KKwor
ICAgIC8vIDEuICd0b3AnIGFuZCAnaGVpZ2h0JyBhcmUgJ2F1dG8nIGFuZCAnYm90dG9tJyBpcyBu
b3QgJ2F1dG8nLCB0aGVuIHRoZSBoZWlnaHQgaXMgYmFzZWQgb24gdGhlIGNvbnRlbnQgcGVyIDEw
LjYuNywKKyAgICAvLyAgICAgc2V0ICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQg
J21hcmdpbi1ib3R0b20nIHRvIDAsIGFuZCBzb2x2ZSBmb3IgJ3RvcCcKKyAgICAvLyAyLiAndG9w
JyBhbmQgJ2JvdHRvbScgYXJlICdhdXRvJyBhbmQgJ2hlaWdodCcgaXMgbm90ICdhdXRvJywgdGhl
biBzZXQgJ3RvcCcgdG8gdGhlIHN0YXRpYyBwb3NpdGlvbiwgc2V0ICdhdXRvJyB2YWx1ZXMgZm9y
CisgICAgLy8gICAgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNv
bHZlIGZvciAnYm90dG9tJworICAgIC8vIDMuICdoZWlnaHQnIGFuZCAnYm90dG9tJyBhcmUgJ2F1
dG8nIGFuZCAndG9wJyBpcyBub3QgJ2F1dG8nLCB0aGVuIHRoZSBoZWlnaHQgaXMgYmFzZWQgb24g
dGhlIGNvbnRlbnQgcGVyIDEwLjYuNywgc2V0ICdhdXRvJworICAgIC8vICAgICB2YWx1ZXMgZm9y
ICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIHRvIDAsIGFuZCBzb2x2ZSBmb3IgJ2Jv
dHRvbScKKyAgICAvLyA0LiAndG9wJyBpcyAnYXV0bycsICdoZWlnaHQnIGFuZCAnYm90dG9tJyBh
cmUgbm90ICdhdXRvJywgdGhlbiBzZXQgJ2F1dG8nIHZhbHVlcyBmb3IgJ21hcmdpbi10b3AnIGFu
ZCAnbWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAndG9wJworICAgIC8vIDUuICdo
ZWlnaHQnIGlzICdhdXRvJywgJ3RvcCcgYW5kICdib3R0b20nIGFyZSBub3QgJ2F1dG8nLCB0aGVu
ICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIGFyZSBz
ZXQgdG8gMCBhbmQgc29sdmUgZm9yICdoZWlnaHQnCisgICAgLy8gNi4gJ2JvdHRvbScgaXMgJ2F1
dG8nLCAndG9wJyBhbmQgJ2hlaWdodCcgYXJlIG5vdCAnYXV0bycsIHRoZW4gc2V0ICdhdXRvJyB2
YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIHRvIDAgYW5kIHNvbHZl
IGZvciAnYm90dG9tJworICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAg
YXV0byB0b3AgPSBzdHlsZS5sb2dpY2FsVG9wKCk7CisgICAgYXV0byBib3R0b20gPSBzdHlsZS5s
b2dpY2FsQm90dG9tKCk7CisgICAgYXV0byBoZWlnaHQgPSBzdHlsZS5sb2dpY2FsSGVpZ2h0KCk7
IAorCisgICAgLy8gQWxsIGF1dG8gKCMzKSwgIzEgYW5kICMzCisgICAgaWYgKCh0b3AuaXNBdXRv
KCkgJiYgaGVpZ2h0LmlzQXV0bygpICYmIGJvdHRvbS5pc0F1dG8oKSkKKyAgICAgICAgfHwgKHRv
cC5pc0F1dG8oKSAmJiBoZWlnaHQuaXNBdXRvKCkgJiYgIWJvdHRvbS5pc0F1dG8oKSkKKyAgICAg
ICAgfHwgKGhlaWdodC5pc0F1dG8oKSAmJiBib3R0b20uaXNBdXRvKCkgJiYgIXRvcC5pc0F1dG8o
KSkpIHsKKyAgICAgICAgY29tcHV0ZUhlaWdodEZvckJsb2NrRm9ybWF0dGluZ0NvbnRleHRSb290
V2l0aEF1dG9IZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0hlaWdo
dCA9IGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRh
aW5pbmdCbG9jaygpKS0+aGVpZ2h0KCk7CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZEhlaWdodFZh
bHVlOworCisgICAgLy8gIzUKKyAgICBpZiAoaGVpZ2h0LmlzQXV0bygpICYmICFib3R0b20uaXNB
dXRvKCkgJiYgIXRvcC5pc0F1dG8oKSkgeworICAgICAgICBhdXRvIG1hcmdpblRvcCA9IHN0eWxl
Lm1hcmdpblRvcCgpLmlzQXV0bygpID8gTGF5b3V0VW5pdCgpIDogdmFsdWVGb3JMZW5ndGgoc3R5
bGUubWFyZ2luVG9wKCksIGNvbnRhaW5pbmdCbG9ja0hlaWdodCk7CisgICAgICAgIGF1dG8gbWFy
Z2luQm90dG9tID0gc3R5bGUubWFyZ2luQm90dG9tKCkuaXNBdXRvKCkgPyBMYXlvdXRVbml0KCkg
OiB2YWx1ZUZvckxlbmd0aChzdHlsZS5tYXJnaW5Cb3R0b20oKSwgY29udGFpbmluZ0Jsb2NrSGVp
Z2h0KTsKKyAgICAKKyAgICAgICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGxheW91dENv
bnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygp
KS0+d2lkdGgoKTsKKyAgICAgICAgYXV0byBwYWRkaW5nVG9wID0gdmFsdWVGb3JMZW5ndGgoc3R5
bGUucGFkZGluZ1RvcCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCk7CisgICAgICAgIGF1dG8gcGFk
ZGluZ0JvdHRvbSA9IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdCb3R0b20oKSwgY29udGFp
bmluZ0Jsb2NrV2lkdGgpOworCisgICAgICAgIGF1dG8gYm9yZGVyVG9wV2lkdGggPSBzdHlsZS5i
b3JkZXJCZWZvcmVXaWR0aCgpOworICAgICAgICBhdXRvIGJvcmRlckJvdHRvbVdpZHRoID0gc3R5
bGUuYm9yZGVyQWZ0ZXJXaWR0aCgpOworCisgICAgICAgIGNvbXB1dGVkSGVpZ2h0VmFsdWUgPSBj
b250YWluaW5nQmxvY2tIZWlnaHQgLSAodG9wLnZhbHVlKCkgKyBtYXJnaW5Ub3AgKyBib3JkZXJU
b3BXaWR0aCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyQm90dG9tV2lkdGgg
KyBtYXJnaW5Cb3R0b20gKyBib3R0b20udmFsdWUoKSk7CisgICAgfSBlbHNlIGlmICghaGVpZ2h0
LmlzQXV0bygpKQorICAgICAgICBjb21wdXRlZEhlaWdodFZhbHVlID0gdmFsdWVGb3JMZW5ndGgo
aGVpZ2h0LCBjb250YWluaW5nQmxvY2tIZWlnaHQpOworICAgIGVsc2UKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisKKyAgICBkaXNwbGF5Qm94LnNldEhlaWdodChjb21wdXRlZEhlaWdo
dFZhbHVlKTsKK30KKwordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEZvckJs
b2NrRm9ybWF0dGluZ0NvbnRleHRSb290V2l0aEF1dG9IZWlnaHQoTGF5b3V0Q29udGV4dCYgbGF5
b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gsIERpc3BsYXk6OkJveCYgZGlzcGxheUJv
eCkgY29uc3QKK3sKKyAgICBBU1NFUlQobGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbEhlaWdodCgp
LmlzQXV0bygpKTsKKyAgICBpZiAoIWlzPENvbnRhaW5lcj4obGF5b3V0Qm94KSB8fCAhZG93bmNh
c3Q8Q29udGFpbmVyPihsYXlvdXRCb3gpLmhhc0luRmxvd09yRmxvYXRpbmdDaGlsZCgpKSB7Cisg
ICAgICAgIGRpc3BsYXlCb3guc2V0SGVpZ2h0KDApOworICAgICAgICByZXR1cm47CiAgICAgfQor
CisgICAgYXV0byYgZm9ybWF0dGluZ1Jvb3RDb250YWluZXIgPSBkb3duY2FzdDxDb250YWluZXI+
KGxheW91dEJveCk7CisgICAgLy8gMTAuNi43ICdBdXRvJyBoZWlnaHRzIGZvciBibG9jayBmb3Jt
YXR0aW5nIGNvbnRleHQgcm9vdHMKKworICAgIC8vIElmIGl0IG9ubHkgaGFzIGlubGluZS1sZXZl
bCBjaGlsZHJlbiwgdGhlIGhlaWdodCBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdG9wIG9m
IHRoZSB0b3Btb3N0IGxpbmUgYm94IGFuZCB0aGUgYm90dG9tIG9mIHRoZSBib3R0b21tb3N0IGxp
bmUgYm94LgorICAgIC8vIElmIGl0IGhhcyBibG9jay1sZXZlbCBjaGlsZHJlbiwgdGhlIGhlaWdo
dCBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdG9wIG1hcmdpbi1lZGdlIG9mIHRoZSB0b3Bt
b3N0IGJsb2NrLWxldmVsCisgICAgLy8gY2hpbGQgYm94IGFuZCB0aGUgYm90dG9tIG1hcmdpbi1l
ZGdlIG9mIHRoZSBib3R0b21tb3N0IGJsb2NrLWxldmVsIGNoaWxkIGJveC4KKworICAgIC8vIElu
IGFkZGl0aW9uLCBpZiB0aGUgZWxlbWVudCBoYXMgYW55IGZsb2F0aW5nIGRlc2NlbmRhbnRzIHdo
b3NlIGJvdHRvbSBtYXJnaW4gZWRnZSBpcyBiZWxvdyB0aGUgZWxlbWVudCdzIGJvdHRvbSBjb250
ZW50IGVkZ2UsCisgICAgLy8gdGhlbiB0aGUgaGVpZ2h0IGlzIGluY3JlYXNlZCB0byBpbmNsdWRl
IHRob3NlIGVkZ2VzLiBPbmx5IGZsb2F0cyB0aGF0IHBhcnRpY2lwYXRlIGluIHRoaXMgYmxvY2sg
Zm9ybWF0dGluZyBjb250ZXh0IGFyZSB0YWtlbgorICAgIC8vIGludG8gYWNjb3VudCwgZS5nLiwg
ZmxvYXRzIGluc2lkZSBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgZGVzY2VuZGFudHMgb3Igb3RoZXIg
ZmxvYXRzIGFyZSBub3QuCisgICAgaWYgKGZvcm1hdHRpbmdSb290Q29udGFpbmVyLmVzdGFibGlz
aGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSkgeworICAgICAgICBkaXNwbGF5Qm94LnNldEhl
aWdodCgwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIGZpcnN0RGlzcGxh
eUJveCA9IGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jv
b3RDb250YWluZXIuZmlyc3RJbkZsb3dDaGlsZCgpKTsKKyAgICBhdXRvKiBsYXN0RGlzcGxheUJv
eCA9IGxheW91dENvbnRleHQuZGlzcGxheUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3RD
b250YWluZXIubGFzdEluRmxvd0NoaWxkKCkpOworCisgICAgYXV0byB0b3AgPSBmaXJzdERpc3Bs
YXlCb3gtPm1hcmdpbkJveCgpLnkoKTsKKyAgICBhdXRvIGJvdHRvbSA9IGxhc3REaXNwbGF5Qm94
LT5tYXJnaW5Cb3goKS5tYXhZKCk7CisgICAgLy8gRklYTUU6IGFkZCBmbG9hdGluZyBzdXBwb3J0
LgorICAgIGRpc3BsYXlCb3guc2V0SGVpZ2h0KGJvdHRvbSAtIHRvcCk7CiB9CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggM2U1ZTg3MDYxYzE3OTk5
OWFlNjI2YjNmYzNhOWM2ZTk0NjlmOGQzNC4uOTI4Y2ZjOGZlYTE0MWU0NjBlODY5NGJkYzgyODYz
ZmNlOWJhOGI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgK
QEAgLTc1LDcgKzc1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlRmxv
YXRpbmdXaWR0aChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKICAgICB2aXJ0dWFs
IHZvaWQgY29tcHV0ZUluRmxvd1dpZHRoKGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0
ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlT3V0T2ZGbG93SGVpZ2h0KGNvbnN0IEJv
eCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlT3V0T2ZG
bG93SGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUZsb2F0aW5nSGVpZ2h0KGNvbnN0IEJveCYsIERp
c3BsYXk6OkJveCYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlSW5GbG93SGVpZ2h0
KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCA9IDA7CiAK
QEAgLTg4LDYgKzg4LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93RGVz
Y2VuZGFudHMoTGF5b3V0Q29udGV4dCZzKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGNv
bXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodChMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94
JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlSGVpZ2h0Rm9yQmxvY2tG
b3JtYXR0aW5nQ29udGV4dFJvb3RXaXRoQXV0b0hlaWdodChMYXlvdXRDb250ZXh0JiwgY29uc3Qg
Qm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CisKICAgICBXZWFrUHRyPEJveD4gbV9yb290Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCBlMmFjODRhMDI3YWY1YjI0ZmVj
Mjg5ODFkZmRmN2MxNThmM2QxNzM5Li5mMDFiMmY0MjVmMzc5MTIxM2JkMDg2NDEwODBjZTMxYjA0
N2MxMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNDksNiArNDksOSBAQCBw
dWJsaWM6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEZvcm1hdHRpbmdTdGF0ZT4gY3JlYXRlRm9ybWF0
dGluZ1N0YXRlKFJlZjxGbG9hdGluZ1N0YXRlPiYmKSBjb25zdCBvdmVycmlkZTsKICAgICBSZWY8
RmxvYXRpbmdTdGF0ZT4gY3JlYXRlT3JGaW5kRmxvYXRpbmdTdGF0ZShMYXlvdXRDb250ZXh0Jikg
Y29uc3Qgb3ZlcnJpZGU7CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGNvbXB1dGVIZWlnaHRGb3JS
b290V2l0aEF1dG9IZWlnaHQoTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIERpc3BsYXk6OkJv
eCYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZVN0YXRpY1Bvc2l0aW9uKExh
eW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIGNvbXB1dGVJbkZsb3dXaWR0aChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5
dHJlZS9EaXNwbGF5Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlz
cGxheUJveC5oCmluZGV4IDNjZGZiMWM1ZDA4ZmUxYzNiZjIxMTI2NzkxNzAxMjNlZmFkMTdiOWIu
LjQ5YTFkMTA1NDFmZTczZDIyMDBkMzAyZmQyYTA4ZDJlNGYyYTUzMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5Qm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlCb3guaApAQCAtMzUsOCArMzUsOSBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgTGF5b3V0IHsKLWNsYXNzIExheW91
dENvbnRleHQ7CiBjbGFzcyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OworY2xhc3MgRm9ybWF0dGlu
Z0NvbnRleHQ7CitjbGFzcyBMYXlvdXRDb250ZXh0OwogfQogCiBuYW1lc3BhY2UgRGlzcGxheSB7
CkBAIC00NSw2ICs0Niw3IEBAIGNsYXNzIEJveCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChCb3gpOwogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBMYXlvdXQ6OkxheW91dENvbnRleHQ7
CisgICAgZnJpZW5kIGNsYXNzIExheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ7CiAgICAgZnJpZW5k
IGNsYXNzIExheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDsKIAogICAgIH5Cb3goKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340278</attachid>
            <date>2018-05-13 14:22:56 -0700</date>
            <delta_ts>2018-05-13 18:51:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185585-20180513142256.patch</filename>
            <type>text/plain</type>
            <size>10750</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjMjdjODUzYjE0NTc4
Y2U1YjNmZjY4YzA3YmZhZWY5ZGFlNWQ3Ni4uNDdiNTY2MWExNDUwMWViOTY3YzM4MzA3ZmJjNjVk
Y2FhM2JkZGEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA1LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW1wbGVtZW50IGhl
aWdodCBjb21wdXRhdGlvbiBmb3Igbm9uLXJlcGxhY2VkIG91dCBvZiBmbG93IGVsZW1lbnRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0Rm9y
QmxvY2tGb3JtYXR0aW5nQ29udGV4dFJvb3RXaXRoQXV0b0hlaWdodCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlCb3guaDoKKwogMjAxOC0wNS0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWFrUHRyIGZvciBtX2VuY2xvc2luZ1BhZ2luYXRp
b25MYXllciBpbiBSZW5kZXJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggM2MxMTg5Y2FkODAzN2VhYmMxOTZmMjJlNjhjZGM5ZmEzMTJmNTgw
OC4uYmQwMTgzOGNiMTdmMWIyMTNiZjIwYTIyOTZkM2JhM2UzYTEyZTYzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkRpc3Bs
YXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWlu
ZXIuaCIKICNpbmNsdWRlICJMYXlvdXRDb250ZXh0LmgiCkBAIC03MSw3ICs3Miw3IEBAIHZvaWQg
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aChjb25zdCBCb3gmIGxheW91dEJveCwgRGlz
cGxheTo6Qm94JiBkaXNwbGF5CiB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0
KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNw
bGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0CiB7CiAgICAgaWYgKGxheW91dEJveC5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQo
bGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dI
ZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICBpZiAobGF5
b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAgIHJldHVybiBjb21wdXRlRmxv
YXRpbmdIZWlnaHQobGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICByZXR1cm4gY29tcHV0ZUlu
Rmxvd0hlaWdodChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwpAQCAtODUs
OCArODYsMTMgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nV2lkdGgo
Y29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3QKIHsKIH0KIAotdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gm
KSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChM
YXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxh
eTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAogeworICAgIGlmICghbGF5b3V0Qm94LmlzUmVwbGFj
ZWQoKSkgeworICAgICAgICBjb21wdXRlT3V0T2ZGbG93Tm9uUmVwbGFjZWRIZWlnaHQobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUZsb2F0aW5nSGVpZ2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0CkBA
IC0xMzIsOCArMTM4LDk0IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQpCiAgICAgICAgIGF1dG8g
Zm9ybWF0dGluZ0NvbnRleHQgPSBsYXlvdXRDb250ZXh0LmZvcm1hdHRpbmdDb250ZXh0KGxheW91
dEJveCk7CiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXQobGF5b3V0Q29udGV4dCwg
bGF5b3V0Q29udGV4dC5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3gsICpmb3Jt
YXR0aW5nQ29udGV4dCkpOwogCi0gICAgICAgIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQobGF5b3V0
Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgY29tcHV0ZU91dE9mRmxvd0hlaWdodChsYXlvdXRD
b250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgIH0KK30KKwordm9pZCBGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd05vblJlcGxhY2VkSGVpZ2h0KExheW91dENvbnRl
eHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRp
c3BsYXlCb3gpIGNvbnN0Cit7CisgICAgLy8gRm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVt
ZW50cywgdGhlIHVzZWQgdmFsdWVzIG9mIHRoZSB2ZXJ0aWNhbCBkaW1lbnNpb25zIG11c3Qgc2F0
aXNmeSB0aGlzIGNvbnN0cmFpbnQ6CisgICAgLy8gJ3RvcCcgKyAnbWFyZ2luLXRvcCcgKyAnYm9y
ZGVyLXRvcC13aWR0aCcgKyAncGFkZGluZy10b3AnICsgJ2hlaWdodCcgKyAncGFkZGluZy1ib3R0
b20nICsgJ2JvcmRlci1ib3R0b20td2lkdGgnICsgJ21hcmdpbi1ib3R0b20nICsgJ2JvdHRvbScK
KyAgICAvLyA9IGhlaWdodCBvZiBjb250YWluaW5nIGJsb2NrCisKKyAgICAvLyBJZiBhbGwgdGhy
ZWUgb2YgJ3RvcCcsICdoZWlnaHQnLCBhbmQgJ2JvdHRvbScgYXJlIGF1dG8sIHNldCAndG9wJyB0
byB0aGUgc3RhdGljIHBvc2l0aW9uIGFuZCBhcHBseSBydWxlIG51bWJlciB0aHJlZSBiZWxvdy4K
KworICAgIC8vIElmIG5vbmUgb2YgdGhlIHRocmVlIGFyZSAnYXV0byc6IElmIGJvdGggJ21hcmdp
bi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgYXJlICdhdXRvJywgc29sdmUgdGhlIGVxdWF0aW9u
IHVuZGVyIHRoZSBleHRyYQorICAgIC8vIGNvbnN0cmFpbnQgdGhhdCB0aGUgdHdvIG1hcmdpbnMg
Z2V0IGVxdWFsIHZhbHVlcy4gSWYgb25lIG9mICdtYXJnaW4tdG9wJyBvciAnbWFyZ2luLWJvdHRv
bScgaXMgJ2F1dG8nLCBzb2x2ZSB0aGUgZXF1YXRpb24gZm9yIHRoYXQgdmFsdWUuCisgICAgLy8g
SWYgdGhlIHZhbHVlcyBhcmUgb3Zlci1jb25zdHJhaW5lZCwgaWdub3JlIHRoZSB2YWx1ZSBmb3Ig
J2JvdHRvbScgYW5kIHNvbHZlIGZvciB0aGF0IHZhbHVlLgorCisgICAgLy8gT3RoZXJ3aXNlLCBw
aWNrIHRoZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzaXggcnVsZXMgdGhhdCBhcHBsaWVzLgorCisg
ICAgLy8gMS4gJ3RvcCcgYW5kICdoZWlnaHQnIGFyZSAnYXV0bycgYW5kICdib3R0b20nIGlzIG5v
dCAnYXV0bycsIHRoZW4gdGhlIGhlaWdodCBpcyBiYXNlZCBvbiB0aGUgY29udGVudCBwZXIgMTAu
Ni43LAorICAgIC8vICAgICBzZXQgJ2F1dG8nIHZhbHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAn
bWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAndG9wJworICAgIC8vIDIuICd0b3An
IGFuZCAnYm90dG9tJyBhcmUgJ2F1dG8nIGFuZCAnaGVpZ2h0JyBpcyBub3QgJ2F1dG8nLCB0aGVu
IHNldCAndG9wJyB0byB0aGUgc3RhdGljIHBvc2l0aW9uLCBzZXQgJ2F1dG8nIHZhbHVlcyBmb3IK
KyAgICAvLyAgICAnbWFyZ2luLXRvcCcgYW5kICdtYXJnaW4tYm90dG9tJyB0byAwLCBhbmQgc29s
dmUgZm9yICdib3R0b20nCisgICAgLy8gMy4gJ2hlaWdodCcgYW5kICdib3R0b20nIGFyZSAnYXV0
bycgYW5kICd0b3AnIGlzIG5vdCAnYXV0bycsIHRoZW4gdGhlIGhlaWdodCBpcyBiYXNlZCBvbiB0
aGUgY29udGVudCBwZXIgMTAuNi43LCBzZXQgJ2F1dG8nCisgICAgLy8gICAgIHZhbHVlcyBmb3Ig
J21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAnYm90
dG9tJworICAgIC8vIDQuICd0b3AnIGlzICdhdXRvJywgJ2hlaWdodCcgYW5kICdib3R0b20nIGFy
ZSBub3QgJ2F1dG8nLCB0aGVuIHNldCAnYXV0bycgdmFsdWVzIGZvciAnbWFyZ2luLXRvcCcgYW5k
ICdtYXJnaW4tYm90dG9tJyB0byAwLCBhbmQgc29sdmUgZm9yICd0b3AnCisgICAgLy8gNS4gJ2hl
aWdodCcgaXMgJ2F1dG8nLCAndG9wJyBhbmQgJ2JvdHRvbScgYXJlIG5vdCAnYXV0bycsIHRoZW4g
J2F1dG8nIHZhbHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgYXJlIHNl
dCB0byAwIGFuZCBzb2x2ZSBmb3IgJ2hlaWdodCcKKyAgICAvLyA2LiAnYm90dG9tJyBpcyAnYXV0
bycsICd0b3AnIGFuZCAnaGVpZ2h0JyBhcmUgbm90ICdhdXRvJywgdGhlbiBzZXQgJ2F1dG8nIHZh
bHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCBhbmQgc29sdmUg
Zm9yICdib3R0b20nCisgICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKKyAgICBh
dXRvIHRvcCA9IHN0eWxlLmxvZ2ljYWxUb3AoKTsKKyAgICBhdXRvIGJvdHRvbSA9IHN0eWxlLmxv
Z2ljYWxCb3R0b20oKTsKKyAgICBhdXRvIGhlaWdodCA9IHN0eWxlLmxvZ2ljYWxIZWlnaHQoKTsg
CisKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0hlaWdodCA9IGxheW91dENvbnRleHQuZGlzcGxh
eUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS0+aGVpZ2h0KCk7
CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZEhlaWdodFZhbHVlOworCisgICAgaWYgKCh0b3AuaXNB
dXRvKCkgJiYgaGVpZ2h0LmlzQXV0bygpICYmIGJvdHRvbS5pc0F1dG8oKSkKKyAgICAgICAgfHwg
KHRvcC5pc0F1dG8oKSAmJiBoZWlnaHQuaXNBdXRvKCkgJiYgIWJvdHRvbS5pc0F1dG8oKSkKKyAg
ICAgICAgfHwgKGhlaWdodC5pc0F1dG8oKSAmJiBib3R0b20uaXNBdXRvKCkgJiYgIXRvcC5pc0F1
dG8oKSkpIHsKKyAgICAgICAgLy8gQWxsIGF1dG8gKCMzKSwgIzEgYW5kICMzCisgICAgICAgIGNv
bXB1dGVkSGVpZ2h0VmFsdWU9IGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
bGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKKyAgICB9IGVsc2UgaWYgKGhlaWdodC5pc0F1dG8o
KSAmJiAhYm90dG9tLmlzQXV0bygpICYmICF0b3AuaXNBdXRvKCkpIHsKKyAgICAgICAgLy8gIzUK
KyAgICAgICAgYXV0byBtYXJnaW5Ub3AgPSBzdHlsZS5tYXJnaW5Ub3AoKS5pc0F1dG8oKSA/IExh
eW91dFVuaXQoKSA6IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLm1hcmdpblRvcCgpLCBjb250YWluaW5n
QmxvY2tIZWlnaHQpOworICAgICAgICBhdXRvIG1hcmdpbkJvdHRvbSA9IHN0eWxlLm1hcmdpbkJv
dHRvbSgpLmlzQXV0bygpID8gTGF5b3V0VW5pdCgpIDogdmFsdWVGb3JMZW5ndGgoc3R5bGUubWFy
Z2luQm90dG9tKCksIGNvbnRhaW5pbmdCbG9ja0hlaWdodCk7CisgICAgCisgICAgICAgIGF1dG8g
Y29udGFpbmluZ0Jsb2NrV2lkdGggPSBsYXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRC
b3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSktPndpZHRoKCk7CisgICAgICAgIGF1dG8g
cGFkZGluZ1RvcCA9IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdUb3AoKSwgY29udGFpbmlu
Z0Jsb2NrV2lkdGgpOworICAgICAgICBhdXRvIHBhZGRpbmdCb3R0b20gPSB2YWx1ZUZvckxlbmd0
aChzdHlsZS5wYWRkaW5nQm90dG9tKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKKworICAgICAg
ICBhdXRvIGJvcmRlclRvcFdpZHRoID0gc3R5bGUuYm9yZGVyQmVmb3JlV2lkdGgoKTsKKyAgICAg
ICAgYXV0byBib3JkZXJCb3R0b21XaWR0aCA9IHN0eWxlLmJvcmRlckFmdGVyV2lkdGgoKTsKKwor
ICAgICAgICBjb21wdXRlZEhlaWdodFZhbHVlID0gY29udGFpbmluZ0Jsb2NrSGVpZ2h0IC0gKHRv
cC52YWx1ZSgpICsgbWFyZ2luVG9wICsgYm9yZGVyVG9wV2lkdGggKyBwYWRkaW5nVG9wICsgcGFk
ZGluZ0JvdHRvbSArIGJvcmRlckJvdHRvbVdpZHRoICsgbWFyZ2luQm90dG9tICsgYm90dG9tLnZh
bHVlKCkpOworICAgIH0gZWxzZSBpZiAoIWhlaWdodC5pc0F1dG8oKSkKKyAgICAgICAgY29tcHV0
ZWRIZWlnaHRWYWx1ZSA9IHZhbHVlRm9yTGVuZ3RoKGhlaWdodCwgY29udGFpbmluZ0Jsb2NrSGVp
Z2h0KTsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgZGlz
cGxheUJveC5zZXRIZWlnaHQoY29tcHV0ZWRIZWlnaHRWYWx1ZSk7Cit9CisKK0xheW91dFVuaXQg
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
TGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0
Cit7CisgICAgQVNTRVJUKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8o
KSk7CisgICAgaWYgKCFpczxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRh
aW5lcj4obGF5b3V0Qm94KS5oYXNJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkgeworICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CisKKyAgICBhdXRvJiBmb3JtYXR0aW5nUm9vdENvbnRhaW5lciA9IGRv
d25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KTsKKyAgICAvLyAxMC42LjcgJ0F1dG8nIGhlaWdo
dHMgZm9yIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCByb290cworCisgICAgLy8gSWYgaXQgb25s
eSBoYXMgaW5saW5lLWxldmVsIGNoaWxkcmVuLCB0aGUgaGVpZ2h0IGlzIHRoZSBkaXN0YW5jZSBi
ZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIHRvcG1vc3QgbGluZSBib3ggYW5kIHRoZSBib3R0b20gb2Yg
dGhlIGJvdHRvbW1vc3QgbGluZSBib3guCisgICAgLy8gSWYgaXQgaGFzIGJsb2NrLWxldmVsIGNo
aWxkcmVuLCB0aGUgaGVpZ2h0IGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0b3AgbWFyZ2lu
LWVkZ2Ugb2YgdGhlIHRvcG1vc3QgYmxvY2stbGV2ZWwKKyAgICAvLyBjaGlsZCBib3ggYW5kIHRo
ZSBib3R0b20gbWFyZ2luLWVkZ2Ugb2YgdGhlIGJvdHRvbW1vc3QgYmxvY2stbGV2ZWwgY2hpbGQg
Ym94LgorCisgICAgLy8gSW4gYWRkaXRpb24sIGlmIHRoZSBlbGVtZW50IGhhcyBhbnkgZmxvYXRp
bmcgZGVzY2VuZGFudHMgd2hvc2UgYm90dG9tIG1hcmdpbiBlZGdlIGlzIGJlbG93IHRoZSBlbGVt
ZW50J3MgYm90dG9tIGNvbnRlbnQgZWRnZSwKKyAgICAvLyB0aGVuIHRoZSBoZWlnaHQgaXMgaW5j
cmVhc2VkIHRvIGluY2x1ZGUgdGhvc2UgZWRnZXMuIE9ubHkgZmxvYXRzIHRoYXQgcGFydGljaXBh
dGUgaW4gdGhpcyBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYXJlIHRha2VuCisgICAgLy8gaW50
byBhY2NvdW50LCBlLmcuLCBmbG9hdHMgaW5zaWRlIGFic29sdXRlbHkgcG9zaXRpb25lZCBkZXNj
ZW5kYW50cyBvciBvdGhlciBmbG9hdHMgYXJlIG5vdC4KKyAgICBpZiAoZm9ybWF0dGluZ1Jvb3RD
b250YWluZXIuZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIGF1dG8qIGZpcnN0RGlzcGxheUJveCA9IGxheW91dENvbnRleHQuZGlz
cGxheUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3RDb250YWluZXIuZmlyc3RJbkZsb3dD
aGlsZCgpKTsKKyAgICBhdXRvKiBsYXN0RGlzcGxheUJveCA9IGxheW91dENvbnRleHQuZGlzcGxh
eUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3RDb250YWluZXIubGFzdEluRmxvd0NoaWxk
KCkpOworCisgICAgYXV0byB0b3AgPSBmaXJzdERpc3BsYXlCb3gtPm1hcmdpbkJveCgpLnkoKTsK
KyAgICBhdXRvIGJvdHRvbSA9IGxhc3REaXNwbGF5Qm94LT5tYXJnaW5Cb3goKS5tYXhZKCk7Cisg
ICAgLy8gRklYTUU6IGFkZCBmbG9hdGluZyBzdXBwb3J0LgorICAgIHJldHVybiBib3R0b20gLSB0
b3A7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5k
ZXggM2U1ZTg3MDYxYzE3OTk5OWFlNjI2YjNmYzNhOWM2ZTk0NjlmOGQzNC4uY2I5OGU5NDQxNTg1
NTZkZmNkYWVkMGMyNmExN2YxNWUyZDgzZmEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zv
cm1hdHRpbmdDb250ZXh0LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCBjb21wdXRlRmxvYXRpbmdXaWR0aChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUluRmxvd1dpZHRoKGNvbnN0IEJveCYsIERp
c3BsYXk6OkJveCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlT3V0T2ZG
bG93SGVpZ2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OworICAgIHZpcnR1YWwg
dm9pZCBjb21wdXRlT3V0T2ZGbG93SGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBE
aXNwbGF5OjpCb3gmKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUZsb2F0aW5nSGVp
Z2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlSW5GbG93SGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpC
b3gmKSBjb25zdCA9IDA7CiAKQEAgLTg4LDYgKzg4LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
bGF5b3V0T3V0T2ZGbG93RGVzY2VuZGFudHMoTGF5b3V0Q29udGV4dCZzKSBjb25zdDsKIAogcHJp
dmF0ZToKKyAgICB2b2lkIGNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodChMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CisgICAgTGF5b3V0VW5p
dCBjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmKSBjb25zdDsKKwogICAgIFdlYWtQdHI8Qm94PiBtX3Jvb3Q7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUJveC5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlCb3guaAppbmRleCAzY2Rm
YjFjNWQwOGZlMWMzYmYyMTEyNjc5MTcwMTIzZWZhZDE3YjliLi40OWExZDEwNTQxZmU3M2QyMjAw
ZDMwMmZkMmEwOGQyZTRmMmE1MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
ZGlzcGxheXRyZWUvRGlzcGxheUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5Qm94LmgKQEAgLTM1LDggKzM1LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogbmFtZXNwYWNlIExheW91dCB7Ci1jbGFzcyBMYXlvdXRDb250ZXh0OwogY2xhc3MgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDsKK2NsYXNzIEZvcm1hdHRpbmdDb250ZXh0OworY2xhc3MgTGF5
b3V0Q29udGV4dDsKIH0KIAogbmFtZXNwYWNlIERpc3BsYXkgewpAQCAtNDUsNiArNDYsNyBAQCBj
bGFzcyBCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQm94KTsKIHB1YmxpYzoKICAg
ICBmcmllbmQgY2xhc3MgTGF5b3V0OjpMYXlvdXRDb250ZXh0OworICAgIGZyaWVuZCBjbGFzcyBM
YXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OwogICAgIGZyaWVuZCBjbGFzcyBMYXlvdXQ6OkJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ7CiAKICAgICB+Qm94KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340282</attachid>
            <date>2018-05-13 18:51:03 -0700</date>
            <delta_ts>2018-05-14 08:32:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185585-20180513185102.patch</filename>
            <type>text/plain</type>
            <size>10750</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjMjdjODUzYjE0NTc4
Y2U1YjNmZjY4YzA3YmZhZWY5ZGFlNWQ3Ni4uNDdiNTY2MWExNDUwMWViOTY3YzM4MzA3ZmJjNjVk
Y2FhM2JkZGEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA1LTEyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW1wbGVtZW50IGhl
aWdodCBjb21wdXRhdGlvbiBmb3Igbm9uLXJlcGxhY2VkIG91dCBvZiBmbG93IGVsZW1lbnRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0Rm9y
QmxvY2tGb3JtYXR0aW5nQ29udGV4dFJvb3RXaXRoQXV0b0hlaWdodCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlCb3guaDoKKwogMjAxOC0wNS0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBXZWFrUHRyIGZvciBtX2VuY2xvc2luZ1BhZ2luYXRp
b25MYXllciBpbiBSZW5kZXJMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5jcHAKaW5kZXggM2MxMTg5Y2FkODAzN2VhYmMxOTZmMjJlNjhjZGM5ZmEzMTJmNTgw
OC4uY2U3ZDJiMjc3N2MwYTFiYWQ0ZDEwMzMwNDA2Y2ExYWQzMTlmMmQzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAK
ICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAorI2luY2x1ZGUgIkRpc3Bs
YXlCb3guaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWlu
ZXIuaCIKICNpbmNsdWRlICJMYXlvdXRDb250ZXh0LmgiCkBAIC03MSw3ICs3Miw3IEBAIHZvaWQg
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aChjb25zdCBCb3gmIGxheW91dEJveCwgRGlz
cGxheTo6Qm94JiBkaXNwbGF5CiB2b2lkIEZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0
KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNw
bGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0CiB7CiAgICAgaWYgKGxheW91dEJveC5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQo
bGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVPdXRPZkZsb3dI
ZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICBpZiAobGF5
b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAgIHJldHVybiBjb21wdXRlRmxv
YXRpbmdIZWlnaHQobGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICByZXR1cm4gY29tcHV0ZUlu
Rmxvd0hlaWdodChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOwpAQCAtODUs
OCArODYsMTMgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nV2lkdGgo
Y29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3QKIHsKIH0KIAotdm9pZCBGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gm
KSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChM
YXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCwgRGlzcGxh
eTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAogeworICAgIGlmICghbGF5b3V0Qm94LmlzUmVwbGFj
ZWQoKSkgeworICAgICAgICBjb21wdXRlT3V0T2ZGbG93Tm9uUmVwbGFjZWRIZWlnaHQobGF5b3V0
Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6
Y29tcHV0ZUZsb2F0aW5nSGVpZ2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0CkBA
IC0xMzIsOCArMTM4LDk0IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzKExheW91dENvbnRleHQmIGxheW91dENvbnRleHQpCiAgICAgICAgIGF1dG8g
Zm9ybWF0dGluZ0NvbnRleHQgPSBsYXlvdXRDb250ZXh0LmZvcm1hdHRpbmdDb250ZXh0KGxheW91
dEJveCk7CiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0LT5sYXlvdXQobGF5b3V0Q29udGV4dCwg
bGF5b3V0Q29udGV4dC5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3gsICpmb3Jt
YXR0aW5nQ29udGV4dCkpOwogCi0gICAgICAgIGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQobGF5b3V0
Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgY29tcHV0ZU91dE9mRmxvd0hlaWdodChsYXlvdXRD
b250ZXh0LCBsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgIH0KK30KKwordm9pZCBGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd05vblJlcGxhY2VkSGVpZ2h0KExheW91dENvbnRl
eHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRp
c3BsYXlCb3gpIGNvbnN0Cit7CisgICAgLy8gRm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVt
ZW50cywgdGhlIHVzZWQgdmFsdWVzIG9mIHRoZSB2ZXJ0aWNhbCBkaW1lbnNpb25zIG11c3Qgc2F0
aXNmeSB0aGlzIGNvbnN0cmFpbnQ6CisgICAgLy8gJ3RvcCcgKyAnbWFyZ2luLXRvcCcgKyAnYm9y
ZGVyLXRvcC13aWR0aCcgKyAncGFkZGluZy10b3AnICsgJ2hlaWdodCcgKyAncGFkZGluZy1ib3R0
b20nICsgJ2JvcmRlci1ib3R0b20td2lkdGgnICsgJ21hcmdpbi1ib3R0b20nICsgJ2JvdHRvbScK
KyAgICAvLyA9IGhlaWdodCBvZiBjb250YWluaW5nIGJsb2NrCisKKyAgICAvLyBJZiBhbGwgdGhy
ZWUgb2YgJ3RvcCcsICdoZWlnaHQnLCBhbmQgJ2JvdHRvbScgYXJlIGF1dG8sIHNldCAndG9wJyB0
byB0aGUgc3RhdGljIHBvc2l0aW9uIGFuZCBhcHBseSBydWxlIG51bWJlciB0aHJlZSBiZWxvdy4K
KworICAgIC8vIElmIG5vbmUgb2YgdGhlIHRocmVlIGFyZSAnYXV0byc6IElmIGJvdGggJ21hcmdp
bi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgYXJlICdhdXRvJywgc29sdmUgdGhlIGVxdWF0aW9u
IHVuZGVyIHRoZSBleHRyYQorICAgIC8vIGNvbnN0cmFpbnQgdGhhdCB0aGUgdHdvIG1hcmdpbnMg
Z2V0IGVxdWFsIHZhbHVlcy4gSWYgb25lIG9mICdtYXJnaW4tdG9wJyBvciAnbWFyZ2luLWJvdHRv
bScgaXMgJ2F1dG8nLCBzb2x2ZSB0aGUgZXF1YXRpb24gZm9yIHRoYXQgdmFsdWUuCisgICAgLy8g
SWYgdGhlIHZhbHVlcyBhcmUgb3Zlci1jb25zdHJhaW5lZCwgaWdub3JlIHRoZSB2YWx1ZSBmb3Ig
J2JvdHRvbScgYW5kIHNvbHZlIGZvciB0aGF0IHZhbHVlLgorCisgICAgLy8gT3RoZXJ3aXNlLCBw
aWNrIHRoZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzaXggcnVsZXMgdGhhdCBhcHBsaWVzLgorCisg
ICAgLy8gMS4gJ3RvcCcgYW5kICdoZWlnaHQnIGFyZSAnYXV0bycgYW5kICdib3R0b20nIGlzIG5v
dCAnYXV0bycsIHRoZW4gdGhlIGhlaWdodCBpcyBiYXNlZCBvbiB0aGUgY29udGVudCBwZXIgMTAu
Ni43LAorICAgIC8vICAgICBzZXQgJ2F1dG8nIHZhbHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAn
bWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAndG9wJworICAgIC8vIDIuICd0b3An
IGFuZCAnYm90dG9tJyBhcmUgJ2F1dG8nIGFuZCAnaGVpZ2h0JyBpcyBub3QgJ2F1dG8nLCB0aGVu
IHNldCAndG9wJyB0byB0aGUgc3RhdGljIHBvc2l0aW9uLCBzZXQgJ2F1dG8nIHZhbHVlcyBmb3IK
KyAgICAvLyAgICAnbWFyZ2luLXRvcCcgYW5kICdtYXJnaW4tYm90dG9tJyB0byAwLCBhbmQgc29s
dmUgZm9yICdib3R0b20nCisgICAgLy8gMy4gJ2hlaWdodCcgYW5kICdib3R0b20nIGFyZSAnYXV0
bycgYW5kICd0b3AnIGlzIG5vdCAnYXV0bycsIHRoZW4gdGhlIGhlaWdodCBpcyBiYXNlZCBvbiB0
aGUgY29udGVudCBwZXIgMTAuNi43LCBzZXQgJ2F1dG8nCisgICAgLy8gICAgIHZhbHVlcyBmb3Ig
J21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAnYm90
dG9tJworICAgIC8vIDQuICd0b3AnIGlzICdhdXRvJywgJ2hlaWdodCcgYW5kICdib3R0b20nIGFy
ZSBub3QgJ2F1dG8nLCB0aGVuIHNldCAnYXV0bycgdmFsdWVzIGZvciAnbWFyZ2luLXRvcCcgYW5k
ICdtYXJnaW4tYm90dG9tJyB0byAwLCBhbmQgc29sdmUgZm9yICd0b3AnCisgICAgLy8gNS4gJ2hl
aWdodCcgaXMgJ2F1dG8nLCAndG9wJyBhbmQgJ2JvdHRvbScgYXJlIG5vdCAnYXV0bycsIHRoZW4g
J2F1dG8nIHZhbHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgYXJlIHNl
dCB0byAwIGFuZCBzb2x2ZSBmb3IgJ2hlaWdodCcKKyAgICAvLyA2LiAnYm90dG9tJyBpcyAnYXV0
bycsICd0b3AnIGFuZCAnaGVpZ2h0JyBhcmUgbm90ICdhdXRvJywgdGhlbiBzZXQgJ2F1dG8nIHZh
bHVlcyBmb3IgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCBhbmQgc29sdmUg
Zm9yICdib3R0b20nCisgICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKKyAgICBh
dXRvIHRvcCA9IHN0eWxlLmxvZ2ljYWxUb3AoKTsKKyAgICBhdXRvIGJvdHRvbSA9IHN0eWxlLmxv
Z2ljYWxCb3R0b20oKTsKKyAgICBhdXRvIGhlaWdodCA9IHN0eWxlLmxvZ2ljYWxIZWlnaHQoKTsg
CisKKyAgICBhdXRvIGNvbnRhaW5pbmdCbG9ja0hlaWdodCA9IGxheW91dENvbnRleHQuZGlzcGxh
eUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS0+aGVpZ2h0KCk7
CisgICAgTGF5b3V0VW5pdCBjb21wdXRlZEhlaWdodFZhbHVlOworCisgICAgaWYgKCh0b3AuaXNB
dXRvKCkgJiYgaGVpZ2h0LmlzQXV0bygpICYmIGJvdHRvbS5pc0F1dG8oKSkKKyAgICAgICAgfHwg
KHRvcC5pc0F1dG8oKSAmJiBoZWlnaHQuaXNBdXRvKCkgJiYgIWJvdHRvbS5pc0F1dG8oKSkKKyAg
ICAgICAgfHwgKCF0b3AuaXNBdXRvKCkgJiYgaGVpZ2h0LmlzQXV0bygpICYmIGJvdHRvbS5pc0F1
dG8oKSkpIHsKKyAgICAgICAgLy8gQWxsIGF1dG8gKCMzKSwgIzEgYW5kICMzCisgICAgICAgIGNv
bXB1dGVkSGVpZ2h0VmFsdWU9IGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
bGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KTsKKyAgICB9IGVsc2UgaWYgKCF0b3AuaXNBdXRvKCkg
JiYgaGVpZ2h0LmlzQXV0bygpICYmICFib3R0b20uaXNBdXRvKCkpIHsKKyAgICAgICAgLy8gIzUK
KyAgICAgICAgYXV0byBtYXJnaW5Ub3AgPSBzdHlsZS5tYXJnaW5Ub3AoKS5pc0F1dG8oKSA/IExh
eW91dFVuaXQoKSA6IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLm1hcmdpblRvcCgpLCBjb250YWluaW5n
QmxvY2tIZWlnaHQpOworICAgICAgICBhdXRvIG1hcmdpbkJvdHRvbSA9IHN0eWxlLm1hcmdpbkJv
dHRvbSgpLmlzQXV0bygpID8gTGF5b3V0VW5pdCgpIDogdmFsdWVGb3JMZW5ndGgoc3R5bGUubWFy
Z2luQm90dG9tKCksIGNvbnRhaW5pbmdCbG9ja0hlaWdodCk7CisgICAgCisgICAgICAgIGF1dG8g
Y29udGFpbmluZ0Jsb2NrV2lkdGggPSBsYXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRC
b3goKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKSktPndpZHRoKCk7CisgICAgICAgIGF1dG8g
cGFkZGluZ1RvcCA9IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdUb3AoKSwgY29udGFpbmlu
Z0Jsb2NrV2lkdGgpOworICAgICAgICBhdXRvIHBhZGRpbmdCb3R0b20gPSB2YWx1ZUZvckxlbmd0
aChzdHlsZS5wYWRkaW5nQm90dG9tKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKKworICAgICAg
ICBhdXRvIGJvcmRlclRvcFdpZHRoID0gc3R5bGUuYm9yZGVyQmVmb3JlV2lkdGgoKTsKKyAgICAg
ICAgYXV0byBib3JkZXJCb3R0b21XaWR0aCA9IHN0eWxlLmJvcmRlckFmdGVyV2lkdGgoKTsKKwor
ICAgICAgICBjb21wdXRlZEhlaWdodFZhbHVlID0gY29udGFpbmluZ0Jsb2NrSGVpZ2h0IC0gKHRv
cC52YWx1ZSgpICsgbWFyZ2luVG9wICsgYm9yZGVyVG9wV2lkdGggKyBwYWRkaW5nVG9wICsgcGFk
ZGluZ0JvdHRvbSArIGJvcmRlckJvdHRvbVdpZHRoICsgbWFyZ2luQm90dG9tICsgYm90dG9tLnZh
bHVlKCkpOworICAgIH0gZWxzZSBpZiAoIWhlaWdodC5pc0F1dG8oKSkKKyAgICAgICAgY29tcHV0
ZWRIZWlnaHRWYWx1ZSA9IHZhbHVlRm9yTGVuZ3RoKGhlaWdodCwgY29udGFpbmluZ0Jsb2NrSGVp
Z2h0KTsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisgICAgZGlz
cGxheUJveC5zZXRIZWlnaHQoY29tcHV0ZWRIZWlnaHRWYWx1ZSk7Cit9CisKK0xheW91dFVuaXQg
Rm9ybWF0dGluZ0NvbnRleHQ6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
TGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0
Cit7CisgICAgQVNTRVJUKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8o
KSk7CisgICAgaWYgKCFpczxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRh
aW5lcj4obGF5b3V0Qm94KS5oYXNJbkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkgeworICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CisKKyAgICBhdXRvJiBmb3JtYXR0aW5nUm9vdENvbnRhaW5lciA9IGRv
d25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KTsKKyAgICAvLyAxMC42LjcgJ0F1dG8nIGhlaWdo
dHMgZm9yIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCByb290cworCisgICAgLy8gSWYgaXQgb25s
eSBoYXMgaW5saW5lLWxldmVsIGNoaWxkcmVuLCB0aGUgaGVpZ2h0IGlzIHRoZSBkaXN0YW5jZSBi
ZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIHRvcG1vc3QgbGluZSBib3ggYW5kIHRoZSBib3R0b20gb2Yg
dGhlIGJvdHRvbW1vc3QgbGluZSBib3guCisgICAgLy8gSWYgaXQgaGFzIGJsb2NrLWxldmVsIGNo
aWxkcmVuLCB0aGUgaGVpZ2h0IGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0b3AgbWFyZ2lu
LWVkZ2Ugb2YgdGhlIHRvcG1vc3QgYmxvY2stbGV2ZWwKKyAgICAvLyBjaGlsZCBib3ggYW5kIHRo
ZSBib3R0b20gbWFyZ2luLWVkZ2Ugb2YgdGhlIGJvdHRvbW1vc3QgYmxvY2stbGV2ZWwgY2hpbGQg
Ym94LgorCisgICAgLy8gSW4gYWRkaXRpb24sIGlmIHRoZSBlbGVtZW50IGhhcyBhbnkgZmxvYXRp
bmcgZGVzY2VuZGFudHMgd2hvc2UgYm90dG9tIG1hcmdpbiBlZGdlIGlzIGJlbG93IHRoZSBlbGVt
ZW50J3MgYm90dG9tIGNvbnRlbnQgZWRnZSwKKyAgICAvLyB0aGVuIHRoZSBoZWlnaHQgaXMgaW5j
cmVhc2VkIHRvIGluY2x1ZGUgdGhvc2UgZWRnZXMuIE9ubHkgZmxvYXRzIHRoYXQgcGFydGljaXBh
dGUgaW4gdGhpcyBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgYXJlIHRha2VuCisgICAgLy8gaW50
byBhY2NvdW50LCBlLmcuLCBmbG9hdHMgaW5zaWRlIGFic29sdXRlbHkgcG9zaXRpb25lZCBkZXNj
ZW5kYW50cyBvciBvdGhlciBmbG9hdHMgYXJlIG5vdC4KKyAgICBpZiAoZm9ybWF0dGluZ1Jvb3RD
b250YWluZXIuZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCgpKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIGF1dG8qIGZpcnN0RGlzcGxheUJveCA9IGxheW91dENvbnRleHQuZGlz
cGxheUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3RDb250YWluZXIuZmlyc3RJbkZsb3dD
aGlsZCgpKTsKKyAgICBhdXRvKiBsYXN0RGlzcGxheUJveCA9IGxheW91dENvbnRleHQuZGlzcGxh
eUJveEZvckxheW91dEJveCgqZm9ybWF0dGluZ1Jvb3RDb250YWluZXIubGFzdEluRmxvd0NoaWxk
KCkpOworCisgICAgYXV0byB0b3AgPSBmaXJzdERpc3BsYXlCb3gtPm1hcmdpbkJveCgpLnkoKTsK
KyAgICBhdXRvIGJvdHRvbSA9IGxhc3REaXNwbGF5Qm94LT5tYXJnaW5Cb3goKS5tYXhZKCk7Cisg
ICAgLy8gRklYTUU6IGFkZCBmbG9hdGluZyBzdXBwb3J0LgorICAgIHJldHVybiBib3R0b20gLSB0
b3A7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5k
ZXggM2U1ZTg3MDYxYzE3OTk5OWFlNjI2YjNmYzNhOWM2ZTk0NjlmOGQzNC4uY2I5OGU5NDQxNTg1
NTZkZmNkYWVkMGMyNmExN2YxNWUyZDgzZmEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zv
cm1hdHRpbmdDb250ZXh0LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCBjb21wdXRlRmxvYXRpbmdXaWR0aChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUluRmxvd1dpZHRoKGNvbnN0IEJveCYsIERp
c3BsYXk6OkJveCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlT3V0T2ZG
bG93SGVpZ2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OworICAgIHZpcnR1YWwg
dm9pZCBjb21wdXRlT3V0T2ZGbG93SGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBE
aXNwbGF5OjpCb3gmKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUZsb2F0aW5nSGVp
Z2h0KGNvbnN0IEJveCYsIERpc3BsYXk6OkJveCYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlSW5GbG93SGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpC
b3gmKSBjb25zdCA9IDA7CiAKQEAgLTg4LDYgKzg4LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
bGF5b3V0T3V0T2ZGbG93RGVzY2VuZGFudHMoTGF5b3V0Q29udGV4dCZzKSBjb25zdDsKIAogcHJp
dmF0ZToKKyAgICB2b2lkIGNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodChMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CisgICAgTGF5b3V0VW5p
dCBjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmKSBjb25zdDsKKwogICAgIFdlYWtQdHI8Qm94PiBtX3Jvb3Q7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlzcGxheUJveC5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlCb3guaAppbmRleCAzY2Rm
YjFjNWQwOGZlMWMzYmYyMTEyNjc5MTcwMTIzZWZhZDE3YjliLi40OWExZDEwNTQxZmU3M2QyMjAw
ZDMwMmZkMmEwOGQyZTRmMmE1MzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
ZGlzcGxheXRyZWUvRGlzcGxheUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNw
bGF5dHJlZS9EaXNwbGF5Qm94LmgKQEAgLTM1LDggKzM1LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogbmFtZXNwYWNlIExheW91dCB7Ci1jbGFzcyBMYXlvdXRDb250ZXh0OwogY2xhc3MgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDsKK2NsYXNzIEZvcm1hdHRpbmdDb250ZXh0OworY2xhc3MgTGF5
b3V0Q29udGV4dDsKIH0KIAogbmFtZXNwYWNlIERpc3BsYXkgewpAQCAtNDUsNiArNDYsNyBAQCBj
bGFzcyBCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQm94KTsKIHB1YmxpYzoKICAg
ICBmcmllbmQgY2xhc3MgTGF5b3V0OjpMYXlvdXRDb250ZXh0OworICAgIGZyaWVuZCBjbGFzcyBM
YXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0OwogICAgIGZyaWVuZCBjbGFzcyBMYXlvdXQ6OkJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ7CiAKICAgICB+Qm94KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340318</attachid>
            <date>2018-05-14 08:32:31 -0700</date>
            <delta_ts>2018-05-14 09:00:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185585-20180514083229.patch</filename>
            <type>text/plain</type>
            <size>10315</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY0MGMxYzM5N2EyZDhj
ZjE4NDhhM2YyMjc0MTM0ZmQxMjZkY2RjMC4uNjU3YzUzOGMwOTBjZDRmMzdiOGFhMzcwYWE4MDg4
OTY5ODQ5NzZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA1LTE0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW1wbGVtZW50IGhl
aWdodCBjb21wdXRhdGlvbiBmb3Igbm9uLXJlcGxhY2VkIG91dCBvZiBmbG93IGVsZW1lbnRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgKiBsYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlT3V0T2ZGbG93SGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dE91dE9mRmxv
d0Rlc2NlbmRhbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGlu
Z0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZEhlaWdodCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0Rm9y
QmxvY2tGb3JtYXR0aW5nQ29udGV4dFJvb3RXaXRoQXV0b0hlaWdodCBjb25zdCk6CisgICAgICAg
ICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2Rpc3Bs
YXl0cmVlL0Rpc3BsYXlCb3guaDoKKwogMjAxOC0wNS0xNCAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEltcGxlbWVudCB3aWR0aCBjb21wdXRhdGlvbiBm
b3Igbm9uLXJlcGxhY2VkIG91dCBvZiBmbG93IGVsZW1lbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggMTBmNDFmM2IxZmFkZDAyZGRjMWFiZTc3
NjA4ODZmNzBmYzRkODY1MS4uOGRhNzBkZWU4ZTA4YTY3ZmZlMjgxZmNmMDhmNDM4ZGFjYjM5MTU0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC03
Miw3ICs3Miw3IEBAIHZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVXaWR0aChMYXlvdXRD
b250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxhCiB2b2lkIEZvcm1hdHRpbmdDb250
ZXh0Ojpjb21wdXRlSGVpZ2h0KExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNvbnN0CiB7CiAgICAgaWYg
KGxheW91dEJveC5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJuIGNvbXB1
dGVPdXRPZkZsb3dIZWlnaHQobGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAgICAgcmV0dXJu
IGNvbXB1dGVPdXRPZkZsb3dIZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5
Qm94KTsKICAgICBpZiAobGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCiAgICAgICAg
IHJldHVybiBjb21wdXRlRmxvYXRpbmdIZWlnaHQobGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAg
ICByZXR1cm4gY29tcHV0ZUluRmxvd0hlaWdodChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gsIGRp
c3BsYXlCb3gpOwpAQCAtOTEsOCArOTEsMTMgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZUZsb2F0aW5nV2lkdGgoY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3QKIHsKIH0K
IAotdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9mRmxvd0hlaWdodChjb25zdCBC
b3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdAordm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0
ZU91dE9mRmxvd0hlaWdodChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gm
IGxheW91dEJveCwgRGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAogeworICAgIGlmICgh
bGF5b3V0Qm94LmlzUmVwbGFjZWQoKSkgeworICAgICAgICBjb21wdXRlT3V0T2ZGbG93Tm9uUmVw
bGFjZWRIZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBG
b3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUZsb2F0aW5nSGVpZ2h0KGNvbnN0IEJveCYsIERpc3Bs
YXk6OkJveCYpIGNvbnN0CkBAIC0xMzgsMTAgKzE0Myw5NSBAQCB2b2lkIEZvcm1hdHRpbmdDb250
ZXh0OjpsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cyhMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250
ZXh0KQogICAgICAgICBhdXRvIGZvcm1hdHRpbmdDb250ZXh0ID0gbGF5b3V0Q29udGV4dC5mb3Jt
YXR0aW5nQ29udGV4dChsYXlvdXRCb3gpOwogICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5
b3V0KGxheW91dENvbnRleHQsIGxheW91dENvbnRleHQuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3Rh
dGUobGF5b3V0Qm94LCAqZm9ybWF0dGluZ0NvbnRleHQpKTsKIAotICAgICAgICBjb21wdXRlT3V0
T2ZGbG93SGVpZ2h0KGxheW91dEJveCwgZGlzcGxheUJveCk7CisgICAgICAgIGNvbXB1dGVPdXRP
ZkZsb3dIZWlnaHQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94LCBkaXNwbGF5Qm94KTsKICAgICB9
CiB9CiAKK3ZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNl
ZEhlaWdodChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJv
eCwgRGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94KSBjb25zdAoreworICAgIC8vIEZvciBhYnNvbHV0
ZWx5IHBvc2l0aW9uZWQgZWxlbWVudHMsIHRoZSB1c2VkIHZhbHVlcyBvZiB0aGUgdmVydGljYWwg
ZGltZW5zaW9ucyBtdXN0IHNhdGlzZnkgdGhpcyBjb25zdHJhaW50OgorICAgIC8vICd0b3AnICsg
J21hcmdpbi10b3AnICsgJ2JvcmRlci10b3Atd2lkdGgnICsgJ3BhZGRpbmctdG9wJyArICdoZWln
aHQnICsgJ3BhZGRpbmctYm90dG9tJyArICdib3JkZXItYm90dG9tLXdpZHRoJyArICdtYXJnaW4t
Ym90dG9tJyArICdib3R0b20nCisgICAgLy8gPSBoZWlnaHQgb2YgY29udGFpbmluZyBibG9jawor
CisgICAgLy8gSWYgYWxsIHRocmVlIG9mICd0b3AnLCAnaGVpZ2h0JywgYW5kICdib3R0b20nIGFy
ZSBhdXRvLCBzZXQgJ3RvcCcgdG8gdGhlIHN0YXRpYyBwb3NpdGlvbiBhbmQgYXBwbHkgcnVsZSBu
dW1iZXIgdGhyZWUgYmVsb3cuCisKKyAgICAvLyBJZiBub25lIG9mIHRoZSB0aHJlZSBhcmUgJ2F1
dG8nOiBJZiBib3RoICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIGFyZSAnYXV0bycs
IHNvbHZlIHRoZSBlcXVhdGlvbiB1bmRlciB0aGUgZXh0cmEKKyAgICAvLyBjb25zdHJhaW50IHRo
YXQgdGhlIHR3byBtYXJnaW5zIGdldCBlcXVhbCB2YWx1ZXMuIElmIG9uZSBvZiAnbWFyZ2luLXRv
cCcgb3IgJ21hcmdpbi1ib3R0b20nIGlzICdhdXRvJywgc29sdmUgdGhlIGVxdWF0aW9uIGZvciB0
aGF0IHZhbHVlLgorICAgIC8vIElmIHRoZSB2YWx1ZXMgYXJlIG92ZXItY29uc3RyYWluZWQsIGln
bm9yZSB0aGUgdmFsdWUgZm9yICdib3R0b20nIGFuZCBzb2x2ZSBmb3IgdGhhdCB2YWx1ZS4KKwor
ICAgIC8vIE90aGVyd2lzZSwgcGljayB0aGUgb25lIG9mIHRoZSBmb2xsb3dpbmcgc2l4IHJ1bGVz
IHRoYXQgYXBwbGllcy4KKworICAgIC8vIDEuICd0b3AnIGFuZCAnaGVpZ2h0JyBhcmUgJ2F1dG8n
IGFuZCAnYm90dG9tJyBpcyBub3QgJ2F1dG8nLCB0aGVuIHRoZSBoZWlnaHQgaXMgYmFzZWQgb24g
dGhlIGNvbnRlbnQgcGVyIDEwLjYuNywKKyAgICAvLyAgICAgc2V0ICdhdXRvJyB2YWx1ZXMgZm9y
ICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIHRvIDAsIGFuZCBzb2x2ZSBmb3IgJ3Rv
cCcKKyAgICAvLyAyLiAndG9wJyBhbmQgJ2JvdHRvbScgYXJlICdhdXRvJyBhbmQgJ2hlaWdodCcg
aXMgbm90ICdhdXRvJywgdGhlbiBzZXQgJ3RvcCcgdG8gdGhlIHN0YXRpYyBwb3NpdGlvbiwgc2V0
ICdhdXRvJyB2YWx1ZXMgZm9yCisgICAgLy8gICAgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJv
dHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAnYm90dG9tJworICAgIC8vIDMuICdoZWlnaHQnIGFu
ZCAnYm90dG9tJyBhcmUgJ2F1dG8nIGFuZCAndG9wJyBpcyBub3QgJ2F1dG8nLCB0aGVuIHRoZSBo
ZWlnaHQgaXMgYmFzZWQgb24gdGhlIGNvbnRlbnQgcGVyIDEwLjYuNywgc2V0ICdhdXRvJworICAg
IC8vICAgICB2YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0b20nIHRvIDAs
IGFuZCBzb2x2ZSBmb3IgJ2JvdHRvbScKKyAgICAvLyA0LiAndG9wJyBpcyAnYXV0bycsICdoZWln
aHQnIGFuZCAnYm90dG9tJyBhcmUgbm90ICdhdXRvJywgdGhlbiBzZXQgJ2F1dG8nIHZhbHVlcyBm
b3IgJ21hcmdpbi10b3AnIGFuZCAnbWFyZ2luLWJvdHRvbScgdG8gMCwgYW5kIHNvbHZlIGZvciAn
dG9wJworICAgIC8vIDUuICdoZWlnaHQnIGlzICdhdXRvJywgJ3RvcCcgYW5kICdib3R0b20nIGFy
ZSBub3QgJ2F1dG8nLCB0aGVuICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQgJ21h
cmdpbi1ib3R0b20nIGFyZSBzZXQgdG8gMCBhbmQgc29sdmUgZm9yICdoZWlnaHQnCisgICAgLy8g
Ni4gJ2JvdHRvbScgaXMgJ2F1dG8nLCAndG9wJyBhbmQgJ2hlaWdodCcgYXJlIG5vdCAnYXV0bycs
IHRoZW4gc2V0ICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJnaW4tdG9wJyBhbmQgJ21hcmdpbi1ib3R0
b20nIHRvIDAgYW5kIHNvbHZlIGZvciAnYm90dG9tJworICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0
Qm94LnN0eWxlKCk7CisgICAgYXV0byB0b3AgPSBzdHlsZS5sb2dpY2FsVG9wKCk7CisgICAgYXV0
byBib3R0b20gPSBzdHlsZS5sb2dpY2FsQm90dG9tKCk7CisgICAgYXV0byBoZWlnaHQgPSBzdHls
ZS5sb2dpY2FsSGVpZ2h0KCk7IAorCisgICAgYXV0byBjb250YWluaW5nQmxvY2tIZWlnaHQgPSBs
YXlvdXRDb250ZXh0LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmxheW91dEJveC5jb250YWluaW5n
QmxvY2soKSktPmhlaWdodCgpOworICAgIExheW91dFVuaXQgY29tcHV0ZWRIZWlnaHRWYWx1ZTsK
KworICAgIGlmICgodG9wLmlzQXV0bygpICYmIGhlaWdodC5pc0F1dG8oKSAmJiBib3R0b20uaXNB
dXRvKCkpCisgICAgICAgIHx8ICh0b3AuaXNBdXRvKCkgJiYgaGVpZ2h0LmlzQXV0bygpICYmICFi
b3R0b20uaXNBdXRvKCkpCisgICAgICAgIHx8ICghdG9wLmlzQXV0bygpICYmIGhlaWdodC5pc0F1
dG8oKSAmJiBib3R0b20uaXNBdXRvKCkpKSB7CisgICAgICAgIC8vIEFsbCBhdXRvICgjMyksICMx
IGFuZCAjMworICAgICAgICBjb21wdXRlZEhlaWdodFZhbHVlID0gY29udGVudEhlaWdodEZvckZv
cm1hdHRpbmdDb250ZXh0Um9vdChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOworICAgIH0gZWxz
ZSBpZiAoIXRvcC5pc0F1dG8oKSAmJiBoZWlnaHQuaXNBdXRvKCkgJiYgIWJvdHRvbS5pc0F1dG8o
KSkgeworICAgICAgICAvLyAjNQorICAgICAgICBhdXRvIG1hcmdpblRvcCA9IHN0eWxlLm1hcmdp
blRvcCgpLmlzQXV0bygpID8gTGF5b3V0VW5pdCgpIDogdmFsdWVGb3JMZW5ndGgoc3R5bGUubWFy
Z2luVG9wKCksIGNvbnRhaW5pbmdCbG9ja0hlaWdodCk7CisgICAgICAgIGF1dG8gbWFyZ2luQm90
dG9tID0gc3R5bGUubWFyZ2luQm90dG9tKCkuaXNBdXRvKCkgPyBMYXlvdXRVbml0KCkgOiB2YWx1
ZUZvckxlbmd0aChzdHlsZS5tYXJnaW5Cb3R0b20oKSwgY29udGFpbmluZ0Jsb2NrSGVpZ2h0KTsK
KyAgICAKKyAgICAgICAgYXV0byBjb250YWluaW5nQmxvY2tXaWR0aCA9IGxheW91dENvbnRleHQu
ZGlzcGxheUJveEZvckxheW91dEJveCgqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKS0+d2lk
dGgoKTsKKyAgICAgICAgYXV0byBwYWRkaW5nVG9wID0gdmFsdWVGb3JMZW5ndGgoc3R5bGUucGFk
ZGluZ1RvcCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCk7CisgICAgICAgIGF1dG8gcGFkZGluZ0Jv
dHRvbSA9IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdCb3R0b20oKSwgY29udGFpbmluZ0Js
b2NrV2lkdGgpOworCisgICAgICAgIGF1dG8gYm9yZGVyVG9wV2lkdGggPSBzdHlsZS5ib3JkZXJC
ZWZvcmVXaWR0aCgpOworICAgICAgICBhdXRvIGJvcmRlckJvdHRvbVdpZHRoID0gc3R5bGUuYm9y
ZGVyQWZ0ZXJXaWR0aCgpOworCisgICAgICAgIGNvbXB1dGVkSGVpZ2h0VmFsdWUgPSBjb250YWlu
aW5nQmxvY2tIZWlnaHQgLSAodG9wLnZhbHVlKCkgKyBtYXJnaW5Ub3AgKyBib3JkZXJUb3BXaWR0
aCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyQm90dG9tV2lkdGggKyBtYXJn
aW5Cb3R0b20gKyBib3R0b20udmFsdWUoKSk7CisgICAgfSBlbHNlIGlmICghaGVpZ2h0LmlzQXV0
bygpKQorICAgICAgICBjb21wdXRlZEhlaWdodFZhbHVlID0gdmFsdWVGb3JMZW5ndGgoaGVpZ2h0
LCBjb250YWluaW5nQmxvY2tIZWlnaHQpOworICAgIGVsc2UKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisKKyAgICBkaXNwbGF5Qm94LnNldEhlaWdodChjb21wdXRlZEhlaWdodFZhbHVl
KTsKK30KKworTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6Y29udGVudEhlaWdodEZvckZv
cm1hdHRpbmdDb250ZXh0Um9vdChMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBC
b3gmIGxheW91dEJveCkgY29uc3QKK3sKKyAgICBBU1NFUlQobGF5b3V0Qm94LnN0eWxlKCkubG9n
aWNhbEhlaWdodCgpLmlzQXV0bygpKTsKKyAgICBpZiAoIWlzPENvbnRhaW5lcj4obGF5b3V0Qm94
KSB8fCAhZG93bmNhc3Q8Q29udGFpbmVyPihsYXlvdXRCb3gpLmhhc0luRmxvd09yRmxvYXRpbmdD
aGlsZCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGF1dG8mIGZvcm1hdHRpbmdSb290Q29u
dGFpbmVyID0gZG93bmNhc3Q8Q29udGFpbmVyPihsYXlvdXRCb3gpOworICAgIC8vIDEwLjYuNyAn
QXV0bycgaGVpZ2h0cyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0IHJvb3RzCisKKyAgICAv
LyBJZiBpdCBvbmx5IGhhcyBpbmxpbmUtbGV2ZWwgY2hpbGRyZW4sIHRoZSBoZWlnaHQgaXMgdGhl
IGRpc3RhbmNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgdG9wbW9zdCBsaW5lIGJveCBhbmQgdGhl
IGJvdHRvbSBvZiB0aGUgYm90dG9tbW9zdCBsaW5lIGJveC4KKyAgICAvLyBJZiBpdCBoYXMgYmxv
Y2stbGV2ZWwgY2hpbGRyZW4sIHRoZSBoZWlnaHQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhl
IHRvcCBtYXJnaW4tZWRnZSBvZiB0aGUgdG9wbW9zdCBibG9jay1sZXZlbAorICAgIC8vIGNoaWxk
IGJveCBhbmQgdGhlIGJvdHRvbSBtYXJnaW4tZWRnZSBvZiB0aGUgYm90dG9tbW9zdCBibG9jay1s
ZXZlbCBjaGlsZCBib3guCisKKyAgICAvLyBJbiBhZGRpdGlvbiwgaWYgdGhlIGVsZW1lbnQgaGFz
IGFueSBmbG9hdGluZyBkZXNjZW5kYW50cyB3aG9zZSBib3R0b20gbWFyZ2luIGVkZ2UgaXMgYmVs
b3cgdGhlIGVsZW1lbnQncyBib3R0b20gY29udGVudCBlZGdlLAorICAgIC8vIHRoZW4gdGhlIGhl
aWdodCBpcyBpbmNyZWFzZWQgdG8gaW5jbHVkZSB0aG9zZSBlZGdlcy4gT25seSBmbG9hdHMgdGhh
dCBwYXJ0aWNpcGF0ZSBpbiB0aGlzIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCBhcmUgdGFrZW4K
KyAgICAvLyBpbnRvIGFjY291bnQsIGUuZy4sIGZsb2F0cyBpbnNpZGUgYWJzb2x1dGVseSBwb3Np
dGlvbmVkIGRlc2NlbmRhbnRzIG9yIG90aGVyIGZsb2F0cyBhcmUgbm90LgorICAgIGlmIChmb3Jt
YXR0aW5nUm9vdENvbnRhaW5lci5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgYXV0byogZmlyc3REaXNwbGF5Qm94ID0gbGF5b3V0
Q29udGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpmb3JtYXR0aW5nUm9vdENvbnRhaW5lci5m
aXJzdEluRmxvd0NoaWxkKCkpOworICAgIGF1dG8qIGxhc3REaXNwbGF5Qm94ID0gbGF5b3V0Q29u
dGV4dC5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpmb3JtYXR0aW5nUm9vdENvbnRhaW5lci5sYXN0
SW5GbG93Q2hpbGQoKSk7CisKKyAgICBhdXRvIHRvcCA9IGZpcnN0RGlzcGxheUJveC0+bWFyZ2lu
Qm94KCkueSgpOworICAgIGF1dG8gYm90dG9tID0gbGFzdERpc3BsYXlCb3gtPm1hcmdpbkJveCgp
Lm1heFkoKTsKKyAgICAvLyBGSVhNRTogYWRkIGZsb2F0aW5nIHN1cHBvcnQuCisgICAgcmV0dXJu
IGJvdHRvbSAtIHRvcDsKK30KKwogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZU91dE9m
Rmxvd05vblJlcGxhY2VkV2lkdGgoTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3Qg
Qm94JiBsYXlvdXRCb3gsIERpc3BsYXk6OkJveCYgZGlzcGxheUJveCkgY29uc3QKIHsKICAgICAv
LyAnbGVmdCcgKyAnbWFyZ2luLWxlZnQnICsgJ2JvcmRlci1sZWZ0LXdpZHRoJyArICdwYWRkaW5n
LWxlZnQnICsgJ3dpZHRoJyArICdwYWRkaW5nLXJpZ2h0JyArICdib3JkZXItcmlnaHQtd2lkdGgn
ICsgJ21hcmdpbi1yaWdodCcgKyAncmlnaHQnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5oCmluZGV4IGJhODNiODU1ODBiZDMxMThmYTBhNzc4YzRjYThlZGEzZjhmMWM1
MzYuLjQyZmFlZGFmZjc3NzM1ZjQ2YTY2M2M2OTUzNDE5Mjc4ZjRiMWVkMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC03NSw3ICs3NSw3IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUZsb2F0aW5nV2lkdGgoY29uc3QgQm94Jiwg
RGlzcGxheTo6Qm94JikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbkZsb3dXaWR0
aChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgY29tcHV0ZU91dE9mRmxvd0hlaWdodChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25z
dDsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZU91dE9mRmxvd0hlaWdodChMYXlvdXRDb250ZXh0
JiwgY29uc3QgQm94JiwgRGlzcGxheTo6Qm94JikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGNv
bXB1dGVGbG9hdGluZ0hlaWdodChjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKICAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUluRmxvd0hlaWdodChMYXlvdXRDb250ZXh0JiwgY29uc3Qg
Qm94JiwgRGlzcGxheTo6Qm94JikgY29uc3QgPSAwOwogCkBAIC04OCw3ICs4OCwxMCBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCBsYXlvdXRPdXRPZkZsb3dEZXNjZW5kYW50cyhMYXlvdXRDb250ZXh0
JnMpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIHZvaWQgY29tcHV0ZU91dE9mRmxvd05vblJlcGxh
Y2VkSGVpZ2h0KExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25z
dDsKICAgICB2b2lkIGNvbXB1dGVPdXRPZkZsb3dOb25SZXBsYWNlZFdpZHRoKExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmLCBEaXNwbGF5OjpCb3gmKSBjb25zdDsKKworICAgIExheW91dFVuaXQg
Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94JikgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBzaHJpbmtUb0ZpdFdpZHRoKExheW91dENv
bnRleHQmLCBjb25zdCBCb3gmKSBjb25zdDsKIAogICAgIFdlYWtQdHI8Qm94PiBtX3Jvb3Q7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>