<?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>159932</bug_id>
          
          <creation_ts>2016-07-19 11:49:39 -0700</creation_ts>
          <short_desc>[Fetch API] Add a JS builtin to implement https://fetch.spec.whatwg.org/#concept-headers-fill</short_desc>
          <delta_ts>2016-07-19 23:24:14 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>151937</blocked>
    
    <blocked>159672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1212446</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-19 11:49:39 -0700</bug_when>
    <thetext>[Fetch API] Add a JS builtin to implement https://fetch.spec.whatwg.org/#concept-headers-fill</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212469</commentid>
    <comment_count>1</comment_count>
      <attachid>284033</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-19 12:49:34 -0700</bug_when>
    <thetext>Created attachment 284033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212491</commentid>
    <comment_count>2</comment_count>
      <attachid>284038</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-19 13:24:20 -0700</bug_when>
    <thetext>Created attachment 284038
Adding missing file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212668</commentid>
    <comment_count>3</comment_count>
      <attachid>284038</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-19 23:24:09 -0700</bug_when>
    <thetext>Comment on attachment 284038
Adding missing file

Clearing flags on attachment: 284038

Committed r203445: &lt;http://trac.webkit.org/changeset/203445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212669</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-19 23:24:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284033</attachid>
            <date>2016-07-19 12:49:34 -0700</date>
            <delta_ts>2016-07-19 13:08:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159932-20160719214836.patch</filename>
            <type>text/plain</type>
            <size>17254</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2ZmQ5YWM4YWIwN2U4
