<?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>190560</bug_id>
          
          <creation_ts>2018-10-14 02:33:13 -0700</creation_ts>
          <short_desc>[Apple Pay] New shipping methods are ignored when updating after the shippingaddresschange event</short_desc>
          <delta_ts>2018-10-15 14:11:08 -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>New Bugs</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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1469053</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-14 02:33:13 -0700</bug_when>
    <thetext>[Apple Pay] New shipping methods are ignored when updating after the shippingaddresschange event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469054</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-14 02:33:24 -0700</bug_when>
    <thetext>rdar://problem/44559075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469055</commentid>
    <comment_count>2</comment_count>
      <attachid>352274</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-14 02:39:30 -0700</bug_when>
    <thetext>Created attachment 352274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469102</commentid>
    <comment_count>3</comment_count>
      <attachid>352274</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-14 20:08:37 -0700</bug_when>
    <thetext>Comment on attachment 352274
Patch

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

&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:266
&gt; +    }

I guess there is some existing code that extracts shipping methods from shipping options.
Would it be worth to share the code?

&gt; Source/WebCore/testing/MockPaymentCoordinator.cpp:115
&gt; +    return applePayShippingMethods;

Maybe WTF::map if you like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469397</commentid>
    <comment_count>4</comment_count>
      <attachid>352274</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-15 12:43:49 -0700</bug_when>
    <thetext>Comment on attachment 352274
Patch

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

&gt;&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:266
&gt;&gt; +    }
&gt; 
&gt; I guess there is some existing code that extracts shipping methods from shipping options.
&gt; Would it be worth to share the code?

Yup, good call.

&gt;&gt; Source/WebCore/testing/MockPaymentCoordinator.cpp:115
&gt;&gt; +    return applePayShippingMethods;
&gt; 
&gt; Maybe WTF::map if you like it.

Very nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469404</commentid>
    <comment_count>5</comment_count>
      <attachid>352363</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-15 12:47:30 -0700</bug_when>
    <thetext>Created attachment 352363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469451</commentid>
    <comment_count>6</comment_count>
      <attachid>352363</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 14:11:06 -0700</bug_when>
    <thetext>Comment on attachment 352363
Patch

Clearing flags on attachment: 352363

Committed r237142: &lt;https://trac.webkit.org/changeset/237142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469452</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 14:11:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352274</attachid>
            <date>2018-10-14 02:39:30 -0700</date>
            <delta_ts>2018-10-15 12:47:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190560-20181014023929.patch</filename>
            <type>text/plain</type>
            <size>13918</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZjY2M1ZDc5YmQ2N2Nl