NWExNWMzMjI2YTgyNDRiYTI2Mjg1MWNjYi4uZGY5MmM5ODk2MjJkNjdkN2VhMjhlYjUzZTAxZjY3
OTk4OGQzYTBjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE2LTA3LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbRmV0Y2ggQVBJXSBBZGQg
YSBKUyBidWlsdGluIHRvIGltcGxlbWVudCBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8j
Y29uY2VwdC1oZWFkZXJzLWZpbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTkzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgUmVmYWN0
b3JpbmcgSGVhZGVycyBpbml0aWFsaXplV2l0aCB0byB1c2UgdGhlIG5ldyBidWlsdC1pbiBpbnRl
cm5hbCB0aGF0IGltcGxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5v
cmcvI2NvbmNlcHQtaGVhZGVycy1maWxsLgorCisgICAgICAgIFJlZmFjdG9yaW5nIFJlc3BvbnNl
IGNvbnN0cnVjdG9yIHRvIHB1dCBtb3JlIGNoZWNrcyBpbiB0aGUgSlMgYnVpbHRpbiBmdWNudGlv
biBjYWxsZWQgd2l0aGluIGNvbnN0cnVjdG9yLgorICAgICAgICBNYWtpbmcgdXNlIG9mIHRoZSBu
ZXcgYnVpbHQtaW4gaW50ZXJuYWwgdGhhdCBpbXBsZW1lbnRzIGh0dHBzOi8vZmV0Y2guc3BlYy53
aGF0d2cub3JnLyNjb25jZXB0LWhlYWRlcnMtZmlsbC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBBZGRpbmcgRmV0Y2hIZWFkZXJzSW50ZXJuYWxzLmpzCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMu
anM6CisgICAgICAgIChpbml0aWFsaXplRmV0Y2hIZWFkZXJzKTogVXNpbmcgZmlsbEZldGNoSGVh
ZGVycyBuZXcgYnVpbHQtaW4gaW50ZXJuYWwuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcDogUmVmYWN0b3JpbmcgdG8gZG8gbW9yZSBpbiB0aGUgSlMgYnVpbHQtaW4u
IFNwbGl0dGluZyBvZiBpbml0aWFsaXplV2l0aCBzbworICAgICAgICB0aGF0IHRoZSBjaGVja3Mg
YXJlIGRvbmUgaW4gdGhlIG9yZGVyIGRlZmluZWQgYnkgdGhlIHNwZWMuCisgICAgICAgIChXZWJD
b3JlOjpGZXRjaFJlc3BvbnNlOjpzZXRTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hS
ZXNwb25zZTo6aW5pdGlhbGl6ZVdpdGgpOgorICAgICAgICAoV2ViQ29yZTo6aXNOdWxsQm9keVN0
YXR1cyk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanM6CisgICAgICAgIChpbml0aWFsaXplRmV0Y2hS
ZXNwb25zZSk6IE5ldyBidWlsdC1pbiBpbnRlcm5hbC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oOgorCisyMDE2LTA3LTE5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKwogICAgICAgICBbU3RyZWFtcyBBUEldIE1ha2UgUmVhZGFibGVTdHJlYW0gcHJvcGVydGll
cyBub3QgZW51bWVyYWJsZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU5ODY4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2Q3NTY2MWU5ZDg0OWVi
OTllNzAwNzUxYzYxNDA3ZGVjMmI4NDBmNS4uN2E2NjFkNjM3OWVlMDRiYzlkYjk5ZmYxYjQwMDM5
YzM2Yjc3ZmRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM3MTEsNiArMzcxMSw3IEBAIEdF
TkVSQVRFX0JJTkRJTkdTKFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAKIHNldChXZWJDb3Jl
X0JVSUxUSU5TX1NPVVJDRVMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNo
SGVhZGVycy5qcworICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0Y2gvRmV0Y2hJbnRlcm5h
bHMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMK
ICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5qcwog
ICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlh
LmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhOWFiYjVlZTk2MzRlNmVlMDA1
NDE0MGE4YTAyMDFjMDY1MTQ2NmU3Li45ZDQ4OWUyODExOTg4YTUxZmRjODdiYWU2MzJjYmI1MDIw
NDQ5NmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyODQsNiArMTI4NCw3
IEBAIFdlYlJlcGxheUlucHV0cy5oIDogJChJTlBVVF9HRU5FUkFUT1JfU1BFQ0lGSUNBVElPTlMp
ICQoSU5QVVRfR0VORVJBVE9SX1NDUklQVFMpCiAKIFdlYkNvcmVfQlVJTFRJTlNfU09VUkNFUyA9
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmpzIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZmV0Y2gvRmV0Y2hJbnRlcm5hbHMuanMgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhLmpzIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuanMKaW5kZXggYWJiMWY3NzBhMWVlYjU3MjA2NDVmZDFm
Y2ZlMDg3NDI2ODliMTA4MC4uMmJlZmU5ZTZjZDBlYzc4ZDk3MzNmZWFkNGUzNDUwOGRlZmQ0MzBi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuanMKQEAg
LTM1LDI2ICszNSw3IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVGZXRjaEhlYWRlcnMoaGVhZGVyc0lu
aXQpCiAgICAgaWYgKCFAaXNPYmplY3QoaGVhZGVyc0luaXQpKQogICAgICAgICB0aHJvdyBuZXcg
QFR5cGVFcnJvcigiaGVhZGVyc0luaXQgbXVzdCBiZSBhbiBvYmplY3QiKTsKIAotICAgIGlmICho
ZWFkZXJzSW5pdCBpbnN0YW5jZW9mIEBIZWFkZXJzKSB7Ci0gICAgICAgIHRoaXMuQGZpbGxGcm9t
SlMoaGVhZGVyc0luaXQpOwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICBpZiAo
QGlzQXJyYXkoaGVhZGVyc0luaXQpKSB7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVh
ZGVyc0luaXQubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgIGxldCBoZWFkZXIgPSBoZWFkZXJz
SW5pdFtpXTsKLSAgICAgICAgICAgIGlmIChoZWFkZXIubGVuZ3RoICE9PSAyKQotICAgICAgICAg
ICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJoZWFkZXJzSW5pdCBzZXF1ZW5jZSBpdGVtcyBz
aG91bGQgY29udGFpbiB0d28gdmFsdWVzIik7Ci0gICAgICAgICAgICB0aGlzLkBhcHBlbmRGcm9t
SlMoaGVhZGVyWzBdLCBoZWFkZXJbMV0pOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0aGlz
OwotICAgIH0KLQotICAgIGxldCBwcm9wZXJ0eU5hbWVzID0gQE9iamVjdC5AZ2V0T3duUHJvcGVy
dHlOYW1lcyhoZWFkZXJzSW5pdCk7Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wZXJ0eU5h
bWVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIGxldCBuYW1lID0gcHJvcGVydHlOYW1lc1tpXTsK
LSAgICAgICAgdGhpcy5AYXBwZW5kRnJvbUpTKG5hbWUsIGhlYWRlcnNJbml0W25hbWVdKTsKLSAg
ICB9CisgICAgQGZpbGxGZXRjaEhlYWRlcnModGhpcywgaGVhZGVyc0luaXQpOwogCiAgICAgcmV0
dXJuIHRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmNwcAppbmRleCA1ZmU2NDYwZTU3ODIzODdjZTE1MzI4NDAyM2JkMzQ0YmRiNDYzM2UzLi5l
ZDY5YjUyM2NjNjZmOTViOGI0MmFmMWQ3MTFjYzI5YmFkOTM0MWIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTMxLDcgKzMxLDYgQEAK
IAogI2lmIEVOQUJMRShGRVRDSF9BUEkpCiAKLSNpbmNsdWRlICJEaWN0aW9uYXJ5LmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgogI2luY2x1
ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC00NSwxMSArNDQsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wg
aXNSZWRpcmVjdFN0YXR1cyhpbnQgc3RhdHVzKQogICAgIHJldHVybiBzdGF0dXMgPT0gMzAxIHx8
IHN0YXR1cyA9PSAzMDIgfHwgc3RhdHVzID09IDMwMyB8fCBzdGF0dXMgPT0gMzA3IHx8IHN0YXR1
cyA9PSAzMDg7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc051bGxCb2R5U3RhdHVzKGludCBz
dGF0dXMpCi17Ci0gICAgcmV0dXJuIHN0YXR1cyA9PSAxMDEgfHwgc3RhdHVzID09IDIwNCB8fCBz
dGF0dXMgPT0gMjA1IHx8IHN0YXR1cyA9PSAzMDQ7Ci19Ci0KIFJlZjxGZXRjaFJlc3BvbnNlPiBG
ZXRjaFJlc3BvbnNlOjplcnJvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewog
ICAgIGF1dG8gcmVzcG9uc2UgPSBhZG9wdFJlZigqbmV3IEZldGNoUmVzcG9uc2UoY29udGV4dCwg
eyB9LCBGZXRjaEhlYWRlcnM6OmNyZWF0ZShGZXRjaEhlYWRlcnM6Okd1YXJkOjpJbW11dGFibGUp
LCB7IH0pKTsKQEAgLTc1LDQwICs2OSwyMSBAQCBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gRmV0Y2hS
ZXNwb25zZTo6cmVkaXJlY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgYwogICAg
IHJldHVybiBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9uc2UpOwogfQogCi12b2lkIEZldGNoUmVzcG9u
c2U6OmluaXRpYWxpemVXaXRoKGNvbnN0IERpY3Rpb25hcnkmIGluaXQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQordm9pZCBGZXRjaFJlc3BvbnNlOjpzZXRTdGF0dXMoaW50IHN0YXR1cywgY29uc3QgU3Ry
aW5nJiBzdGF0dXNUZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBpbnQgc3RhdHVzOwot
ICAgIGlmICghaW5pdC5nZXQoInN0YXR1cyIsIHN0YXR1cykpIHsKLSAgICAgICAgZWMgPSBUeXBl
RXJyb3I7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHN0YXR1cyA8IDIwMCB8fCBz
dGF0dXMgPiA1OTkpIHsKLSAgICAgICAgZWMgPSBSYW5nZUVycm9yOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgU3RyaW5nIHN0YXR1c1RleHQ7Ci0gICAgaWYgKCFpbml0LmdldCgic3Rh
dHVzVGV4dCIsIHN0YXR1c1RleHQpIHx8ICFpc1ZhbGlkUmVhc29uUGhyYXNlKHN0YXR1c1RleHQp
KSB7CisgICAgaWYgKCFpc1ZhbGlkUmVhc29uUGhyYXNlKHN0YXR1c1RleHQpKSB7CiAgICAgICAg
IGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fcmVzcG9uc2Uu
c2V0SFRUUFN0YXR1c0NvZGUoc3RhdHVzKTsKICAgICBtX3Jlc3BvbnNlLnNldEhUVFBTdGF0dXNU
ZXh0KHN0YXR1c1RleHQpOworfQogCi0gICAgUmVmUHRyPEZldGNoSGVhZGVycz4gaW5pdGlhbEhl
YWRlcnM7Ci0gICAgaWYgKGluaXQuZ2V0KCJoZWFkZXJzIiwgaW5pdGlhbEhlYWRlcnMpKQotICAg
ICAgICBtX2hlYWRlcnMtPmZpbGwoaW5pdGlhbEhlYWRlcnMuZ2V0KCkpOwotCi0gICAgSlNDOjpK
U1ZhbHVlIGJvZHk7Ci0gICAgaWYgKGluaXQuZ2V0KCJib2R5IiwgYm9keSkpIHsKLSAgICAgICAg
aWYgKGlzTnVsbEJvZHlTdGF0dXMoc3RhdHVzKSkgewotICAgICAgICAgICAgZWMgPSBUeXBlRXJy
b3I7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgbV9ib2R5ID0gRmV0
Y2hCb2R5OjpleHRyYWN0KCppbml0LmV4ZWNTdGF0ZSgpLCBib2R5KTsKLSAgICAgICAgaWYgKG1f
aGVhZGVycy0+ZmFzdEdldChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpLmlzRW1wdHkoKSAm
JiAhbV9ib2R5Lm1pbWVUeXBlKCkuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9oZWFkZXJzLT5m
YXN0U2V0KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgbV9ib2R5Lm1pbWVUeXBlKCkpOwot
ICAgIH0KK3ZvaWQgRmV0Y2hSZXNwb25zZTo6aW5pdGlhbGl6ZVdpdGgoSlNDOjpFeGVjU3RhdGUm
IGV4ZWNTdGF0ZSwgSlNDOjpKU1ZhbHVlIGJvZHkpCit7CisgICAgbV9ib2R5ID0gRmV0Y2hCb2R5
OjpleHRyYWN0KGV4ZWNTdGF0ZSwgYm9keSk7CisgICAgaWYgKG1faGVhZGVycy0+ZmFzdEdldChI
VFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpLmlzRW1wdHkoKSAmJiAhbV9ib2R5Lm1pbWVUeXBl
KCkuaXNFbXB0eSgpKQorICAgICAgICBtX2hlYWRlcnMtPmZhc3RTZXQoSFRUUEhlYWRlck5hbWU6
OkNvbnRlbnRUeXBlLCBtX2JvZHkubWltZVR5cGUoKSk7CiB9CiAKIEZldGNoUmVzcG9uc2U6OkZl
dGNoUmVzcG9uc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRmV0Y2hCb2R5JiYg
Ym9keSwgUmVmPEZldGNoSGVhZGVycz4mJiBoZWFkZXJzLCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVz
cG9uc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCmlu
ZGV4IDM2ZDg1MDhhMGM3NTcwYmViMjg2NzU0ZmYzZTcwNWQwZTIwODgzZTMuLmZjNjI3MWQzOGNm
YjU1OTI0ZmMzNDU1OGM0OWE3ZjA0NWUzMzkyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0zNiw2ICszNiw4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgQXJyYXlCdWZmZXI7CitjbGFzcyBFeGVjU3RhdGU7CitjbGFzcyBKU1ZhbHVl
OwogfTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTgsNyArNjAsOSBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZldGNoUmVxdWVz
dCYsIGNvbnN0IERpY3Rpb25hcnkmLCBGZXRjaFByb21pc2UmJik7CiAgICAgc3RhdGljIHZvaWQg
ZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IERpY3Rp
b25hcnkmLCBGZXRjaFByb21pc2UmJik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVXaXRoKGNvbnN0
IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICB2b2lkIHNldFN0YXR1cyhpbnQs
IGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGluaXRpYWxpemVXaXRo
KEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlKTsKIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzcG9uc2UudHlwZSgpOyB9CiAgICAgY29uc3QgU3RyaW5nJiB1cmwoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRs
CmluZGV4IDc4NDlkMDkyYmFmY2MzYTE4OGE0MGZjMWRhYTI3NjU1ZmM5MGJmYmEuLmI3YWM4YTUy
YTc3OGFhMTExMzljNjFiNWI1YTY2YjJjMTRhYjMxZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbApAQCAtNTQsNiArNTQsNyBAQCBpbnRlcmZh
Y2UgRmV0Y2hSZXNwb25zZSB7CiAKICAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25dIEZldGNoUmVzcG9uc2UgY2xvbmUoKTsKIAot
ICAgIFtQcml2YXRlSWRlbnRpZmllciwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGluaXRpYWxpemVX
aXRoKERpY3Rpb25hcnkgcGFyYW1ldGVycyk7CisgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBSYWlz
ZXNFeGNlcHRpb25dIHZvaWQgc2V0U3RhdHVzKHVuc2lnbmVkIHNob3J0IHN0YXR1cywgRE9NU3Ry
aW5nIHN0YXR1c1RleHQpOworICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgUHJpdmF0ZUlkZW50
aWZpZXJdIHZvaWQgaW5pdGlhbGl6ZVdpdGgoYW55IGJvZHkpOwogfTsKIEZldGNoUmVzcG9uc2Ug
aW1wbGVtZW50cyBGZXRjaEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuanMKaW5kZXggY2NiYjgyNDQwNWE5NDcxMWZjZGZhY2Q5YTJkM2I4ZTc0Mzky
MWE5Ny4uYTA0ZDZlN2ZiNTQyOGI5ZTJmMWVmN2UwZGQyZTBkODMwNTRhMmYxMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcwpAQCAtMjksMjQgKzI5
LDI3IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVGZXRjaFJlc3BvbnNlKGJvZHksIGluaXQpCiB7CiAg
ICAgInVzZSBzdHJpY3QiOwogCi0gICAgbGV0IHBhcmFtZXRlcnMgPSB7IH07Ci0gICAgaWYgKGlu
aXQgIT09IEB1bmRlZmluZWQpIHsKLSAgICAgICAgaWYgKCFAaXNPYmplY3QoaW5pdCkpCi0gICAg
ICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiUmVzcG9uc2UgaW5pdCBtdXN0IGJlIGFuIG9i
amVjdCIpOwotICAgICAgICBwYXJhbWV0ZXJzLnN0YXR1cyA9IGluaXQuc3RhdHVzOwotICAgICAg
ICBwYXJhbWV0ZXJzLnN0YXR1c1RleHQgPSBpbml0LnN0YXR1c1RleHQ7Ci0gICAgICAgIGlmIChp
bml0LmhlYWRlcnMpCi0gICAgICAgICAgICBwYXJhbWV0ZXJzLmhlYWRlcnMgPSAoaW5pdC5oZWFk
ZXJzIGluc3RhbmNlb2YgQEhlYWRlcnMpID8gaW5pdC5oZWFkZXJzIDogbmV3IEBIZWFkZXJzKGlu
aXQuaGVhZGVycyk7Ci0gICAgfQorICAgIGlmIChpbml0ID09PSBAdW5kZWZpbmVkKQorICAgICAg
ICBpbml0ID0geyB9OworICAgIGVsc2UgaWYgKCFAaXNPYmplY3QoaW5pdCkpCisgICAgICAgIHRo
cm93IG5ldyBAVHlwZUVycm9yKCJSZXNwb25zZSBpbml0IG11c3QgYmUgYW4gb2JqZWN0Iik7CisK
KyAgICBsZXQgc3RhdHVzID0gKGluaXQuc3RhdHVzICE9PSBAdW5kZWZpbmVkKSA/IEB0b051bWJl
cihpbml0LnN0YXR1cykgOiAyMDA7CisgICAgaWYgKHN0YXR1cyA8IDIwMCAgfHwgc3RhdHVzID4g
NTk5KQorICAgICAgICB0aHJvdyBuZXcgQFJhbmdlRXJyb3IoIlN0YXR1cyBtdXN0IGJlIGJldHdl
ZW4gMjAwIGFuZCA1OTkiKTsKKworICAgIGxldCBzdGF0dXNUZXh0ID0gKGluaXQuc3RhdHVzVGV4
dCAhPT0gQHVuZGVmaW5lZCkgPyBpbml0LnN0YXR1c1RleHQgOiAiT0siOwogCi0gICAgaWYgKHBh
cmFtZXRlcnMuc3RhdHVzID09PSBAdW5kZWZpbmVkKQotICAgICAgICBwYXJhbWV0ZXJzLnN0YXR1
cyA9IDIwMDsKLSAgICBpZiAocGFyYW1ldGVycy5zdGF0dXNUZXh0ID09PSBAdW5kZWZpbmVkKQot
ICAgICAgICBwYXJhbWV0ZXJzLnN0YXR1c1RleHQgPSAiT0siOworICAgIHRoaXMuQHNldFN0YXR1
cyhzdGF0dXMsIHN0YXR1c1RleHQpOwogCi0gICAgaWYgKGJvZHkgIT09IEB1bmRlZmluZWQgJiYg
Ym9keSAhPT0gbnVsbCkKLSAgICAgICAgIHBhcmFtZXRlcnMuYm9keSA9IGJvZHk7CisgICAgaWYg
KGluaXQuaGVhZGVycyAhPT0gQHVuZGVmaW5lZCkKKyAgICAgICAgQGZpbGxGZXRjaEhlYWRlcnMo
dGhpcy5oZWFkZXJzLCBpbml0LmhlYWRlcnMpOworCisgICAgaWYgKGJvZHkgIT09IEB1bmRlZmlu
ZWQgJiYgYm9keSAhPT0gbnVsbCkgeworICAgICAgICBpZiAoc3RhdHVzID09IDEwMSB8fCBzdGF0
dXMgPT0gMjA0IHx8IHN0YXR1cyA9PSAyMDUgfHwgc3RhdHVzID09IDMwNCkKKyAgICAgICAgICAg
IHRocm93IG5ldyBAVHlwZUVycm9yKCJSZXNwb25zZSBjYW5ub3QgaGF2ZSBhIGJvZHkgd2l0aCB0
aGUgZ2l2ZW4gc3RhdHVzIik7CisgICAgICAgIHRoaXMuQGluaXRpYWxpemVXaXRoKGJvZHkpOwor
ICAgIH0KIAotICAgIHRoaXMuQGluaXRpYWxpemVXaXRoKHBhcmFtZXRlcnMpOwogICAgIHJldHVy
biB0aGlzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDJkODJiZTI1ZGIxY2RjNzcyMjIzZTE1ODQyZDNmYjFhOGU4NzZjZDEu
LjBjZTY3YWI1NjNmMmQzZGMwYzkwNjJmNGJlMGQzZTc4Mjc3NDc5MDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1OTUsNiAr
MTU5NSw3IEBACiAJCTQxNjJBNDU3MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNjJBNDU1MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmNwcCAqLzsgfTsKIAkJNDE2MkE0NTgxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNjJBNDU2MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmggKi87IH07CiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3Jr
ZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5
LmggKi87IH07CisJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0QjkgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJC
RDEyREYwMDBBNjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEM5
IC8qIFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDUzIC8qIFdyaXRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRFOSAvKiBXcml0YWJsZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTExODE0LDYgKzExODE1LDcgQEAKIAkJOTkwOEIwRjkxQkNBRDA3RDAwRUQw
Rjc1IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV3JpdGFibGVTdHJlYW1CdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk5MDhCMEZBMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVh
bUNvbnRyb2xsZXJCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk5MDhCMEZCMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVh
bUNvbnRyb2xsZXJCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDBGNDUgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlu
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaEludGVybmFs
c0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkQxQkNB
RDA3RDAwRUQwRjU1IC8qIFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjY1IC8qIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY3NSAvKiBXcml0
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE4NTYsNiArMTE4NTgsNyBAQAogCQk5QTUyOEU4MjE3
RDdGNTJGMDBBQTk1MTggLyogRmxvYXRpbmdPYmplY3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZsb2F0aW5nT2JqZWN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5QUIxRjM3RTE4RTI0ODlBMDA1MzQ3NDMgLyogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlBQjFGMzdGMThFMjQ4OUEw
MDUzNDc0MyAvKiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0QjkgLyogRmV0
Y2hJbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
ZXRjaEludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlC
MDNEODA2MUJCMzExMEQwMEI3NjRDOSAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyog
UmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTE4LDcg
KzE3OTIxLDkgQEAKIAkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJl
YW1CdWlsdGlucy5oICovLAogCQkJCTk5MDhCMEZBMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5jcHAgKi8sCiAJCQkJOTkwOEIwRkIxQkNBRDA3RDAw
RUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmggKi8sCisJCQkJOTkw
OEIwRkQxQkNBRDA3RDAwRUQwRjQ1IC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovLAog
CQkJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zLmNwcCAqLywKKwkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0QjkgLyogRmV0Y2hJbnRl
cm5hbHNCdWlsdGlucy5oICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJOTkwOEIwRkUxQkNBRDA3RDAw
RUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMuY3BwICovLAogCQkJCTk5MDhC
MEZGMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zLmggKi8s
CkBAIC0yNzg1MSw2ICsyNzg1Niw3IEBACiAJCQkJNkU4NEU5RTExNzY2OEJGMTAwODE1QjY4IC8q
IFJhc3RlclNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODI3QzExRDMzM0VEMDA5NzI5
OTAgLyogUmF3RGF0YURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZF
OTFCQkQxMkU1MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZldGNoSW50ZXJuYWxzQnVpbHRp
bnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAz
QzEyQjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVBbmFseXNlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oCmluZGV4IDBlMjBhODk1Zjg0YjY3MzY5MGI4ZDVkYjgwMmYyYzMxZmQwMzk3Yjcu
LmYwN2YwNzA5ZDg3MjM1MWU4ZWI0OTdjZTljY2NlZjYwZDM4OGRjZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTYyLDYgKzYy
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHJlYWRSZXF1ZXN0cykgXAogICAg
IG1hY3JvKHJlYWR5UHJvbWlzZUNhcGFiaWxpdHkpIFwKICAgICBtYWNybyhyZW1vdmVUcmFjaykg
XAorICAgIG1hY3JvKHNldFN0YXR1cykgXAogICAgIG1hY3JvKHN0YXRlKSBcCiAgICAgbWFjcm8o
c3RhcnRlZCkgXAogICAgIG1hY3JvKHN0YXJ0ZWRQcm9taXNlKSBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284038</attachid>
            <date>2016-07-19 13:24:20 -0700</date>
            <delta_ts>2016-07-19 23:24:09 -0700</delta_ts>
            <desc>Adding missing file</desc>
            <filename>bug-159932-20160719222322.patch</filename>
            <type>text/plain</type>
            <size>19880</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg2ZmQ5YWM4YWIwN2U4