NGMzNmZmN2MzNGE2MWEzODM5YmNlMTM4Mi4uOTI1ODE3NmFlOGUxM2MxZmVjM2Y1ODVkY2RhNDdh
NTMwOGE0MDdjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTEwLTE0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBOZXcgc2hp
cHBpbmcgbWV0aG9kcyBhcmUgaWdub3JlZCB3aGVuIHVwZGF0aW5nIGFmdGVyIHRoZSBzaGlwcGlu
Z2FkZHJlc3NjaGFuZ2UgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MDU2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NTkwNzU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhIFBh
eW1lbnREZXRhaWxzVXBkYXRlIHdpdGggc2hpcHBpbmcgb3B0aW9ucyB3YXMgc3BlY2lmaWVkIHRv
IHVwZGF0ZVdpdGgoKSBhZnRlciB0aGUKKyAgICAgICAgc2hpcHBpbmdhZGRyZXNzY2hhbmdlIGV2
ZW50IGZpcmVzLCBBcHBsZVBheVBheW1lbnRIYW5kbGVyIG5lZWRzIHRvIGNvbnZlcnQgdGhlIHNo
aXBwaW5nCisgICAgICAgIG9wdGlvbnMgdG8gU2hpcHBpbmdNZXRob2RzIGFuZCBhZGQgdGhlbSB0
byB0aGUgU2hpcHBpbmdDb250YWN0VXBkYXRlIHNvIHRoYXQgdGhlIEFwcGxlIFBheQorICAgICAg
ICBVSSByZW5kZXJzIHRoZSBuZXcgb3B0aW9ucy4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2Vz
IHRvIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdl
RXZlbnRFcnJvcnMuaHR0cHMuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ01ldGhvZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVTaGlwcGluZ01ldGhvZHMpOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hpcHBpbmdBZGRyZXNzVXBkYXRl
ZCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmg6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnQpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbik6
CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICog
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbDoKKwogMjAxOC0xMC0xMiAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBbGxvdyBT
UEkgY2xpZW50cyB0byBsYXkgb3V0IGF0IGFyYml0cmFyaWx5IHNjYWxlZCBzaXplcyBhbmQgc2Nh
bGUgdG8gZml0IHRoZSB2aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbAppbmRleCAzNmYzYWY3NTRiZGQz
MjQwZGYyZDFhOGUzN2ZmODUxYTQ4ZTVkOWI1Li5hMzQ0MTQ1NDdhNGM2NDMyMmM0ZjI1YTcwMTMw
ZTdlNmNhZGUzOWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKQEAgLTI1LDcgKzI1LDggQEAKIAog
WwogICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKLSAgICBKU0dlbmVyYXRlVG9KU09iamVjdAor
ICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0
LAogXSBkaWN0aW9uYXJ5IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QgewogICAgIHJlcXVpcmVkIERP
TVN0cmluZyBsYWJlbDsKICAgICByZXF1aXJlZCBET01TdHJpbmcgZGV0YWlsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eVBheW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggOGY1NzUwMDgwOTQy
MDY4YTZjODg1Yjc1Y2M0ZmIxMmZhNjgzYmI0Zi4uZWZlOTNjZjAxYTk1NjZhNDk1ZDUxZWU1ZDc2
ZjI0YzAwMzdmZWQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhh
bmRsZXIuY3BwCkBAIC0yNDgsNiArMjQ4LDI1IEBAIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6Y2FuTWFrZVBheW1lbnQoRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuCiAK
ICAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCht
X2FwcGxlUGF5UmVxdWVzdC0+bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudCgpLmRvbWFpbigp
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CisgICAgCitFeGNlcHRpb25PcjxWZWN0
b3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPj4gQXBwbGVQ
YXlQYXltZW50SGFuZGxlcjo6Y29tcHV0ZVNoaXBwaW5nTWV0aG9kcygpCit7CisgICAgYXV0byYg
ZGV0YWlscyA9IG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCk7CisgICAgYXV0byYg
Y3VycmVuY3kgPSBkZXRhaWxzLnRvdGFsLmFtb3VudC5jdXJyZW5jeTsKKyAgICBhdXRvJiBzaGlw
cGluZ09wdGlvbnMgPSBkZXRhaWxzLnNoaXBwaW5nT3B0aW9uczsKKworICAgIFZlY3RvcjxBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2Q+IHNoaXBwaW5nTWV0aG9k
czsKKyAgICBzaGlwcGluZ01ldGhvZHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaGlwcGluZ09w
dGlvbnMuc2l6ZSgpKTsKKworICAgIGZvciAoYXV0byYgc2hpcHBpbmdPcHRpb24gOiBzaGlwcGlu
Z09wdGlvbnMpIHsKKyAgICAgICAgYXV0byBzaGlwcGluZ01ldGhvZCA9IGNvbnZlcnRBbmRWYWxp
ZGF0ZShzaGlwcGluZ09wdGlvbiwgY3VycmVuY3kpOworICAgICAgICBpZiAoc2hpcHBpbmdNZXRo
b2QuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gc2hpcHBpbmdNZXRob2QucmVs
ZWFzZUV4Y2VwdGlvbigpOworICAgICAgICBzaGlwcGluZ01ldGhvZHMudW5jaGVja2VkQXBwZW5k
KHNoaXBwaW5nTWV0aG9kLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICB9CisKKyAgICByZXR1
cm4gV1RGTW92ZShzaGlwcGluZ01ldGhvZHMpOworfQogCiBFeGNlcHRpb25PcjxBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IEFwcGxlUGF5UGF5bWVudEhh
bmRsZXI6OmNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpCiB7CkBAIC00MDgsNiArNDI3LDExIEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRkcmVz
c1VwZGF0ZWQoVmVjdG9yPFBheW1lbnRFCiAgICAgU2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0
ZTsKICAgICB1cGRhdGUuZXJyb3JzID0gV1RGTW92ZShlcnJvcnMpOwogCisgICAgYXV0byBuZXdT
aGlwcGluZ01ldGhvZHMgPSBjb21wdXRlU2hpcHBpbmdNZXRob2RzKCk7CisgICAgaWYgKG5ld1No
aXBwaW5nTWV0aG9kcy5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIG5ld1NoaXBwaW5n
TWV0aG9kcy5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgdXBkYXRlLm5ld1NoaXBwaW5nTWV0aG9k
cyA9IG5ld1NoaXBwaW5nTWV0aG9kcy5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKwogICAgIGF1dG8g
bmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb21wdXRlVG90YWxBbmRMaW5lSXRlbXMoKTsKICAgICBp
ZiAobmV3VG90YWxBbmRMaW5lSXRlbXMuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBu
ZXdUb3RhbEFuZExpbmVJdGVtcy5yZWxlYXNlRXhjZXB0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDkwN2U4YTdiOTA4MTc2NmU4YzE0Zjdk
YzhlYjRhYmU2Mjk1ZjYxOWMuLmNlNTA1M2ExMmJjMDZkYjA2ZmJkYzFlMDU0ZTk4OTI0MzMzYjA3
NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCkBAIC01
Miw2ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Q7CiAg
ICAgUGF5bWVudENvb3JkaW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAorICAg
IEV4Y2VwdGlvbk9yPFZlY3RvcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBp
bmdNZXRob2Q+PiBjb21wdXRlU2hpcHBpbmdNZXRob2RzKCk7CiAgICAgRXhjZXB0aW9uT3I8QXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zPiBjb21wdXRlVG90
YWxBbmRMaW5lSXRlbXMoKTsKICAgICBWZWN0b3I8UGF5bWVudEVycm9yPiBjb21wdXRlRXJyb3Jz
KFN0cmluZyYmIGVycm9yLCBBZGRyZXNzRXJyb3JzJiYsIFBheWVyRXJyb3JGaWVsZHMmJiwgSlND
OjpKU09iamVjdCogcGF5bWVudE1ldGhvZEVycm9ycykgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDliNmU5NWUy
MTU0ODMwYzAwMDNkNmUyMTgwMDNhY2VhYTIyZmVkNTEuLjdmODQxM2E3OTA0Y2IzZTc0ZWM3M2Ji
MTk2MDRhMmFkY2RkNzE5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMTA2LDEwICsxMDYsMjAgQEAgc3RhdGljIHZvaWQg
ZGlzcGF0Y2hJZlNob3dpbmcoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogICAgIH0pOwog
fQogCitzdGF0aWMgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IGNvbnZlcnQoY29uc3Qg
VmVjdG9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZD4mIHNo
aXBwaW5nTWV0aG9kcykKK3sKKyAgICBWZWN0b3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gYXBw
bGVQYXlTaGlwcGluZ01ldGhvZHM7CisgICAgYXBwbGVQYXlTaGlwcGluZ01ldGhvZHMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShzaGlwcGluZ01ldGhvZHMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8m
IHNoaXBwaW5nTWV0aG9kIDogc2hpcHBpbmdNZXRob2RzKQorICAgICAgICBhcHBsZVBheVNoaXBw
aW5nTWV0aG9kcy51bmNoZWNrZWRBcHBlbmQoeyBzaGlwcGluZ01ldGhvZC5sYWJlbCwgc2hpcHBp
bmdNZXRob2QuZGV0YWlsLCBzaGlwcGluZ01ldGhvZC5hbW91bnQsIHNoaXBwaW5nTWV0aG9kLmlk
ZW50aWZpZXIgfSk7CisgICAgcmV0dXJuIGFwcGxlUGF5U2hpcHBpbmdNZXRob2RzOworfQorCiBi
b29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29u
c3QgVmVjdG9yPFVSTD4mLCBjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYgcmVx
dWVzdCkKIHsKICAgICBpZiAocmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QoKS5wa0NvbnRhY3QoKSkK
ICAgICAgICAgbV9zaGlwcGluZ0FkZHJlc3MgPSByZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCgpLnRv
QXBwbGVQYXlQYXltZW50Q29udGFjdChyZXF1ZXN0LnZlcnNpb24oKSk7CisgICAgbV9zaGlwcGlu
Z01ldGhvZHMgPSBjb252ZXJ0KHJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCkpOwogCiAgICAgQVNT
RVJUKHNob3dDb3VudCA9PSBoaWRlQ291bnQpOwogICAgICsrc2hvd0NvdW50OwpAQCAtMTU0LDYg
KzE2NCw3IEBAIHZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwCiAgICAgaWYgKCFzaGlwcGluZ0NvbnRh
Y3RVcGRhdGUpCiAgICAgICAgIHJldHVybjsKIAorICAgIG1fc2hpcHBpbmdNZXRob2RzID0gY29u
dmVydChzaGlwcGluZ0NvbnRhY3RVcGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyk7CiAgICAgdXBk
YXRlVG90YWxBbmRMaW5lSXRlbXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdUb3RhbEFuZExp
bmVJdGVtcyk7CiAgICAgbV9lcnJvcnMgPSBXVEZNb3ZlKHNoaXBwaW5nQ29udGFjdFVwZGF0ZS0+
ZXJyb3JzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmgKaW5kZXggNWMzNjM1ZTczMDE1N2JhMmRiOWFlMDNjN2YyMGQ2N2RjYjQ1ZjU0My4u
NDc3MTA3Yzc3YTE4NGQ4MmY3MjdjYTc4MTAwMzI2YjJkNGE2MGI1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTI4LDYgKzI4LDcg
QEAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5o
IgorI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNsdWRlICJNb2NrUGF5
bWVudEFkZHJlc3MuaCIKICNpbmNsdWRlICJNb2NrUGF5bWVudEVycm9yLmgiCiAjaW5jbHVkZSAi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCkBAIC01Miw2ICs1Myw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBBcHBsZVBheUxpbmVJdGVtJiB0b3RhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWw7
IH0KICAgICBjb25zdCBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4mIGxpbmVJdGVtcygpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUl0ZW1zOyB9CiAgICAgY29uc3QgVmVjdG9yPE1vY2tQYXltZW50RXJy
b3I+JiBlcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yczsgfQorICAgIGNvbnN0IFZlY3Rv
cjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiYgc2hpcHBpbmdNZXRob2RzKCkgY29uc3QgeyByZXR1
cm4gbV9zaGlwcGluZ01ldGhvZHM7IH0KIAogICAgIHZvaWQgcmVmKCkgY29uc3QgeyB9CiAgICAg
dm9pZCBkZXJlZigpIGNvbnN0IHsgfQpAQCAtNzksNiArODEsNyBAQCBwcml2YXRlOgogICAgIEFw
cGxlUGF5TGluZUl0ZW0gbV90b3RhbDsKICAgICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4gbV9s
aW5lSXRlbXM7CiAgICAgVmVjdG9yPE1vY2tQYXltZW50RXJyb3I+IG1fZXJyb3JzOworICAgIFZl
Y3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBtX3NoaXBwaW5nTWV0aG9kczsKICAgICBIYXNo
U2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsCmluZGV4IGQ3ZTVkNTg5NTQ5ZjFlZDhjODZlZDVmNjJjNTVjNzdiYzlm
ZGM3ZDMuLjhlZTBiOWM0YjI0ZTc1ZTAwMDdhZTU2OWNiNmVlYzFhNGY5NGVjMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbApAQCAt
MzYsNCArMzYsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBcHBsZVBheUxpbmVJdGVtIHRv
dGFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBs
aW5lSXRlbXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPE1vY2tQYXltZW50RXJy
b3I+IGVycm9yczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8QXBwbGVQYXlTaGlw
cGluZ01ldGhvZD4gc2hpcHBpbmdNZXRob2RzOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzODAwMjc4OTVlYjJjMzBj
N2Y2NzBkNTA0OGI1NDA2ZjRhNTQyN2MwLi5hMmU5YjkxYTI3OWU4MmRlNWViMjU4NDQzZjdiN2Yy
YTJjZGZkYjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTAtMTQgIEFuZHkgRXN0ZXMg
IDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIE5ldyBzaGlwcGluZyBt
ZXRob2RzIGFyZSBpZ25vcmVkIHdoZW4gdXBkYXRpbmcgYWZ0ZXIgdGhlIHNoaXBwaW5nYWRkcmVz
c2NoYW5nZSBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkwNTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDU1OTA3NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbDoKKwogMjAxOC0xMC0x
MiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBBbGxvdyBTUEkgY2xpZW50cyB0byBsYXkgb3V0IGF0IGFyYml0cmFyaWx5IHNjYWxlZCBzaXpl
cyBhbmQgc2NhbGUgdG8gZml0IHRoZSB2aWV3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJy
b3JzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IGJlN2Y0Zjc0NGY2MjdhZDlhZTFjYWE4NmZiY2IwYWY1MjM2ZjU1NGQuLmYw
ZGMyZGJmOTM5ZTExY2Y0Njg0YmFhNTk2Y2U5ZGNjODFkMDUxM2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hh
bmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJv
cnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgsMTEgQEAgUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDAKIAogVGVzdGluZyBQYXltZW50
RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVycm9yIGFuZCBzaGlwcGluZyBvcHRpb25zLgogUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDAKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzLmxlbmd0aCBp
cyAxCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nTWV0aG9k
c1swXS5sYWJlbCBpcyAnb3B0aW9uIDEnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnNoaXBwaW5nTWV0aG9kc1swXS5kZXRhaWwgaXMgJycKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzWzBdLmFtb3VudCBpcyAnMS4wMCcK
K1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzWzBd
LmlkZW50aWZpZXIgaXMgJ29wdGlvbjEnCiAKIFRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUg
d2l0aCBhbiBlbXB0eSBlcnJvci4KIFBBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IuZXJyb3JzLmxlbmd0aCBpcyAxCkBAIC02OSw2ICs3NCw5IEBAIFBBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdElu
dmFsaWQnCiBQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5t
ZXNzYWdlIGlzICdlcnJvcicKIFBBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzWzJdLmNvbnRhY3RGaWVsZCBpcyAncGhvbmVOdW1iZXInCiAKK1Rlc3Rpbmcgc3BlY2lm
eWluZyBhbiBpbnZhbGlkIHNoaXBwaW5nIG9wdGlvbiBpbiByZXNwb25zZSB0byBzaGlwcGluZ2Fk
ZHJlc3NjaGFuZ2UuCitQQVNTIHBheW1lbnRSZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogIkVVUiIgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGN1cnJl
bmN5IG9mICJVU0QiLiBBcHBsZSBQYXkgcmVxdWlyZXMgYWxsIFBheW1lbnRDdXJyZW5jeUFtb3Vu
dHMgdG8gdXNlIHRoZSBzYW1lIGN1cnJlbmN5IGNvZGUuLgorCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRF
cnJvcnMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbAppbmRleCBk
NGRkY2JjZjVhMjVhZmZjMzc3YmU2M2Y1NjI4MjFlM2ExMTZmM2ZmLi5hNTIzODM5Njc0YmNhNzNl
MjhiZDFlMjMzODgyMThmMWY5MDJmNmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3Jz
Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sCkBAIC0zNCw2
ICszNCwxMSBAQCBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgfV07CiAgICAgYXdhaXQg
dXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMo
KSwgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSwgZGV0YWlsc1VwZGF0ZSk7CiAgICAgc2hvdWxk
QmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiMCIp
OworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGlu
Z01ldGhvZHMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzWzBdLmxhYmVsIiwgIidvcHRpb24gMSciKTsK
KyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdN
ZXRob2RzWzBdLmRldGFpbCIsICInJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHNbMF0uYW1vdW50IiwgIicxLjAwJyIpOwor
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01l
dGhvZHNbMF0uaWRlbnRpZmllciIsICInb3B0aW9uMSciKTsKICAgICBkZWJ1ZygiIik7CiAKICAg
ICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVtcHR5IGVycm9y
LiIpOwpAQCAtMTM4LDYgKzE0MywzMSBAQCBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAg
c2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5tZXNz
YWdlIiwgIidlcnJvciciKTsKICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzJdLmNvbnRhY3RGaWVsZCIsICIncGhvbmVOdW1iZXInIik7CiAgICAg
ZGVidWcoIiIpOworICAgIAorICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3Qp
ID0+IHsKKyAgICAgICAgZGVidWcoIlRlc3Rpbmcgc3BlY2lmeWluZyBhbiBpbnZhbGlkIHNoaXBw
aW5nIG9wdGlvbiBpbiByZXNwb25zZSB0byBzaGlwcGluZ2FkZHJlc3NjaGFuZ2UuIik7CisKKyAg
ICAgICAgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1l
dGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9
KTsKKyAgICAgICAgcGF5bWVudFJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQYXltZW50RGV0
YWlscygpOworICAgICAgICAgICAgZGV0YWlsc1VwZGF0ZS5zaGlwcGluZ09wdGlvbnMgPSBbewor
ICAgICAgICAgICAgICAgIGlkOiAib3B0aW9uMSIsCisgICAgICAgICAgICAgICAgbGFiZWw6ICJv
cHRpb24gMSIsCisgICAgICAgICAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAgICAg
IGN1cnJlbmN5OiAiRVVSIiwKKyAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIxLjAwIiwKKyAg
ICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgfV07CisgICAgICAgICAgICBldmVudC51cGRh
dGVXaXRoKGRldGFpbHNVcGRhdGUpOworICAgICAgICB9OworICAgICAgICBwYXltZW50UmVxdWVz
dC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2ZW50ID0+IGV2ZW50LmNvbXBsZXRlKHt9KTsKKwor
ICAgICAgICBhY3RpdmF0ZVRoZW4oYXN5bmMgKCkgPT4geworICAgICAgICAgICAgYXdhaXQgc2hv
dWxkUmVqZWN0KCJwYXltZW50UmVxdWVzdC5zaG93KCkiKTsKKyAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisgICAgZGVidWcoIiIpOwogCiAgICAgZmluaXNoSlNU
ZXN0KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352363</attachid>
            <date>2018-10-15 12:47:30 -0700</date>
            <delta_ts>2018-10-15 14:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190560-20181015124728.patch</filename>
            <type>text/plain</type>
            <size>14925</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZjY2M1ZDc5YmQ2N2Nl
NGMzNmZmN2MzNGE2MWEzODM5YmNlMTM4Mi4uOTJkMDI3NGEyZmUwOTg5Yjc4NTI3MzQ1Nzk3MjRk
ZWRmNTk4NDRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTEwLTE0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBOZXcgc2hp
cHBpbmcgbWV0aG9kcyBhcmUgaWdub3JlZCB3aGVuIHVwZGF0aW5nIGFmdGVyIHRoZSBzaGlwcGlu
Z2FkZHJlc3NjaGFuZ2UgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MDU2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ1NTkwNzU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBXaGVuIGEgUGF5
bWVudERldGFpbHNVcGRhdGUgd2l0aCBzaGlwcGluZyBvcHRpb25zIHdhcyBzcGVjaWZpZWQgdG8g
dXBkYXRlV2l0aCgpIGFmdGVyIHRoZQorICAgICAgICBzaGlwcGluZ2FkZHJlc3NjaGFuZ2UgZXZl
bnQgZmlyZXMsIEFwcGxlUGF5UGF5bWVudEhhbmRsZXIgbmVlZHMgdG8gY29udmVydCB0aGUgc2hp
cHBpbmcKKyAgICAgICAgb3B0aW9ucyB0byBTaGlwcGluZ01ldGhvZHMgYW5kIGFkZCB0aGVtIHRv
IHRoZSBTaGlwcGluZ0NvbnRhY3RVcGRhdGUgc28gdGhhdCB0aGUgQXBwbGUgUGF5CisgICAgICAg
IFVJIHJlbmRlcnMgdGhlIG5ldyBvcHRpb25zLgorCisgICAgICAgIEFkZGVkIHRlc3QgY2FzZXMg
dG8gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VF
dmVudEVycm9ycy5odHRwcy5odG1sLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNoaXBwaW5nTWV0aG9kLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y29tcHV0ZVNoaXBwaW5nTWV0aG9kcyk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVk
KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5
bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UGF5bWVudENvb3JkaW5hdG9yOjpzaG93UGF5bWVudFVJKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKToK
KyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOgorCiAyMDE4LTEwLTEyICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFsbG93IFNQ
SSBjbGllbnRzIHRvIGxheSBvdXQgYXQgYXJiaXRyYXJpbHkgc2NhbGVkIHNpemVzIGFuZCBzY2Fs
ZSB0byBmaXQgdGhlIHZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCmluZGV4IDM2ZjNhZjc1NGJkZDMy
NDBkZjJkMWE4ZTM3ZmY4NTFhNDhlNWQ5YjUuLmEzNDQxNDU0N2E0YzY0MzIyYzRmMjVhNzAxMzBl
N2U2Y2FkZTM5YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbApAQCAtMjUsNyArMjUsOCBAQAogCiBb
CiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAotICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0Cisg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3Qs
CiBdIGRpY3Rpb25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCB7CiAgICAgcmVxdWlyZWQgRE9N
U3RyaW5nIGxhYmVsOwogICAgIHJlcXVpcmVkIERPTVN0cmluZyBkZXRhaWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAppbmRleCA4ZjU3NTAwODA5NDIw
NjhhNmM4ODViNzVjYzRmYjEyZmE2ODNiYjRmLi41NjA1NWY3MTM4MWNkZjBkZWE1MzA0YjRkNGRi
NzZjNDJjOWY2YTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFu
ZGxlci5jcHAKQEAgLTIwMywxNSArMjAzLDEwIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OnNob3coKQogICAgIGlmIChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50
T3B0aW9ucygpLnJlcXVlc3RTaGlwcGluZykKICAgICAgICAgcmVxdWVzdC5zZXRTaGlwcGluZ1R5
cGUoY29udmVydChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygpLnNoaXBwaW5nVHlw
ZSkpOwogCi0gICAgVmVjdG9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGlu
Z01ldGhvZD4gc2hpcHBpbmdNZXRob2RzOwotICAgIHNoaXBwaW5nTWV0aG9kcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuc2hpcHBpbmdP
cHRpb25zLnNpemUoKSk7Ci0gICAgZm9yIChhdXRvJiBzaGlwcGluZ09wdGlvbiA6IG1fcGF5bWVu
dFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuc2hpcHBpbmdPcHRpb25zKSB7Ci0gICAgICAgIGF1
dG8gY29udmVydGVkU2hpcHBpbmdPcHRpb24gPSBjb252ZXJ0QW5kVmFsaWRhdGUoc2hpcHBpbmdP
cHRpb24sIGV4cGVjdGVkQ3VycmVuY3kpOwotICAgICAgICBpZiAoY29udmVydGVkU2hpcHBpbmdP
cHRpb24uaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICByZXR1cm4gY29udmVydGVkU2hpcHBp
bmdPcHRpb24ucmVsZWFzZUV4Y2VwdGlvbigpOwotICAgICAgICBzaGlwcGluZ01ldGhvZHMudW5j
aGVja2VkQXBwZW5kKGNvbnZlcnRlZFNoaXBwaW5nT3B0aW9uLnJlbGVhc2VSZXR1cm5WYWx1ZSgp
KTsKLSAgICB9Ci0gICAgcmVxdWVzdC5zZXRTaGlwcGluZ01ldGhvZHMoc2hpcHBpbmdNZXRob2Rz
KTsKKyAgICBhdXRvIHNoaXBwaW5nTWV0aG9kcyA9IGNvbXB1dGVTaGlwcGluZ01ldGhvZHMoKTsK
KyAgICBpZiAoc2hpcHBpbmdNZXRob2RzLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
c2hpcHBpbmdNZXRob2RzLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICByZXF1ZXN0LnNldFNoaXBw
aW5nTWV0aG9kcyhzaGlwcGluZ01ldGhvZHMucmVsZWFzZVJldHVyblZhbHVlKCkpOwogCiAgICAg
YXV0byBleGNlcHRpb24gPSBQYXltZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUocmVxdWVz
dCk7CiAgICAgaWYgKGV4Y2VwdGlvbi5oYXNFeGNlcHRpb24oKSkKQEAgLTI0OCw2ICsyNDMsMjUg
QEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjYW5NYWtlUGF5bWVudChGdW5jdGlvbjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW4KIAogICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKG1fYXBwbGVQYXlSZXF1ZXN0LT5tZXJjaGFudElk
ZW50aWZpZXIsIGRvY3VtZW50KCkuZG9tYWluKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIH0KKyAgICAKK0V4Y2VwdGlvbk9yPFZlY3RvcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVx
dWVzdDo6U2hpcHBpbmdNZXRob2Q+PiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjb21wdXRlU2hp
cHBpbmdNZXRob2RzKCkKK3sKKyAgICBhdXRvJiBkZXRhaWxzID0gbV9wYXltZW50UmVxdWVzdC0+
cGF5bWVudERldGFpbHMoKTsKKyAgICBhdXRvJiBjdXJyZW5jeSA9IGRldGFpbHMudG90YWwuYW1v
dW50LmN1cnJlbmN5OworICAgIGF1dG8mIHNoaXBwaW5nT3B0aW9ucyA9IGRldGFpbHMuc2hpcHBp
bmdPcHRpb25zOworCisgICAgVmVjdG9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpT
aGlwcGluZ01ldGhvZD4gc2hpcHBpbmdNZXRob2RzOworICAgIHNoaXBwaW5nTWV0aG9kcy5yZXNl
cnZlSW5pdGlhbENhcGFjaXR5KHNoaXBwaW5nT3B0aW9ucy5zaXplKCkpOworCisgICAgZm9yIChh
dXRvJiBzaGlwcGluZ09wdGlvbiA6IHNoaXBwaW5nT3B0aW9ucykgeworICAgICAgICBhdXRvIHNo
aXBwaW5nTWV0aG9kID0gY29udmVydEFuZFZhbGlkYXRlKHNoaXBwaW5nT3B0aW9uLCBjdXJyZW5j
eSk7CisgICAgICAgIGlmIChzaGlwcGluZ01ldGhvZC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAg
ICAgIHJldHVybiBzaGlwcGluZ01ldGhvZC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgICAgIHNo
aXBwaW5nTWV0aG9kcy51bmNoZWNrZWRBcHBlbmQoc2hpcHBpbmdNZXRob2QucmVsZWFzZVJldHVy
blZhbHVlKCkpOworICAgIH0KKworICAgIHJldHVybiBXVEZNb3ZlKHNoaXBwaW5nTWV0aG9kcyk7
Cit9CiAKIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFu
ZExpbmVJdGVtcz4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y29tcHV0ZVRvdGFsQW5kTGluZUl0
ZW1zKCkKIHsKQEAgLTQwOCw2ICs0MjIsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQ
YXltZW50SGFuZGxlcjo6c2hpcHBpbmdBZGRyZXNzVXBkYXRlZChWZWN0b3I8UGF5bWVudEUKICAg
ICBTaGlwcGluZ0NvbnRhY3RVcGRhdGUgdXBkYXRlOwogICAgIHVwZGF0ZS5lcnJvcnMgPSBXVEZN
b3ZlKGVycm9ycyk7CiAKKyAgICBhdXRvIG5ld1NoaXBwaW5nTWV0aG9kcyA9IGNvbXB1dGVTaGlw
cGluZ01ldGhvZHMoKTsKKyAgICBpZiAobmV3U2hpcHBpbmdNZXRob2RzLmhhc0V4Y2VwdGlvbigp
KQorICAgICAgICByZXR1cm4gbmV3U2hpcHBpbmdNZXRob2RzLnJlbGVhc2VFeGNlcHRpb24oKTsK
KyAgICB1cGRhdGUubmV3U2hpcHBpbmdNZXRob2RzID0gbmV3U2hpcHBpbmdNZXRob2RzLnJlbGVh
c2VSZXR1cm5WYWx1ZSgpOworCiAgICAgYXV0byBuZXdUb3RhbEFuZExpbmVJdGVtcyA9IGNvbXB1
dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIGlmIChuZXdUb3RhbEFuZExpbmVJdGVtcy5oYXNF
eGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIG5ld1RvdGFsQW5kTGluZUl0ZW1zLnJlbGVhc2VF
eGNlcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgK
aW5kZXggOTA3ZThhN2I5MDgxNzY2ZThjMTRmN2RjOGViNGFiZTYyOTVmNjE5Yy4uY2U1MDUzYTEy
YmMwNmRiMDZmYmRjMWUwNTRlOTg5MjQzMzNiMDc1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBE
b2N1bWVudCYgZG9jdW1lbnQoKSBjb25zdDsKICAgICBQYXltZW50Q29vcmRpbmF0b3ImIHBheW1l
bnRDb29yZGluYXRvcigpIGNvbnN0OwogCisgICAgRXhjZXB0aW9uT3I8VmVjdG9yPEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ01ldGhvZD4+IGNvbXB1dGVTaGlwcGluZ01l
dGhvZHMoKTsKICAgICBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6
VG90YWxBbmRMaW5lSXRlbXM+IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVtcygpOwogICAgIFZlY3Rv
cjxQYXltZW50RXJyb3I+IGNvbXB1dGVFcnJvcnMoU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NFcnJv
cnMmJiwgUGF5ZXJFcnJvckZpZWxkcyYmLCBKU0M6OkpTT2JqZWN0KiBwYXltZW50TWV0aG9kRXJy
b3JzKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHAKaW5kZXggOWI2ZTk1ZTIxNTQ4MzBjMDAwM2Q2ZTIxODAwM2FjZWFhMjJm
ZWQ1MS4uOGFkZTM2MGNhNTQxNzVjNzc5MWI4M2NmY2IwNjRiYjdkNmZlNjU5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0x
MDYsMTAgKzEwNiwxOCBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaElmU2hvd2luZyhGdW5jdGlvbjx2
b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgfSk7CiB9CiAKK3N0YXRpYyBWZWN0b3I8QXBwbGVQYXlT
aGlwcGluZ01ldGhvZD4gY29udmVydChjb25zdCBWZWN0b3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVu
dFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYgc2hpcHBpbmdNZXRob2RzKQoreworICAgIHJldHVy
biBXVEY6Om1hcChzaGlwcGluZ01ldGhvZHMsIFtdIChhdXRvJiBzaGlwcGluZ01ldGhvZCkgewor
ICAgICAgICByZXR1cm4gQXBwbGVQYXlTaGlwcGluZ01ldGhvZCB7IHNoaXBwaW5nTWV0aG9kLmxh
YmVsLCBzaGlwcGluZ01ldGhvZC5kZXRhaWwsIHNoaXBwaW5nTWV0aG9kLmFtb3VudCwgc2hpcHBp
bmdNZXRob2QuaWRlbnRpZmllciB9OworICAgIH0pOworfQorCiBib29sIE1vY2tQYXltZW50Q29v
cmRpbmF0b3I6OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBj
b25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBpZiAo
cmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QoKS5wa0NvbnRhY3QoKSkKICAgICAgICAgbV9zaGlwcGlu
Z0FkZHJlc3MgPSByZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCgpLnRvQXBwbGVQYXlQYXltZW50Q29u
dGFjdChyZXF1ZXN0LnZlcnNpb24oKSk7CisgICAgbV9zaGlwcGluZ01ldGhvZHMgPSBjb252ZXJ0
KHJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCkpOwogCiAgICAgQVNTRVJUKHNob3dDb3VudCA9PSBo
aWRlQ291bnQpOwogICAgICsrc2hvd0NvdW50OwpAQCAtMTU0LDYgKzE2Miw3IEBAIHZvaWQgTW9j
a1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3Rk
OjpvcHRpb25hbDxTaGlwCiAgICAgaWYgKCFzaGlwcGluZ0NvbnRhY3RVcGRhdGUpCiAgICAgICAg
IHJldHVybjsKIAorICAgIG1fc2hpcHBpbmdNZXRob2RzID0gY29udmVydChzaGlwcGluZ0NvbnRh
Y3RVcGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyk7CiAgICAgdXBkYXRlVG90YWxBbmRMaW5lSXRl
bXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdUb3RhbEFuZExpbmVJdGVtcyk7CiAgICAgbV9l
cnJvcnMgPSBXVEZNb3ZlKHNoaXBwaW5nQ29udGFjdFVwZGF0ZS0+ZXJyb3JzKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggNWMz
NjM1ZTczMDE1N2JhMmRiOWFlMDNjN2YyMGQ2N2RjYjQ1ZjU0My4uNDc3MTA3Yzc3YTE4NGQ4MmY3
MjdjYTc4MTAwMzI2YjJkNGE2MGI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoQVBQ
TEVfUEFZKQogCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5oIgorI2luY2x1ZGUgIkFwcGxl
UGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNsdWRlICJNb2NrUGF5bWVudEFkZHJlc3MuaCIKICNp
bmNsdWRlICJNb2NrUGF5bWVudEVycm9yLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50LmgiCkBAIC01Miw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBBcHBsZVBheUxp
bmVJdGVtJiB0b3RhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWw7IH0KICAgICBjb25zdCBWZWN0
b3I8QXBwbGVQYXlMaW5lSXRlbT4mIGxpbmVJdGVtcygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUl0
ZW1zOyB9CiAgICAgY29uc3QgVmVjdG9yPE1vY2tQYXltZW50RXJyb3I+JiBlcnJvcnMoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yczsgfQorICAgIGNvbnN0IFZlY3RvcjxBcHBsZVBheVNoaXBwaW5n
TWV0aG9kPiYgc2hpcHBpbmdNZXRob2RzKCkgY29uc3QgeyByZXR1cm4gbV9zaGlwcGluZ01ldGhv
ZHM7IH0KIAogICAgIHZvaWQgcmVmKCkgY29uc3QgeyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0
IHsgfQpAQCAtNzksNiArODEsNyBAQCBwcml2YXRlOgogICAgIEFwcGxlUGF5TGluZUl0ZW0gbV90
b3RhbDsKICAgICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4gbV9saW5lSXRlbXM7CiAgICAgVmVj
dG9yPE1vY2tQYXltZW50RXJyb3I+IG1fZXJyb3JzOworICAgIFZlY3RvcjxBcHBsZVBheVNoaXBw
aW5nTWV0aG9kPiBtX3NoaXBwaW5nTWV0aG9kczsKICAgICBIYXNoU2V0PFN0cmluZywgQVNDSUlD
YXNlSW5zZW5zaXRpdmVIYXNoPiBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3JrczsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCmlu
ZGV4IGQ3ZTVkNTg5NTQ5ZjFlZDhjODZlZDVmNjJjNTVjNzdiYzlmZGM3ZDMuLjhlZTBiOWM0YjI0
ZTc1ZTAwMDdhZTU2OWNiNmVlYzFhNGY5NGVjMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbApAQCAtMzYsNCArMzYsNSBAQAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBBcHBsZVBheUxpbmVJdGVtIHRvdGFsOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBsaW5lSXRlbXM7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPE1vY2tQYXltZW50RXJyb3I+IGVycm9yczsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gc2hpcHBp
bmdNZXRob2RzOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzODAwMjc4OTVlYjJjMzBjN2Y2NzBkNTA0OGI1NDA2ZjRh
NTQyN2MwLi41YjVjODE0MzhiYWQzYjAxYWM3ODNkYzZiNTlmYWE3MjhjNjcxNGE3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTgtMTAtMTQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFtBcHBsZSBQYXldIE5ldyBzaGlwcGluZyBtZXRob2RzIGFyZSBpZ25vcmVk
IHdoZW4gdXBkYXRpbmcgYWZ0ZXIgdGhlIHNoaXBwaW5nYWRkcmVzc2NoYW5nZSBldmVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNTYwCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80NDU1OTA3NT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vl
bm4gRmFibGV0LgorCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFu
Z2VFdmVudEVycm9ycy5odHRwcy5odG1sOgorCiAyMDE4LTEwLTEyICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFsbG93IFNQSSBjbGllbnRz
IHRvIGxheSBvdXQgYXQgYXJiaXRyYXJpbHkgc2NhbGVkIHNpemVzIGFuZCBzY2FsZSB0byBmaXQg
dGhlIHZpZXcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGlu
Z0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmU3ZjRm
NzQ0ZjYyN2FkOWFlMWNhYTg2ZmJjYjBhZjUyMzZmNTU0ZC4uZjBkYzJkYmY5MzllMTFjZjQ2ODRi
YWE1OTZjZTlkY2M4MWQwNTEzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTgsNiArOCwxMSBAQCBQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9ycy5sZW5ndGggaXMgMAogCiBUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGgg
YW4gZXJyb3IgYW5kIHNoaXBwaW5nIG9wdGlvbnMuCiBQQVNTIGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMgMAorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHMubGVuZ3RoIGlzIDEKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzWzBdLmxhYmVsIGlzICdvcHRp
b24gMScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRo
b2RzWzBdLmRldGFpbCBpcyAnJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5zaGlwcGluZ01ldGhvZHNbMF0uYW1vdW50IGlzICcxLjAwJworUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHNbMF0uaWRlbnRpZmllciBpcyAnb3B0
aW9uMScKIAogVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVtcHR5IGVycm9y
LgogUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlz
IDEKQEAgLTY5LDYgKzc0LDkgQEAgUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnNbMl0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKIFBBU1MgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UgaXMgJ2Vycm9yJwog
UEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0uY29udGFjdEZp
ZWxkIGlzICdwaG9uZU51bWJlcicKIAorVGVzdGluZyBzcGVjaWZ5aW5nIGFuIGludmFsaWQgc2hp
cHBpbmcgb3B0aW9uIGluIHJlc3BvbnNlIHRvIHNoaXBwaW5nYWRkcmVzc2NoYW5nZS4KK1BBU1Mg
cGF5bWVudFJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiAi
RVVSIiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgY3VycmVuY3kgb2YgIlVTRCIuIEFwcGxl
IFBheSByZXF1aXJlcyBhbGwgUGF5bWVudEN1cnJlbmN5QW1vdW50cyB0byB1c2UgdGhlIHNhbWUg
Y3VycmVuY3kgY29kZS4uCisKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJl
c3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sCmluZGV4IGQ0ZGRjYmNmNWEyNWFmZmMzNzdi
ZTYzZjU2MjgyMWUzYTExNmYzZmYuLmE1MjM4Mzk2NzRiY2E3M2UyOGJkMWUyMzM4ODIxOGYxZjkw
MmY2ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVz
c0NoYW5nZUV2ZW50RXJyb3JzLmh0dHBzLmh0bWwKQEAgLTM0LDYgKzM0LDExIEBAIGFzeW5jIGZ1
bmN0aW9uIHJ1blRlc3RzKCkKICAgICB9XTsKICAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlw
cGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlwcGlu
ZzogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRlKTsKICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIsICIwIik7CisgICAgc2hvdWxkQmUoImlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nTWV0aG9kcy5sZW5ndGgiLCAi
MSIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlw
cGluZ01ldGhvZHNbMF0ubGFiZWwiLCAiJ29wdGlvbiAxJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHNbMF0uZGV0YWlsIiwg
IicnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNo
aXBwaW5nTWV0aG9kc1swXS5hbW91bnQiLCAiJzEuMDAnIik7CisgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nTWV0aG9kc1swXS5pZGVudGlmaWVy
IiwgIidvcHRpb24xJyIpOwogICAgIGRlYnVnKCIiKTsKIAogICAgIGRlYnVnKCJUZXN0aW5nIFBh
eW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZW1wdHkgZXJyb3IuIik7CkBAIC0xMzgsNiArMTQz
LDMxIEBAIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOwog
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0u
Y29udGFjdEZpZWxkIiwgIidwaG9uZU51bWJlciciKTsKICAgICBkZWJ1ZygiIik7CisgICAgCisg
ICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBkZWJ1
ZygiVGVzdGluZyBzcGVjaWZ5aW5nIGFuIGludmFsaWQgc2hpcHBpbmcgb3B0aW9uIGluIHJlc3Bv
bnNlIHRvIHNoaXBwaW5nYWRkcmVzc2NoYW5nZS4iKTsKKworICAgICAgICBwYXltZW50UmVxdWVz
dCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1l
bnREZXRhaWxzKCksIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0pOworICAgICAgICBwYXltZW50
UmVxdWVzdC5vbnNoaXBwaW5nYWRkcmVzc2NoYW5nZSA9IChldmVudCkgPT4geworICAgICAgICAg
ICAgdmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgICAgICAg
ICBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9ucyA9IFt7CisgICAgICAgICAgICAgICAgaWQ6
ICJvcHRpb24xIiwKKyAgICAgICAgICAgICAgICBsYWJlbDogIm9wdGlvbiAxIiwKKyAgICAgICAg
ICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVuY3k6ICJFVVIiLAor
ICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIjEuMDAiLAorICAgICAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB9XTsKKyAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoZGV0YWlsc1VwZGF0
ZSk7CisgICAgICAgIH07CisgICAgICAgIHBheW1lbnRSZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0
aW9uID0gZXZlbnQgPT4gZXZlbnQuY29tcGxldGUoe30pOworCisgICAgICAgIGFjdGl2YXRlVGhl
bihhc3luYyAoKSA9PiB7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoInBheW1lbnRS
ZXF1ZXN0LnNob3coKSIpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9KTsKKyAg
ICB9KTsKKyAgICBkZWJ1ZygiIik7CiAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>