NWExNWMzMjI2YTgyNDRiYTI2Mjg1MWNjYi4uZjVlOTEyYjQwMDM0ZmJkZmIzMTAwMzVlY2YwMzUw
NDM2YjU4NDYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE2LTA3LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbRmV0Y2ggQVBJXSBBZGQg
YSBKUyBidWlsdGluIHRvIGltcGxlbWVudCBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8j
Y29uY2VwdC1oZWFkZXJzLWZpbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTkzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgUmVmYWN0
b3JpbmcgSGVhZGVycyBpbml0aWFsaXplV2l0aCB0byB1c2UgdGhlIG5ldyBidWlsdC1pbiBpbnRl
cm5hbCB0aGF0IGltcGxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5v
cmcvI2NvbmNlcHQtaGVhZGVycy1maWxsLgorCisgICAgICAgIFJlZmFjdG9yaW5nIFJlc3BvbnNl
IGNvbnN0cnVjdG9yIHRvIHB1dCBtb3JlIGNoZWNrcyBpbiB0aGUgSlMgYnVpbHRpbiBmdWNudGlv
biBjYWxsZWQgd2l0aGluIGNvbnN0cnVjdG9yLgorICAgICAgICBNYWtpbmcgdXNlIG9mIHRoZSBu
ZXcgYnVpbHQtaW4gaW50ZXJuYWwgdGhhdCBpbXBsZW1lbnRzIGh0dHBzOi8vZmV0Y2guc3BlYy53
aGF0d2cub3JnLyNjb25jZXB0LWhlYWRlcnMtZmlsbC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBBZGRpbmcgRmV0Y2hIZWFkZXJzSW50ZXJuYWxzLmpzCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZTogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMu
anM6CisgICAgICAgIChpbml0aWFsaXplRmV0Y2hIZWFkZXJzKTogVXNpbmcgZmlsbEZldGNoSGVh
ZGVycyBuZXcgYnVpbHQtaW4gaW50ZXJuYWwuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aEludGVybmFscy5qczogQWRkZWQuCisgICAgICAgIChmaWxsRmV0Y2hIZWFkZXJzKToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwOiBSZWZhY3RvcmluZyB0byBkbyBt
b3JlIGluIHRoZSBKUyBidWlsdC1pbi4gU3BsaXR0aW5nIG9mIGluaXRpYWxpemVXaXRoIHNvCisg
ICAgICAgIHRoYXQgdGhlIGNoZWNrcyBhcmUgZG9uZSBpbiB0aGUgb3JkZXIgZGVmaW5lZCBieSB0
aGUgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OnNldFN0YXR1cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlOjppbml0aWFsaXplV2l0aCk6CisgICAgICAg
IChXZWJDb3JlOjppc051bGxCb2R5U3RhdHVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVz
cG9uc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qczoKKyAg
ICAgICAgKGluaXRpYWxpemVGZXRjaFJlc3BvbnNlKTogTmV3IGJ1aWx0LWluIGludGVybmFsLgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisKKzIwMTYtMDctMTkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gTWFrZSBS
ZWFkYWJsZVN0cmVhbSBwcm9wZXJ0aWVzIG5vdCBlbnVtZXJhYmxlCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4NjgKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCAzZDc1NjYxZTlkODQ5ZWI5OWU3MDA3NTFjNjE0MDdkZWMyYjg0MGY1Li43YTY2MWQ2
Mzc5ZWUwNGJjOWRiOTlmZjFiNDAwMzljMzZiNzdmZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMzcxMSw2ICszNzExLDcgQEAgR0VORVJBVEVfQklORElOR1MoV2ViQ29yZVRlc3RTdXBwb3J0
X1NPVVJDRVMKIAogc2V0KFdlYkNvcmVfQlVJTFRJTlNfU09VUkNFUwogICAgICR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmpzCisgICAgJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy9mZXRjaC9GZXRjaEludGVybmFscy5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLmpzCiAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXN0
cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGE5YWJiNWVlOTYzNGU2ZWUwMDU0MTQwYThhMDIwMWMwNjUxNDY2ZTcuLjlkNDg5ZTI4MTE5
ODhhNTFmZGM4N2JhZTYzMmNiYjUwMjA0NDk2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTI4NCw2ICsxMjg0LDcgQEAgV2ViUmVwbGF5SW5wdXRzLmggOiAkKElOUFVUX0dF
TkVSQVRPUl9TUEVDSUZJQ0FUSU9OUykgJChJTlBVVF9HRU5FUkFUT1JfU0NSSVBUUykKIAogV2Vi
Q29yZV9CVUlMVElOU19TT1VSQ0VTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9G
ZXRjaEhlYWRlcnMuanMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaEludGVy
bmFscy5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuanMgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWEuanMg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5qcwppbmRleCBh
YmIxZjc3MGExZWViNTcyMDY0NWZkMWZjZmUwODc0MjY4OWIxMDgwLi4yYmVmZTllNmNkMGVjNzhk
OTczM2ZlYWQ0ZTM0NTA4ZGVmZDQzMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoSGVhZGVycy5qcwpAQCAtMzUsMjYgKzM1LDcgQEAgZnVuY3Rpb24gaW5pdGlhbGl6
ZUZldGNoSGVhZGVycyhoZWFkZXJzSW5pdCkKICAgICBpZiAoIUBpc09iamVjdChoZWFkZXJzSW5p
dCkpCiAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJoZWFkZXJzSW5pdCBtdXN0IGJlIGFu
IG9iamVjdCIpOwogCi0gICAgaWYgKGhlYWRlcnNJbml0IGluc3RhbmNlb2YgQEhlYWRlcnMpIHsK
LSAgICAgICAgdGhpcy5AZmlsbEZyb21KUyhoZWFkZXJzSW5pdCk7Ci0gICAgICAgIHJldHVybiB0
aGlzOwotICAgIH0KLQotICAgIGlmIChAaXNBcnJheShoZWFkZXJzSW5pdCkpIHsKLSAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBoZWFkZXJzSW5pdC5sZW5ndGg7IGkrKykgewotICAgICAgICAg
ICAgbGV0IGhlYWRlciA9IGhlYWRlcnNJbml0W2ldOwotICAgICAgICAgICAgaWYgKGhlYWRlci5s
ZW5ndGggIT09IDIpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoImhlYWRl
cnNJbml0IHNlcXVlbmNlIGl0ZW1zIHNob3VsZCBjb250YWluIHR3byB2YWx1ZXMiKTsKLSAgICAg
ICAgICAgIHRoaXMuQGFwcGVuZEZyb21KUyhoZWFkZXJbMF0sIGhlYWRlclsxXSk7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotCi0gICAgbGV0IHByb3BlcnR5TmFtZXMg
PSBAT2JqZWN0LkBnZXRPd25Qcm9wZXJ0eU5hbWVzKGhlYWRlcnNJbml0KTsKLSAgICBmb3IgKGxl
dCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgbGV0IG5h
bWUgPSBwcm9wZXJ0eU5hbWVzW2ldOwotICAgICAgICB0aGlzLkBhcHBlbmRGcm9tSlMobmFtZSwg
aGVhZGVyc0luaXRbbmFtZV0pOwotICAgIH0KKyAgICBAZmlsbEZldGNoSGVhZGVycyh0aGlzLCBo
ZWFkZXJzSW5pdCk7CiAKICAgICByZXR1cm4gdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hJbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1MmVjNzYzNTM1YTgw
OWVhOGQ4Mjk4ZTA2OTM1ZWU1YjMwNzZlNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSW50ZXJuYWxzLmpzCkBAIC0wLDAgKzEsNTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBAY29uZGl0aW9uYWw9RU5BQkxFKEZFVENIX0FQSSkK
Ky8vIEBpbnRlcm5hbAorCitmdW5jdGlvbiBmaWxsRmV0Y2hIZWFkZXJzKGhlYWRlcnMsIGhlYWRl
cnNJbml0KQoreworICAgICJ1c2Ugc3RyaWN0IjsKKworICAgIGlmIChoZWFkZXJzSW5pdCBpbnN0
YW5jZW9mIEBIZWFkZXJzKSB7CisgICAgICAgIEBIZWFkZXJzLnByb3RvdHlwZS5AZmlsbEZyb21K
Uy5AY2FsbChoZWFkZXJzLCBoZWFkZXJzSW5pdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoQGlzQXJyYXkoaGVhZGVyc0luaXQpKSB7CisgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgaGVhZGVyc0luaXQubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIGxldCBoZWFkZXIg
PSBoZWFkZXJzSW5pdFtpXTsKKyAgICAgICAgICAgIGlmIChoZWFkZXIubGVuZ3RoICE9PSAyKQor
ICAgICAgICAgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJoZWFkZXJzSW5pdCBzZXF1ZW5j
ZSBpdGVtcyBzaG91bGQgY29udGFpbiB0d28gdmFsdWVzIik7CisgICAgICAgICAgICBASGVhZGVy
cy5wcm90b3R5cGUuQGFwcGVuZEZyb21KUy5AY2FsbChoZWFkZXJzLCBoZWFkZXJbMF0sIGhlYWRl
clsxXSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgfQorCisgICAgbGV0
IHByb3BlcnR5TmFtZXMgPSBAT2JqZWN0LkBnZXRPd25Qcm9wZXJ0eU5hbWVzKGhlYWRlcnNJbml0
KTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgbGV0IG5hbWUgPSBwcm9wZXJ0eU5hbWVzW2ldOworICAgICAgICBASGVhZGVycy5w
cm90b3R5cGUuQGFwcGVuZEZyb21KUy5AY2FsbChoZWFkZXJzLCBuYW1lLCBoZWFkZXJzSW5pdFtu
YW1lXSk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5jcHAKaW5kZXggNWZlNjQ2MGU1NzgyMzg3Y2UxNTMyODQwMjNiZDM0NGJkYjQ2MzNl
My4uZWQ2OWI1MjNjYzY2Zjk1YjhiNDJhZjFkNzExY2MyOWJhZDkzNDFiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0zMSw3ICszMSw2
IEBACiAKICNpZiBFTkFCTEUoRkVUQ0hfQVBJKQogCi0jaW5jbHVkZSAiRGljdGlvbmFyeS5oIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGZXRjaFJlcXVlc3QuaCIKICNp
bmNsdWRlICJIVFRQUGFyc2Vycy5oIgpAQCAtNDUsMTEgKzQ0LDYgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzUmVkaXJlY3RTdGF0dXMoaW50IHN0YXR1cykKICAgICByZXR1cm4gc3RhdHVzID09IDMw
MSB8fCBzdGF0dXMgPT0gMzAyIHx8IHN0YXR1cyA9PSAzMDMgfHwgc3RhdHVzID09IDMwNyB8fCBz
dGF0dXMgPT0gMzA4OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNOdWxsQm9keVN0YXR1cyhp
bnQgc3RhdHVzKQotewotICAgIHJldHVybiBzdGF0dXMgPT0gMTAxIHx8IHN0YXR1cyA9PSAyMDQg
fHwgc3RhdHVzID09IDIwNSB8fCBzdGF0dXMgPT0gMzA0OwotfQotCiBSZWY8RmV0Y2hSZXNwb25z
ZT4gRmV0Y2hSZXNwb25zZTo6ZXJyb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkK
IHsKICAgICBhdXRvIHJlc3BvbnNlID0gYWRvcHRSZWYoKm5ldyBGZXRjaFJlc3BvbnNlKGNvbnRl
eHQsIHsgfSwgRmV0Y2hIZWFkZXJzOjpjcmVhdGUoRmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRh
YmxlKSwgeyB9KSk7CkBAIC03NSw0MCArNjksMjEgQEAgUmVmUHRyPEZldGNoUmVzcG9uc2U+IEZl
dGNoUmVzcG9uc2U6OnJlZGlyZWN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGMK
ICAgICByZXR1cm4gV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKTsKIH0KIAotdm9pZCBGZXRjaFJl
c3BvbnNlOjppbml0aWFsaXplV2l0aChjb25zdCBEaWN0aW9uYXJ5JiBpbml0LCBFeGNlcHRpb25D
b2RlJiBlYykKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6c2V0U3RhdHVzKGludCBzdGF0dXMsIGNvbnN0
IFN0cmluZyYgc3RhdHVzVGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgaW50IHN0YXR1
czsKLSAgICBpZiAoIWluaXQuZ2V0KCJzdGF0dXMiLCBzdGF0dXMpKSB7Ci0gICAgICAgIGVjID0g
VHlwZUVycm9yOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChzdGF0dXMgPCAyMDAg
fHwgc3RhdHVzID4gNTk5KSB7Ci0gICAgICAgIGVjID0gUmFuZ2VFcnJvcjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIFN0cmluZyBzdGF0dXNUZXh0OwotICAgIGlmICghaW5pdC5nZXQo
InN0YXR1c1RleHQiLCBzdGF0dXNUZXh0KSB8fCAhaXNWYWxpZFJlYXNvblBocmFzZShzdGF0dXNU
ZXh0KSkgeworICAgIGlmICghaXNWYWxpZFJlYXNvblBocmFzZShzdGF0dXNUZXh0KSkgewogICAg
ICAgICBlYyA9IFR5cGVFcnJvcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3Jlc3Bv
bnNlLnNldEhUVFBTdGF0dXNDb2RlKHN0YXR1cyk7CiAgICAgbV9yZXNwb25zZS5zZXRIVFRQU3Rh
dHVzVGV4dChzdGF0dXNUZXh0KTsKK30KIAotICAgIFJlZlB0cjxGZXRjaEhlYWRlcnM+IGluaXRp
YWxIZWFkZXJzOwotICAgIGlmIChpbml0LmdldCgiaGVhZGVycyIsIGluaXRpYWxIZWFkZXJzKSkK
LSAgICAgICAgbV9oZWFkZXJzLT5maWxsKGluaXRpYWxIZWFkZXJzLmdldCgpKTsKLQotICAgIEpT
Qzo6SlNWYWx1ZSBib2R5OwotICAgIGlmIChpbml0LmdldCgiYm9keSIsIGJvZHkpKSB7Ci0gICAg
ICAgIGlmIChpc051bGxCb2R5U3RhdHVzKHN0YXR1cykpIHsKLSAgICAgICAgICAgIGVjID0gVHlw
ZUVycm9yOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG1fYm9keSA9
IEZldGNoQm9keTo6ZXh0cmFjdCgqaW5pdC5leGVjU3RhdGUoKSwgYm9keSk7Ci0gICAgICAgIGlm
IChtX2hlYWRlcnMtPmZhc3RHZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKS5pc0VtcHR5
KCkgJiYgIW1fYm9keS5taW1lVHlwZSgpLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1faGVhZGVy
cy0+ZmFzdFNldChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUsIG1fYm9keS5taW1lVHlwZSgp
KTsKLSAgICB9Cit2b2lkIEZldGNoUmVzcG9uc2U6OmluaXRpYWxpemVXaXRoKEpTQzo6RXhlY1N0
YXRlJiBleGVjU3RhdGUsIEpTQzo6SlNWYWx1ZSBib2R5KQoreworICAgIG1fYm9keSA9IEZldGNo
Qm9keTo6ZXh0cmFjdChleGVjU3RhdGUsIGJvZHkpOworICAgIGlmIChtX2hlYWRlcnMtPmZhc3RH
ZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKS5pc0VtcHR5KCkgJiYgIW1fYm9keS5taW1l
VHlwZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFkZXJzLT5mYXN0U2V0KEhUVFBIZWFkZXJO
YW1lOjpDb250ZW50VHlwZSwgbV9ib2R5Lm1pbWVUeXBlKCkpOwogfQogCiBGZXRjaFJlc3BvbnNl
OjpGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEZldGNoQm9k
eSYmIGJvZHksIFJlZjxGZXRjaEhlYWRlcnM+JiYgaGVhZGVycywgUmVzb3VyY2VSZXNwb25zZSYm
IHJlc3BvbnNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
aAppbmRleCAzNmQ4NTA4YTBjNzU3MGJlYjI4Njc1NGZmM2U3MDVkMGUyMDg4M2UzLi5mYzYyNzFk
MzhjZmI1NTkyNGZjMzQ1NThjNDlhN2YwNDVlMzM5MjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaApAQCAtMzYsNiArMzYsOCBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIGNsYXNzIEFycmF5QnVmZmVyOworY2xhc3MgRXhlY1N0YXRlOworY2xhc3MgSlNW
YWx1ZTsKIH07CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU4LDcgKzYwLDkgQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaFJl
cXVlc3QmLCBjb25zdCBEaWN0aW9uYXJ5JiwgRmV0Y2hQcm9taXNlJiYpOwogICAgIHN0YXRpYyB2
b2lkIGZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBE
aWN0aW9uYXJ5JiwgRmV0Y2hQcm9taXNlJiYpOwogCi0gICAgdm9pZCBpbml0aWFsaXplV2l0aChj
b25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgdm9pZCBzZXRTdGF0dXMo
aW50LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBpbml0aWFsaXpl
V2l0aChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSk7CiAKICAgICBUeXBlIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3Jlc3BvbnNlLnR5cGUoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgdXJs
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNl
LmlkbAppbmRleCA3ODQ5ZDA5MmJhZmNjM2ExODhhNDBmYzFkYWEyNzY1NWZjOTBiZmJhLi5iN2Fj
OGE1MmE3NzhhYTExMTM5YzYxYjViNWE2NmIyYzE0YWIzMWYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwKQEAgLTU0LDYgKzU0LDcgQEAgaW50
ZXJmYWNlIEZldGNoUmVzcG9uc2UgewogCiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uXSBGZXRjaFJlc3BvbnNlIGNsb25lKCk7
CiAKLSAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbml0aWFs
aXplV2l0aChEaWN0aW9uYXJ5IHBhcmFtZXRlcnMpOworICAgIFtQcml2YXRlSWRlbnRpZmllciwg
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFN0YXR1cyh1bnNpZ25lZCBzaG9ydCBzdGF0dXMsIERP
TVN0cmluZyBzdGF0dXNUZXh0KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIFByaXZhdGVJ
ZGVudGlmaWVyXSB2b2lkIGluaXRpYWxpemVXaXRoKGFueSBib2R5KTsKIH07CiBGZXRjaFJlc3Bv
bnNlIGltcGxlbWVudHMgRmV0Y2hCb2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlc3BvbnNlLmpzCmluZGV4IGNjYmI4MjQ0MDVhOTQ3MTFmY2RmYWNkOWEyZDNiOGU3
NDM5MjFhOTcuLmEwNGQ2ZTdmYjU0MjhiOWUyZjFlZjdlMGRkMmUwZDgzMDU0YTJmMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuanMKQEAgLTI5LDI0
ICsyOSwyNyBAQCBmdW5jdGlvbiBpbml0aWFsaXplRmV0Y2hSZXNwb25zZShib2R5LCBpbml0KQog
ewogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGxldCBwYXJhbWV0ZXJzID0geyB9OwotICAgIGlm
IChpbml0ICE9PSBAdW5kZWZpbmVkKSB7Ci0gICAgICAgIGlmICghQGlzT2JqZWN0KGluaXQpKQot
ICAgICAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIlJlc3BvbnNlIGluaXQgbXVzdCBiZSBh
biBvYmplY3QiKTsKLSAgICAgICAgcGFyYW1ldGVycy5zdGF0dXMgPSBpbml0LnN0YXR1czsKLSAg
ICAgICAgcGFyYW1ldGVycy5zdGF0dXNUZXh0ID0gaW5pdC5zdGF0dXNUZXh0OwotICAgICAgICBp
ZiAoaW5pdC5oZWFkZXJzKQotICAgICAgICAgICAgcGFyYW1ldGVycy5oZWFkZXJzID0gKGluaXQu
aGVhZGVycyBpbnN0YW5jZW9mIEBIZWFkZXJzKSA/IGluaXQuaGVhZGVycyA6IG5ldyBASGVhZGVy
cyhpbml0LmhlYWRlcnMpOwotICAgIH0KKyAgICBpZiAoaW5pdCA9PT0gQHVuZGVmaW5lZCkKKyAg
ICAgICAgaW5pdCA9IHsgfTsKKyAgICBlbHNlIGlmICghQGlzT2JqZWN0KGluaXQpKQorICAgICAg
ICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiUmVzcG9uc2UgaW5pdCBtdXN0IGJlIGFuIG9iamVjdCIp
OworCisgICAgbGV0IHN0YXR1cyA9IChpbml0LnN0YXR1cyAhPT0gQHVuZGVmaW5lZCkgPyBAdG9O
dW1iZXIoaW5pdC5zdGF0dXMpIDogMjAwOworICAgIGlmIChzdGF0dXMgPCAyMDAgIHx8IHN0YXR1
cyA+IDU5OSkKKyAgICAgICAgdGhyb3cgbmV3IEBSYW5nZUVycm9yKCJTdGF0dXMgbXVzdCBiZSBi
ZXR3ZWVuIDIwMCBhbmQgNTk5Iik7CisKKyAgICBsZXQgc3RhdHVzVGV4dCA9IChpbml0LnN0YXR1
c1RleHQgIT09IEB1bmRlZmluZWQpID8gaW5pdC5zdGF0dXNUZXh0IDogIk9LIjsKIAotICAgIGlm
IChwYXJhbWV0ZXJzLnN0YXR1cyA9PT0gQHVuZGVmaW5lZCkKLSAgICAgICAgcGFyYW1ldGVycy5z
dGF0dXMgPSAyMDA7Ci0gICAgaWYgKHBhcmFtZXRlcnMuc3RhdHVzVGV4dCA9PT0gQHVuZGVmaW5l
ZCkKLSAgICAgICAgcGFyYW1ldGVycy5zdGF0dXNUZXh0ID0gIk9LIjsKKyAgICB0aGlzLkBzZXRT
dGF0dXMoc3RhdHVzLCBzdGF0dXNUZXh0KTsKIAotICAgIGlmIChib2R5ICE9PSBAdW5kZWZpbmVk
ICYmIGJvZHkgIT09IG51bGwpCi0gICAgICAgICBwYXJhbWV0ZXJzLmJvZHkgPSBib2R5OworICAg
IGlmIChpbml0LmhlYWRlcnMgIT09IEB1bmRlZmluZWQpCisgICAgICAgIEBmaWxsRmV0Y2hIZWFk
ZXJzKHRoaXMuaGVhZGVycywgaW5pdC5oZWFkZXJzKTsKKworICAgIGlmIChib2R5ICE9PSBAdW5k
ZWZpbmVkICYmIGJvZHkgIT09IG51bGwpIHsKKyAgICAgICAgaWYgKHN0YXR1cyA9PSAxMDEgfHwg
c3RhdHVzID09IDIwNCB8fCBzdGF0dXMgPT0gMjA1IHx8IHN0YXR1cyA9PSAzMDQpCisgICAgICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiUmVzcG9uc2UgY2Fubm90IGhhdmUgYSBib2R5IHdp
dGggdGhlIGdpdmVuIHN0YXR1cyIpOworICAgICAgICB0aGlzLkBpbml0aWFsaXplV2l0aChib2R5
KTsKKyAgICB9CiAKLSAgICB0aGlzLkBpbml0aWFsaXplV2l0aChwYXJhbWV0ZXJzKTsKICAgICBy
ZXR1cm4gdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyZDgyYmUyNWRiMWNkYzc3MjIyM2UxNTg0MmQzZmIxYThlODc2
Y2QxLi4wY2U2N2FiNTYzZjJkM2RjMGM5MDYyZjRiZTBkM2U3ODI3NzQ3OTAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTk1
LDYgKzE1OTUsNyBAQAogCQk0MTYyQTQ1NzEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTYyQTQ1NTEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5jcHAgKi87IH07CiAJCTQxNjJBNDU4MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTYyQTQ1NjEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oICovOyB9OwogCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyog
V29ya2VyUmVwb3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQ
cm94eS5oICovOyB9OworCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwMjMgLyogRmV0Y2hJbnRlcm5h
bHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEI5IC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZF
ODFCQkQxMkRGMDAwQTYwMzMgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjRDOSAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA1MyAvKiBXcml0YWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC0xMTgxNCw2ICsxMTgxNSw3IEBACiAJCTk5MDhCMEY5MUJDQUQwN0Qw
MEVEMEY3NSAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGQTFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVT
dHJlYW1Db250cm9sbGVyQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGQjFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVT
dHJlYW1Db250cm9sbGVyQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjQ1IC8qIEZldGNoSW50ZXJuYWxzQnVp
bHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmV0Y2hJbnRl
cm5hbHNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZE
MUJDQUQwN0QwMEVEMEY1NSAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY2NSAv
KiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDBGNzUgLyog
V3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExODU2LDYgKzExODU4LDcgQEAKIAkJOUE1MjhF
ODIxN0Q3RjUyRjAwQUE5NTE4IC8qIEZsb2F0aW5nT2JqZWN0cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGbG9hdGluZ09iamVjdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOUFCMUYzN0UxOEUyNDg5QTAwNTM0NzQzIC8qIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QUIxRjM3RjE4RTI0
ODlBMDA1MzQ3NDMgLyogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEI5IC8q
IEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4
IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzkx
OCw3ICsxNzkyMSw5IEBACiAJCQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxl
U3RyZWFtQnVpbHRpbnMuaCAqLywKIAkJCQk5OTA4QjBGQTFCQ0FEMDdEMDBFRDBGNjUgLyogUmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuY3BwICovLAogCQkJCTk5MDhCMEZCMUJDQUQw
N0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5oICovLAorCQkJ
CTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY0NSAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5zLmNwcCAq
LywKIAkJCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGlucy5jcHAgKi8sCisJCQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEI5IC8qIEZldGNo
SW50ZXJuYWxzQnVpbHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovLAogCQkJCTk5MDhCMEZFMUJDQUQw
N0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zLmNwcCAqLywKIAkJCQk5
OTA4QjBGRjFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlucy5o
ICovLApAQCAtMjc4NTEsNiArMjc4NTYsNyBAQAogCQkJCTZFODRFOUUxMTc2NjhCRjEwMDgxNUI2
OCAvKiBSYXN0ZXJTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg0RDgyN0MxMUQzMzNFRDAw
OTcyOTkwIC8qIFJhd0RhdGFEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE2
RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBGZXRjaEludGVybmFsc0J1
aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNDMgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwM0MxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTRBNEY2NTcxMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCAwZTIwYTg5NWY4NGI2NzM2OTBiOGQ1ZGI4MDJmMmMzMWZkMDM5
N2I3Li5mMDdmMDcwOWQ4NzIzNTFlOGViNDk3Y2U5Y2NjZWY2MGQzODhkY2VlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC02Miw2
ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhyZWFkUmVxdWVzdHMpIFwK
ICAgICBtYWNybyhyZWFkeVByb21pc2VDYXBhYmlsaXR5KSBcCiAgICAgbWFjcm8ocmVtb3ZlVHJh
Y2spIFwKKyAgICBtYWNybyhzZXRTdGF0dXMpIFwKICAgICBtYWNybyhzdGF0ZSkgXAogICAgIG1h
Y3JvKHN0YXJ0ZWQpIFwKICAgICBtYWNybyhzdGFydGVkUHJvbWlzZSkgXAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>