<?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>171672</bug_id>
          
          <creation_ts>2017-05-04 10:15:55 -0700</creation_ts>
          <short_desc>MediaSource.readyState should use an IDL enum</short_desc>
          <delta_ts>2017-05-09 09:00:27 -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>Media</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nael Ouedraogo">nael.ouedp</reporter>
          <assigned_to name="Nael Ouedraogo">nael.ouedp</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1304685</commentid>
    <comment_count>0</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2017-05-04 10:15:55 -0700</bug_when>
    <thetext>MediaSource.readyState should use an IDL enum as per specification (https://www.w3.org/TR/2016/CR-media-source-20160503/#idl-def-ReadyState).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305037</commentid>
    <comment_count>1</comment_count>
      <attachid>309147</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2017-05-04 23:59:09 -0700</bug_when>
    <thetext>Created attachment 309147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305105</commentid>
    <comment_count>2</comment_count>
      <attachid>309147</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-05-05 08:02:32 -0700</bug_when>
    <thetext>Comment on attachment 309147
Patch

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

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:56
&gt; +static const char* dumpReadyState(WebCore::MediaSource::ReadyState readyState)

Nit: &quot;dumpReadyState&quot; doesn&apos;t describe what this function does. Maybe &quot;toString&quot; instead?

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:61
&gt; +    case WebCore::MediaSource::ReadyState::Closed: return &quot;closed&quot;;
&gt; +    case WebCore::MediaSource::ReadyState::Ended: return &quot;ended&quot;;
&gt; +    case WebCore::MediaSource::ReadyState::Open: return &quot;open&quot;;

Nit: I think having the &quot;return&quot; on the same line as the &quot;case&quot; makes these slightly harder to read.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:528
&gt; +    ReadyState oldState = readyState();

Nit: &quot;auto&quot; please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1305120</commentid>
    <comment_count>3</comment_count>
      <attachid>309147</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-05 08:39:14 -0700</bug_when>
    <thetext>Comment on attachment 309147
Patch

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

&gt;&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:56
&gt;&gt; +static const char* dumpReadyState(WebCore::MediaSource::ReadyState readyState)
&gt; 
&gt; Nit: &quot;dumpReadyState&quot; doesn&apos;t describe what this function does. Maybe &quot;toString&quot; instead?

WebCore:: is not needed.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:85
&gt; +    , m_readyState(ReadyState::Closed)

Could be inline initialization of the member in the header.

&gt; Source/WebCore/Modules/mediasource/MediaSource.cpp:526
&gt; +    ASSERT(state == ReadyState::Open || state == ReadyState::Closed || state == ReadyState::Ended);

This assertion is no longer useful I believe.

&gt; Source/WebCore/Modules/mediasource/MediaSource.h:123
&gt; +    void setReadyState(const ReadyState);

No const please.

&gt; Source/WebCore/Modules/mediasource/MediaSource.h:124
&gt; +    void onReadyStateChange(const ReadyState oldState, const ReadyState newState);

No const please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306344</commentid>
    <comment_count>4</comment_count>
      <attachid>309490</attachid>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2017-05-09 05:41:03 -0700</bug_when>
    <thetext>Created attachment 309490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306345</commentid>
    <comment_count>5</comment_count>
    <who name="Nael Ouedraogo">nael.ouedp</who>
    <bug_when>2017-05-09 05:50:10 -0700</bug_when>
    <thetext>I made the corrections you suggested in uploaded patch. Thanks for the reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306399</commentid>
    <comment_count>6</comment_count>
      <attachid>309490</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-09 09:00:26 -0700</bug_when>
    <thetext>Comment on attachment 309490
Patch

Clearing flags on attachment: 309490

Committed r216509: &lt;http://trac.webkit.org/changeset/216509&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306400</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-09 09:00:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309147</attachid>
            <date>2017-05-04 23:59:09 -0700</date>
            <delta_ts>2017-05-09 05:40:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171672-20170505085907.patch</filename>
            <type>text/plain</type>
            <size>10498</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDIyZjEwZWIzMGE3MTMw
NWZlY2IzZTYwMmU0ZjNkZWY4ZjkwNDlkNy4uZWY2MGYzYmIzYmNkNTA4ZDJlYmZjM2U4MmNiZGQy
MzE2NjUxODY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTA1LTA0ICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBNZWRp
YVNvdXJjZS5yZWFkeVN0YXRlIHNob3VsZCB1c2UgYW4gSURMIGVudW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTY3MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhU291cmNlLnJlYWR5U3RhdGUg
c2hvdWxkIHVzZSBhbiBJREwgZW51bSBhcyBwZXIgc3BlY2lmaWNhdGlvbgorICAgICAgICAoaHR0
cHM6Ly93d3cudzMub3JnL1RSLzIwMTYvQ1ItbWVkaWEtc291cmNlLTIwMTYwNTAzLyNpZGwtZGVm
LVJlYWR5U3RhdGUpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyByZXF1aXJlZCBzaW5jZSBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmR1bXBSZWFkeVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlOjpNZWRpYVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVNvdXJjZTo6c2V0UHJpdmF0ZUFuZE9wZW4pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3Vy
Y2U6OmJ1ZmZlcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzZXRSZWFkeVN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzdHJlYW1FbmRlZFdpdGhFcnJv
cik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6aXNPcGVuKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU291cmNlOjppc0Nsb3NlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6aXNFbmRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6ZGV0YWNoRnJv
bUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Om9wZW5JZkluRW5kZWRT
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6c3RvcCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNvdXJjZTo6b25SZWFkeVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5pZGw6CisKIDIwMTctMDUtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIxNTY4Nik6IElu
Y3JlbWVudGFsIHJlYWRzIGZyb20gU2hhcmVkQnVmZmVyIGFyZSB3cm9uZyBhZnRlciByMjE1Njg2
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
Y3BwCmluZGV4IDRmMTg4Yjg1MjQ4ZmM0MjEzOWQ3NTgxZGUxOTBkM2YyN2ViNjExNmIuLjJjNmJm
ODkzZWE2ZjQ5NzZmMWMyMzNhZWZlYzIxOGQ0ZTNjNjg4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC01Miw2ICs1Miwx
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhTE9HX0RJU0FCTEVECitzdGF0aWMg
Y29uc3QgY2hhciogZHVtcFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OlJlYWR5U3Rh
dGUgcmVhZHlTdGF0ZSkKK3sKKyAgICBzd2l0Y2ggKHJlYWR5U3RhdGUpIHsKKyAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhU291cmNlOjpSZWFkeVN0YXRlOjpDbG9zZWQ6IHJldHVybiAiY2xvc2VkIjsK
KyAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhU291cmNlOjpSZWFkeVN0YXRlOjpFbmRlZDogcmV0dXJu
ICJlbmRlZCI7CisgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVNvdXJjZTo6UmVhZHlTdGF0ZTo6T3Bl
bjogcmV0dXJuICJvcGVuIjsKKyAgICB9Cit9CisjZW5kaWYKKwogVVJMUmVnaXN0cnkqIE1lZGlh
U291cmNlOjpzX3JlZ2lzdHJ5OwogCiB2b2lkIE1lZGlhU291cmNlOjpzZXRSZWdpc3RyeShVUkxS
ZWdpc3RyeSogcmVnaXN0cnkpCkBAIC03MSw3ICs4Miw3IEBAIE1lZGlhU291cmNlOjpNZWRpYVNv
dXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KCZjb250ZXh0KQogICAgICwgbV9kdXJhdGlvbihNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkp
CiAgICAgLCBtX3BlbmRpbmdTZWVrVGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCi0gICAg
LCBtX3JlYWR5U3RhdGUoY2xvc2VkS2V5d29yZCgpKQorICAgICwgbV9yZWFkeVN0YXRlKFJlYWR5
U3RhdGU6OkNsb3NlZCkKICAgICAsIG1fYXN5bmNFdmVudFF1ZXVlKCp0aGlzKQogewogICAgIExP
RyhNZWRpYVNvdXJjZSwgIk1lZGlhU291cmNlOjpNZWRpYVNvdXJjZSAlcCIsIHRoaXMpOwpAQCAt
ODUsMjQgKzk2LDYgQEAgTWVkaWFTb3VyY2U6On5NZWRpYVNvdXJjZSgpCiAgICAgQVNTRVJUKGlz
Q2xvc2VkKCkpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNlOjpvcGVuS2V5
d29yZCgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21pY1N0cmluZz4g
b3Blbigib3BlbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgIHJl
dHVybiBvcGVuOwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhU291cmNlOjpjbG9zZWRL
ZXl3b3JkKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbWljU3RyaW5n
PiBjbG9zZWQoImNsb3NlZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwot
ICAgIHJldHVybiBjbG9zZWQ7Ci19Ci0KLWNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFTb3VyY2U6
OmVuZGVkS2V5d29yZCgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21p
Y1N0cmluZz4gZW5kZWQoImVuZGVkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7Ci0gICAgcmV0dXJuIGVuZGVkOwotfQotCiB2b2lkIE1lZGlhU291cmNlOjpzZXRQcml2YXRl
QW5kT3BlbihSZWY8TWVkaWFTb3VyY2VQcml2YXRlPiYmIG1lZGlhU291cmNlUHJpdmF0ZSkKIHsK
ICAgICBBU1NFUlQoIW1fcHJpdmF0ZSk7CkBAIC0xMjYsNyArMTE5LDcgQEAgdm9pZCBNZWRpYVNv
dXJjZTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291cmNlUHJpdmF0ZT4mJiBtZWRpYVNv
dXJjZVByaXZhdGUKIAogICAgIC8vIDIuIFNldCB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgdG8g
Im9wZW4iLgogICAgIC8vIDMuIFF1ZXVlIGEgdGFzayB0byBmaXJlIGEgc2ltcGxlIGV2ZW50IG5h
bWVkIHNvdXJjZW9wZW4gYXQgdGhlIE1lZGlhU291cmNlLgotICAgIHNldFJlYWR5U3RhdGUob3Bl
bktleXdvcmQoKSk7CisgICAgc2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlOjpPcGVuKTsKIAogICAg
IC8vIDQuIENvbnRpbnVlIHRoZSByZXNvdXJjZSBmZXRjaCBhbGdvcml0aG0gYnkgcnVubmluZyB0
aGUgcmVtYWluaW5nICJPdGhlcndpc2UgKG1vZGUgaXMgbG9jYWwpIiBzdGVwcywKICAgICAvLyB3
aXRoIHRoZXNlIGNsYXJpZmljYXRpb25zOgpAQCAtMTkyLDcgKzE4NSw3IEBAIHN0ZDo6dW5pcXVl
X3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IE1lZGlhU291cmNlOjpidWZmZXJlZCgpIGNvbnN0CiAg
ICAgbV9idWZmZXJlZC0+YWRkKE1lZGlhVGltZTo6emVyb1RpbWUoKSwgaGlnaGVzdEVuZFRpbWUp
OwogCiAgICAgLy8gNS4gRm9yIGVhY2ggU291cmNlQnVmZmVyIG9iamVjdCBpbiBhY3RpdmVTb3Vy
Y2VCdWZmZXJzIHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzOgotICAgIGJvb2wgZW5kZWQgPSByZWFk
eVN0YXRlKCkgPT0gZW5kZWRLZXl3b3JkKCk7CisgICAgYm9vbCBlbmRlZCA9IHJlYWR5U3RhdGUo
KSA9PSBSZWFkeVN0YXRlOjpFbmRlZDsKICAgICBmb3IgKGF1dG8mIHNvdXJjZVJhbmdlcyA6IGFj
dGl2ZVJhbmdlcykgewogICAgICAgICAvLyA1LjEgTGV0IHNvdXJjZSByYW5nZXMgZXF1YWwgdGhl
IHJhbmdlcyByZXR1cm5lZCBieSB0aGUgYnVmZmVyZWQgYXR0cmlidXRlIG9uIHRoZSBjdXJyZW50
IFNvdXJjZUJ1ZmZlci4KICAgICAgICAgLy8gNS4yIElmIHJlYWR5U3RhdGUgaXMgImVuZGVkIiwg
dGhlbiBzZXQgdGhlIGVuZCB0aW1lIG9uIHRoZSBsYXN0IHJhbmdlIGluIHNvdXJjZSByYW5nZXMg
dG8gaGlnaGVzdCBlbmQgdGltZS4KQEAgLTUyOCwxMiArNTIxLDEyIEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IE1lZGlhU291cmNlOjpzZXREdXJhdGlvbkludGVybmFsKGNvbnN0IE1lZGlhVGltZSYgZHVy
YXRpb24pCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBNZWRpYVNvdXJjZTo6c2V0UmVhZHlT
dGF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHN0YXRlKQordm9pZCBNZWRpYVNvdXJjZTo6c2V0UmVh
ZHlTdGF0ZShjb25zdCBSZWFkeVN0YXRlIHN0YXRlKQogewotICAgIEFTU0VSVChzdGF0ZSA9PSBv
cGVuS2V5d29yZCgpIHx8IHN0YXRlID09IGNsb3NlZEtleXdvcmQoKSB8fCBzdGF0ZSA9PSBlbmRl
ZEtleXdvcmQoKSk7CisgICAgQVNTRVJUKHN0YXRlID09IFJlYWR5U3RhdGU6Ok9wZW4gfHwgc3Rh
dGUgPT0gUmVhZHlTdGF0ZTo6Q2xvc2VkIHx8IHN0YXRlID09IFJlYWR5U3RhdGU6OkVuZGVkKTsK
IAotICAgIEF0b21pY1N0cmluZyBvbGRTdGF0ZSA9IHJlYWR5U3RhdGUoKTsKLSAgICBMT0coTWVk
aWFTb3VyY2UsICJNZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZSglcCkgOiAlcyAtPiAlcyIsIHRo
aXMsIG9sZFN0YXRlLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpLCBzdGF0ZS5zdHJpbmcoKS5hc2Np
aSgpLmRhdGEoKSk7CisgICAgUmVhZHlTdGF0ZSBvbGRTdGF0ZSA9IHJlYWR5U3RhdGUoKTsKKyAg
ICBMT0coTWVkaWFTb3VyY2UsICJNZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZSglcCkgOiAlcyAt
PiAlcyIsIHRoaXMsIGR1bXBSZWFkeVN0YXRlKG9sZFN0YXRlKSwgZHVtcFJlYWR5U3RhdGUoc3Rh
dGUpKTsKIAogICAgIGlmIChvbGRTdGF0ZSA9PSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwpAQCAt
NTcyLDcgKzU2NSw3IEBAIHZvaWQgTWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVkV2l0aEVycm9yKHN0
ZDo6b3B0aW9uYWw8RW5kT2ZTdHJlYW1FcnJvcj4gZXJyb3IpCiAKICAgICAvLyAxLiBDaGFuZ2Ug
dGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIHZhbHVlIHRvICJlbmRlZCIuCiAgICAgLy8gMi4gUXVl
dWUgYSB0YXNrIHRvIGZpcmUgYSBzaW1wbGUgZXZlbnQgbmFtZWQgc291cmNlZW5kZWQgYXQgdGhl
IE1lZGlhU291cmNlLgotICAgIHNldFJlYWR5U3RhdGUoZW5kZWRLZXl3b3JkKCkpOworICAgIHNl
dFJlYWR5U3RhdGUoUmVhZHlTdGF0ZTo6RW5kZWQpOwogCiAgICAgLy8gMy4KICAgICBpZiAoIWVy
cm9yKSB7CkBAIC04NjEsMTcgKzg1NCwxNyBAQCBib29sIE1lZGlhU291cmNlOjppc1R5cGVTdXBw
b3J0ZWQoY29uc3QgU3RyaW5nJiB0eXBlKQogCiBib29sIE1lZGlhU291cmNlOjppc09wZW4oKSBj
b25zdAogewotICAgIHJldHVybiByZWFkeVN0YXRlKCkgPT0gb3BlbktleXdvcmQoKTsKKyAgICBy
ZXR1cm4gcmVhZHlTdGF0ZSgpID09IFJlYWR5U3RhdGU6Ok9wZW47CiB9CiAKIGJvb2wgTWVkaWFT
b3VyY2U6OmlzQ2xvc2VkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gcmVhZHlTdGF0ZSgpID09IGNs
b3NlZEtleXdvcmQoKTsKKyAgICByZXR1cm4gcmVhZHlTdGF0ZSgpID09IFJlYWR5U3RhdGU6OkNs
b3NlZDsKIH0KIAogYm9vbCBNZWRpYVNvdXJjZTo6aXNFbmRlZCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIHJlYWR5U3RhdGUoKSA9PSBlbmRlZEtleXdvcmQoKTsKKyAgICByZXR1cm4gcmVhZHlTdGF0
ZSgpID09IFJlYWR5U3RhdGU6OkVuZGVkOwogfQogCiB2b2lkIE1lZGlhU291cmNlOjpkZXRhY2hG
cm9tRWxlbWVudChIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQpAQCAtODgzLDcgKzg3Niw3IEBA
IHZvaWQgTWVkaWFTb3VyY2U6OmRldGFjaEZyb21FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIGVs
ZW1lbnQpCiAKICAgICAvLyAxLiBTZXQgdGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIHRvICJjbG9z
ZWQiLgogICAgIC8vIDcuIFF1ZXVlIGEgdGFzayB0byBmaXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVk
IHNvdXJjZWNsb3NlIGF0IHRoZSBNZWRpYVNvdXJjZS4KLSAgICBzZXRSZWFkeVN0YXRlKGNsb3Nl
ZEtleXdvcmQoKSk7CisgICAgc2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlOjpDbG9zZWQpOwogCiAg
ICAgLy8gMi4gVXBkYXRlIGR1cmF0aW9uIHRvIE5hTi4KICAgICBtX2R1cmF0aW9uID0gTWVkaWFU
aW1lOjppbnZhbGlkVGltZSgpOwpAQCAtOTIwLDEwICs5MTMsMTAgQEAgYm9vbCBNZWRpYVNvdXJj
ZTo6YXR0YWNoVG9FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1lbnQpCiAKIHZvaWQgTWVk
aWFTb3VyY2U6Om9wZW5JZkluRW5kZWRTdGF0ZSgpCiB7Ci0gICAgaWYgKG1fcmVhZHlTdGF0ZSAh
PSBlbmRlZEtleXdvcmQoKSkKKyAgICBpZiAobV9yZWFkeVN0YXRlICE9IFJlYWR5U3RhdGU6OkVu
ZGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXRSZWFkeVN0YXRlKG9wZW5LZXl3b3JkKCkp
OworICAgIHNldFJlYWR5U3RhdGUoUmVhZHlTdGF0ZTo6T3Blbik7CiAgICAgbV9wcml2YXRlLT51
bm1hcmtFbmRPZlN0cmVhbSgpOwogfQogCkBAIC05MzgsNyArOTMxLDcgQEAgdm9pZCBNZWRpYVNv
dXJjZTo6c3RvcCgpCiAgICAgbV9hc3luY0V2ZW50UXVldWUuY2xvc2UoKTsKICAgICBpZiAobV9t
ZWRpYUVsZW1lbnQpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5kZXRhY2hNZWRpYVNvdXJjZSgp
OwotICAgIG1fcmVhZHlTdGF0ZSA9IGNsb3NlZEtleXdvcmQoKTsKKyAgICBtX3JlYWR5U3RhdGUg
PSBSZWFkeVN0YXRlOjpDbG9zZWQ7CiAgICAgbV9wcml2YXRlID0gbnVsbHB0cjsKIH0KIApAQCAt
OTUyLDcgKzk0NSw3IEBAIGNvbnN0IGNoYXIqIE1lZGlhU291cmNlOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKICAgICByZXR1cm4gIk1lZGlhU291cmNlIjsKIH0KIAotdm9pZCBNZWRpYVNv
dXJjZTo6b25SZWFkeVN0YXRlQ2hhbmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkU3RhdGUsIGNv
bnN0IEF0b21pY1N0cmluZyYgbmV3U3RhdGUpCit2b2lkIE1lZGlhU291cmNlOjpvblJlYWR5U3Rh
dGVDaGFuZ2UoY29uc3QgUmVhZHlTdGF0ZSBvbGRTdGF0ZSwgY29uc3QgUmVhZHlTdGF0ZSBuZXdT
dGF0ZSkKIHsKICAgICBmb3IgKGF1dG8mIGJ1ZmZlciA6ICptX3NvdXJjZUJ1ZmZlcnMpCiAgICAg
ICAgIGJ1ZmZlci0+cmVhZHlTdGF0ZUNoYW5nZWQoKTsKQEAgLTk2Miw3ICs5NTUsNyBAQCB2b2lk
IE1lZGlhU291cmNlOjpvblJlYWR5U3RhdGVDaGFuZ2UoY29uc3QgQXRvbWljU3RyaW5nJiBvbGRT
dGF0ZSwgY29uc3QgQXRvbWljUwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG9s
ZFN0YXRlID09IG9wZW5LZXl3b3JkKCkgJiYgbmV3U3RhdGUgPT0gZW5kZWRLZXl3b3JkKCkpIHsK
KyAgICBpZiAob2xkU3RhdGUgPT0gUmVhZHlTdGF0ZTo6T3BlbiAmJiBuZXdTdGF0ZSA9PSBSZWFk
eVN0YXRlOjpFbmRlZCkgewogICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5zb3Vy
Y2VlbmRlZEV2ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAppbmRleCA1NDkzMTlmMTI5ZGQw
OGU2MTNhN2Y5ZTllNjNiMzQ2OGIxZjcyZDRhLi43NTkwZWUyOWRjZWI0MjgyYWMwNmNhYzZkOTcy
Mzc5NDkxNTk3YzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5oCkBAIC04Miw3ICs4Miw5IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25P
cjx2b2lkPiBzZXREdXJhdGlvbihkb3VibGUpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldER1
cmF0aW9uSW50ZXJuYWwoY29uc3QgTWVkaWFUaW1lJik7CiAgICAgTWVkaWFUaW1lIGN1cnJlbnRU
aW1lKCkgY29uc3Q7Ci0gICAgY29uc3QgQXRvbWljU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9yZWFkeVN0YXRlOyB9CisKKyAgICBlbnVtIGNsYXNzIFJlYWR5U3RhdGUgeyBD
bG9zZWQsIE9wZW4sIEVuZGVkIH07CisgICAgUmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9yZWFkeVN0YXRlOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gZW5kT2ZTdHJl
YW0oc3RkOjpvcHRpb25hbDxFbmRPZlN0cmVhbUVycm9yPik7CiAKICAgICBIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX21lZGlhRWxlbWVudDsgfQpAQCAt
MTE4LDExICsxMjAsOCBAQCBwcml2YXRlOgogCiAgICAgVVJMUmVnaXN0cnkmIHJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWw7CiAKLSAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBvcGVuS2V5d29y
ZCgpOwotICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIGNsb3NlZEtleXdvcmQoKTsKLSAg
ICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBlbmRlZEtleXdvcmQoKTsKLSAgICB2b2lkIHNl
dFJlYWR5U3RhdGUoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgdm9pZCBvblJlYWR5U3RhdGVD
aGFuZ2UoY29uc3QgQXRvbWljU3RyaW5nJiBvbGRTdGF0ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBu
ZXdTdGF0ZSk7CisgICAgdm9pZCBzZXRSZWFkeVN0YXRlKGNvbnN0IFJlYWR5U3RhdGUpOworICAg
IHZvaWQgb25SZWFkeVN0YXRlQ2hhbmdlKGNvbnN0IFJlYWR5U3RhdGUgb2xkU3RhdGUsIGNvbnN0
IFJlYWR5U3RhdGUgbmV3U3RhdGUpOwogCiAgICAgVmVjdG9yPFBsYXRmb3JtVGltZVJhbmdlcz4g
YWN0aXZlUmFuZ2VzKCkgY29uc3Q7CiAKQEAgLTE0Nyw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAg
IEhUTUxNZWRpYUVsZW1lbnQqIG1fbWVkaWFFbGVtZW50IHsgbnVsbHB0ciB9OwogICAgIE1lZGlh
VGltZSBtX2R1cmF0aW9uOwogICAgIE1lZGlhVGltZSBtX3BlbmRpbmdTZWVrVGltZTsKLSAgICBB
dG9taWNTdHJpbmcgbV9yZWFkeVN0YXRlOworICAgIFJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwog
ICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAppbmRleCA1
YTlmZWYxMTgwZDI1ZmEyZjU1YWUxYzNkMDkwZTFlMWUyMGYzYTgyLi4wZmE3NTFkZTIxNmIyNjM5
N2FjNmE1YTM3NjEyYmEyZmY4OWRiYWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbApAQCAtMzMsNiArMzMsMTIgQEAgZW51bSBF
bmRPZlN0cmVhbUVycm9yIHsKICAgICAiZGVjb2RlIgogfTsKIAorZW51bSBSZWFkeVN0YXRlIHsK
KyAgICAiY2xvc2VkIiwKKyAgICAib3BlbiIsCisgICAgImVuZGVkIgorfTsKKwogWwogICAgIEFj
dGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCkBAIC01MSw3ICs1
Nyw3IEBAIGVudW0gRW5kT2ZTdHJlYW1FcnJvciB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBT
b3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBlKTsKICAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBidWZmZXIp
OwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBSZWFkeVN0YXRlIHJlYWR5U3RhdGU7CiAgICAgCiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9mU3RyZWFtRXJyb3Ig
ZXJyb3IpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309490</attachid>
            <date>2017-05-09 05:41:03 -0700</date>
            <delta_ts>2017-05-09 09:00:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171672-20170509144101.patch</filename>
            <type>text/plain</type>
            <size>10330</size>
            <attacher name="Nael Ouedraogo">nael.ouedp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE1MDgwYWU3NzczNmM0
ZTQwODdkMmM0NTE0ZWE2NzIyYzNlOWQwZS4uNTUxY2ZjNTA5NWEzMDgyNjNmMzBiZGRhMTE3NjY5
Zjg4YmM4Y2VjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTA1LTA5ICBOYWVs
IE91ZWRyYW9nbyAgPG5hZWwub3VlZHJhb2dvQGNyZi5jYW5vbi5mcj4KKworICAgICAgICBNZWRp
YVNvdXJjZS5yZWFkeVN0YXRlIHNob3VsZCB1c2UgYW4gSURMIGVudW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTY3MgorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgTWVkaWFTb3Vy
Y2UucmVhZHlTdGF0ZSBzaG91bGQgdXNlIGFuIElETCBlbnVtIGFzIHBlciBzcGVjaWZpY2F0aW9u
CisgICAgICAgIChodHRwczovL3d3dy53My5vcmcvVFIvMjAxNi9DUi1tZWRpYS1zb3VyY2UtMjAx
NjA1MDMvI2lkbC1kZWYtUmVhZHlTdGF0ZSkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVp
cmVkIHNpbmNlIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
b3VyY2UvTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9TdHJpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6Ok1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU291cmNlOjpzZXRQcml2YXRlQW5kT3Blbik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNvdXJjZTo6YnVmZmVyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnNl
dFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OnN0cmVhbUVuZGVk
V2l0aEVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjppc09wZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2U6OmlzQ2xvc2VkKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU291cmNlOjppc0VuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpk
ZXRhY2hGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6b3Blbklm
SW5FbmRlZFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpzdG9wKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpvblJlYWR5U3RhdGVDaGFuZ2UpOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbDoKKwogMjAxNy0wNS0wOSAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQnVpbGRpbmcg
V2Via2l0Mkd0ayB3aXRob3V0IE9wZW5HTCBmYWlscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNGYxODhiODUyNDhmYzQy
MTM5ZDc1ODFkZTE5MGQzZjI3ZWI2MTE2Yi4uYTVkODQ4ZDAxODg0NTQ2OWExYWExNDZjYTlhMGVm
ZjEzMTYxZGFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTUyLDYgKzUyLDIyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorI2lmICFMT0dfRElTQUJMRUQKK3N0YXRpYyBjb25zdCBjaGFyKiB0b1N0cmluZyhNZWRp
YVNvdXJjZTo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKQoreworICAgIHN3aXRjaCAocmVhZHlTdGF0
ZSkgeworICAgIGNhc2UgTWVkaWFTb3VyY2U6OlJlYWR5U3RhdGU6OkNsb3NlZDoKKyAgICAgICAg
cmV0dXJuICJjbG9zZWQiOworICAgIGNhc2UgTWVkaWFTb3VyY2U6OlJlYWR5U3RhdGU6OkVuZGVk
OgorICAgICAgICByZXR1cm4gImVuZGVkIjsKKyAgICBjYXNlIE1lZGlhU291cmNlOjpSZWFkeVN0
YXRlOjpPcGVuOgorICAgICAgICByZXR1cm4gIm9wZW4iOworICAgIGRlZmF1bHQ6CisgICAgICAg
IHJldHVybiAiKHVua25vd24pIjsKKyAgICB9Cit9CisjZW5kaWYKKwogVVJMUmVnaXN0cnkqIE1l
ZGlhU291cmNlOjpzX3JlZ2lzdHJ5OwogCiB2b2lkIE1lZGlhU291cmNlOjpzZXRSZWdpc3RyeShV
UkxSZWdpc3RyeSogcmVnaXN0cnkpCkBAIC03MSw3ICs4Nyw2IEBAIE1lZGlhU291cmNlOjpNZWRp
YVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9N
T2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9kdXJhdGlvbihNZWRpYVRpbWU6OmludmFsaWRUaW1l
KCkpCiAgICAgLCBtX3BlbmRpbmdTZWVrVGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCi0g
ICAgLCBtX3JlYWR5U3RhdGUoY2xvc2VkS2V5d29yZCgpKQogICAgICwgbV9hc3luY0V2ZW50UXVl
dWUoKnRoaXMpCiB7CiAgICAgTE9HKE1lZGlhU291cmNlLCAiTWVkaWFTb3VyY2U6Ok1lZGlhU291
cmNlICVwIiwgdGhpcyk7CkBAIC04NSwyNCArMTAwLDYgQEAgTWVkaWFTb3VyY2U6On5NZWRpYVNv
dXJjZSgpCiAgICAgQVNTRVJUKGlzQ2xvc2VkKCkpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcm
IE1lZGlhU291cmNlOjpvcGVuS2V5d29yZCgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PGNvbnN0IEF0b21pY1N0cmluZz4gb3Blbigib3BlbiIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpOwotICAgIHJldHVybiBvcGVuOwotfQotCi1jb25zdCBBdG9taWNTdHJpbmcm
IE1lZGlhU291cmNlOjpjbG9zZWRLZXl3b3JkKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgQXRvbWljU3RyaW5nPiBjbG9zZWQoImNsb3NlZCIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpOwotICAgIHJldHVybiBjbG9zZWQ7Ci19Ci0KLWNvbnN0IEF0b21p
Y1N0cmluZyYgTWVkaWFTb3VyY2U6OmVuZGVkS2V5d29yZCgpCi17Ci0gICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPGNvbnN0IEF0b21pY1N0cmluZz4gZW5kZWQoImVuZGVkIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgcmV0dXJuIGVuZGVkOwotfQotCiB2b2lkIE1l
ZGlhU291cmNlOjpzZXRQcml2YXRlQW5kT3BlbihSZWY8TWVkaWFTb3VyY2VQcml2YXRlPiYmIG1l
ZGlhU291cmNlUHJpdmF0ZSkKIHsKICAgICBBU1NFUlQoIW1fcHJpdmF0ZSk7CkBAIC0xMjYsNyAr
MTIzLDcgQEAgdm9pZCBNZWRpYVNvdXJjZTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291
cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUKIAogICAgIC8vIDIuIFNldCB0aGUgcmVh
ZHlTdGF0ZSBhdHRyaWJ1dGUgdG8gIm9wZW4iLgogICAgIC8vIDMuIFF1ZXVlIGEgdGFzayB0byBm
aXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVkIHNvdXJjZW9wZW4gYXQgdGhlIE1lZGlhU291cmNlLgot
ICAgIHNldFJlYWR5U3RhdGUob3BlbktleXdvcmQoKSk7CisgICAgc2V0UmVhZHlTdGF0ZShSZWFk
eVN0YXRlOjpPcGVuKTsKIAogICAgIC8vIDQuIENvbnRpbnVlIHRoZSByZXNvdXJjZSBmZXRjaCBh
bGdvcml0aG0gYnkgcnVubmluZyB0aGUgcmVtYWluaW5nICJPdGhlcndpc2UgKG1vZGUgaXMgbG9j
YWwpIiBzdGVwcywKICAgICAvLyB3aXRoIHRoZXNlIGNsYXJpZmljYXRpb25zOgpAQCAtMTkyLDcg
KzE4OSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IE1lZGlhU291cmNl
OjpidWZmZXJlZCgpIGNvbnN0CiAgICAgbV9idWZmZXJlZC0+YWRkKE1lZGlhVGltZTo6emVyb1Rp
bWUoKSwgaGlnaGVzdEVuZFRpbWUpOwogCiAgICAgLy8gNS4gRm9yIGVhY2ggU291cmNlQnVmZmVy
IG9iamVjdCBpbiBhY3RpdmVTb3VyY2VCdWZmZXJzIHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzOgot
ICAgIGJvb2wgZW5kZWQgPSByZWFkeVN0YXRlKCkgPT0gZW5kZWRLZXl3b3JkKCk7CisgICAgYm9v
bCBlbmRlZCA9IHJlYWR5U3RhdGUoKSA9PSBSZWFkeVN0YXRlOjpFbmRlZDsKICAgICBmb3IgKGF1
dG8mIHNvdXJjZVJhbmdlcyA6IGFjdGl2ZVJhbmdlcykgewogICAgICAgICAvLyA1LjEgTGV0IHNv
dXJjZSByYW5nZXMgZXF1YWwgdGhlIHJhbmdlcyByZXR1cm5lZCBieSB0aGUgYnVmZmVyZWQgYXR0
cmlidXRlIG9uIHRoZSBjdXJyZW50IFNvdXJjZUJ1ZmZlci4KICAgICAgICAgLy8gNS4yIElmIHJl
YWR5U3RhdGUgaXMgImVuZGVkIiwgdGhlbiBzZXQgdGhlIGVuZCB0aW1lIG9uIHRoZSBsYXN0IHJh
bmdlIGluIHNvdXJjZSByYW5nZXMgdG8gaGlnaGVzdCBlbmQgdGltZS4KQEAgLTUyOCwxMiArNTI1
LDEwIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IE1lZGlhU291cmNlOjpzZXREdXJhdGlvbkludGVybmFs
KGNvbnN0IE1lZGlhVGltZSYgZHVyYXRpb24pCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBN
ZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHN0YXRlKQordm9p
ZCBNZWRpYVNvdXJjZTo6c2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlIHN0YXRlKQogewotICAgIEFT
U0VSVChzdGF0ZSA9PSBvcGVuS2V5d29yZCgpIHx8IHN0YXRlID09IGNsb3NlZEtleXdvcmQoKSB8
fCBzdGF0ZSA9PSBlbmRlZEtleXdvcmQoKSk7Ci0KLSAgICBBdG9taWNTdHJpbmcgb2xkU3RhdGUg
PSByZWFkeVN0YXRlKCk7Ci0gICAgTE9HKE1lZGlhU291cmNlLCAiTWVkaWFTb3VyY2U6OnNldFJl
YWR5U3RhdGUoJXApIDogJXMgLT4gJXMiLCB0aGlzLCBvbGRTdGF0ZS5zdHJpbmcoKS5hc2NpaSgp
LmRhdGEoKSwgc3RhdGUuc3RyaW5nKCkuYXNjaWkoKS5kYXRhKCkpOworICAgIGF1dG8gb2xkU3Rh
dGUgPSByZWFkeVN0YXRlKCk7CisgICAgTE9HKE1lZGlhU291cmNlLCAiTWVkaWFTb3VyY2U6OnNl
dFJlYWR5U3RhdGUoJXApIDogJXMgLT4gJXMiLCB0aGlzLCB0b1N0cmluZyhvbGRTdGF0ZSksIHRv
U3RyaW5nKHN0YXRlKSk7CiAKICAgICBpZiAob2xkU3RhdGUgPT0gc3RhdGUpCiAgICAgICAgIHJl
dHVybjsKQEAgLTU3Miw3ICs1NjcsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpzdHJlYW1FbmRlZFdp
dGhFcnJvcihzdGQ6Om9wdGlvbmFsPEVuZE9mU3RyZWFtRXJyb3I+IGVycm9yKQogCiAgICAgLy8g
MS4gQ2hhbmdlIHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0ZSB2YWx1ZSB0byAiZW5kZWQiLgogICAg
IC8vIDIuIFF1ZXVlIGEgdGFzayB0byBmaXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVkIHNvdXJjZWVu
ZGVkIGF0IHRoZSBNZWRpYVNvdXJjZS4KLSAgICBzZXRSZWFkeVN0YXRlKGVuZGVkS2V5d29yZCgp
KTsKKyAgICBzZXRSZWFkeVN0YXRlKFJlYWR5U3RhdGU6OkVuZGVkKTsKIAogICAgIC8vIDMuCiAg
ICAgaWYgKCFlcnJvcikgewpAQCAtODYxLDE3ICs4NTYsMTcgQEAgYm9vbCBNZWRpYVNvdXJjZTo6
aXNUeXBlU3VwcG9ydGVkKGNvbnN0IFN0cmluZyYgdHlwZSkKIAogYm9vbCBNZWRpYVNvdXJjZTo6
aXNPcGVuKCkgY29uc3QKIHsKLSAgICByZXR1cm4gcmVhZHlTdGF0ZSgpID09IG9wZW5LZXl3b3Jk
KCk7CisgICAgcmV0dXJuIHJlYWR5U3RhdGUoKSA9PSBSZWFkeVN0YXRlOjpPcGVuOwogfQogCiBi
b29sIE1lZGlhU291cmNlOjppc0Nsb3NlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHJlYWR5U3Rh
dGUoKSA9PSBjbG9zZWRLZXl3b3JkKCk7CisgICAgcmV0dXJuIHJlYWR5U3RhdGUoKSA9PSBSZWFk
eVN0YXRlOjpDbG9zZWQ7CiB9CiAKIGJvb2wgTWVkaWFTb3VyY2U6OmlzRW5kZWQoKSBjb25zdAog
ewotICAgIHJldHVybiByZWFkeVN0YXRlKCkgPT0gZW5kZWRLZXl3b3JkKCk7CisgICAgcmV0dXJu
IHJlYWR5U3RhdGUoKSA9PSBSZWFkeVN0YXRlOjpFbmRlZDsKIH0KIAogdm9pZCBNZWRpYVNvdXJj
ZTo6ZGV0YWNoRnJvbUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKQEAgLTg4Myw3
ICs4NzgsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpkZXRhY2hGcm9tRWxlbWVudChIVE1MTWVkaWFF
bGVtZW50JiBlbGVtZW50KQogCiAgICAgLy8gMS4gU2V0IHRoZSByZWFkeVN0YXRlIGF0dHJpYnV0
ZSB0byAiY2xvc2VkIi4KICAgICAvLyA3LiBRdWV1ZSBhIHRhc2sgdG8gZmlyZSBhIHNpbXBsZSBl
dmVudCBuYW1lZCBzb3VyY2VjbG9zZSBhdCB0aGUgTWVkaWFTb3VyY2UuCi0gICAgc2V0UmVhZHlT
dGF0ZShjbG9zZWRLZXl3b3JkKCkpOworICAgIHNldFJlYWR5U3RhdGUoUmVhZHlTdGF0ZTo6Q2xv
c2VkKTsKIAogICAgIC8vIDIuIFVwZGF0ZSBkdXJhdGlvbiB0byBOYU4uCiAgICAgbV9kdXJhdGlv
biA9IE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKTsKQEAgLTkyMCwxMCArOTE1LDEwIEBAIGJvb2wg
TWVkaWFTb3VyY2U6OmF0dGFjaFRvRWxlbWVudChIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KQog
CiB2b2lkIE1lZGlhU291cmNlOjpvcGVuSWZJbkVuZGVkU3RhdGUoKQogewotICAgIGlmIChtX3Jl
YWR5U3RhdGUgIT0gZW5kZWRLZXl3b3JkKCkpCisgICAgaWYgKG1fcmVhZHlTdGF0ZSAhPSBSZWFk
eVN0YXRlOjpFbmRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2V0UmVhZHlTdGF0ZShvcGVu
S2V5d29yZCgpKTsKKyAgICBzZXRSZWFkeVN0YXRlKFJlYWR5U3RhdGU6Ok9wZW4pOwogICAgIG1f
cHJpdmF0ZS0+dW5tYXJrRW5kT2ZTdHJlYW0oKTsKIH0KIApAQCAtOTM4LDcgKzkzMyw3IEBAIHZv
aWQgTWVkaWFTb3VyY2U6OnN0b3AoKQogICAgIG1fYXN5bmNFdmVudFF1ZXVlLmNsb3NlKCk7CiAg
ICAgaWYgKG1fbWVkaWFFbGVtZW50KQogICAgICAgICBtX21lZGlhRWxlbWVudC0+ZGV0YWNoTWVk
aWFTb3VyY2UoKTsKLSAgICBtX3JlYWR5U3RhdGUgPSBjbG9zZWRLZXl3b3JkKCk7CisgICAgbV9y
ZWFkeVN0YXRlID0gUmVhZHlTdGF0ZTo6Q2xvc2VkOwogICAgIG1fcHJpdmF0ZSA9IG51bGxwdHI7
CiB9CiAKQEAgLTk1Miw3ICs5NDcsNyBAQCBjb25zdCBjaGFyKiBNZWRpYVNvdXJjZTo6YWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJNZWRpYVNvdXJjZSI7CiB9CiAKLXZv
aWQgTWVkaWFTb3VyY2U6Om9uUmVhZHlTdGF0ZUNoYW5nZShjb25zdCBBdG9taWNTdHJpbmcmIG9s
ZFN0YXRlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1N0YXRlKQordm9pZCBNZWRpYVNvdXJjZTo6
b25SZWFkeVN0YXRlQ2hhbmdlKFJlYWR5U3RhdGUgb2xkU3RhdGUsIFJlYWR5U3RhdGUgbmV3U3Rh
dGUpCiB7CiAgICAgZm9yIChhdXRvJiBidWZmZXIgOiAqbV9zb3VyY2VCdWZmZXJzKQogICAgICAg
ICBidWZmZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7CkBAIC05NjIsNyArOTU3LDcgQEAgdm9pZCBN
ZWRpYVNvdXJjZTo6b25SZWFkeVN0YXRlQ2hhbmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkU3Rh
dGUsIGNvbnN0IEF0b21pY1MKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChvbGRT
dGF0ZSA9PSBvcGVuS2V5d29yZCgpICYmIG5ld1N0YXRlID09IGVuZGVkS2V5d29yZCgpKSB7Cisg
ICAgaWYgKG9sZFN0YXRlID09IFJlYWR5U3RhdGU6Ok9wZW4gJiYgbmV3U3RhdGUgPT0gUmVhZHlT
dGF0ZTo6RW5kZWQpIHsKICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkuc291cmNl
ZW5kZWRFdmVudCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmgKaW5kZXggNTQ5MzE5ZjEyOWRkMDhl
NjEzYTdmOWU5ZTYzYjM0NjhiMWY3MmQ0YS4uMjA0Mjg3YjExMDQ1MDkwMjEwYmE4NDM2YThmYjE1
MThlZWZkNDdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9NZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuaApAQCAtODIsNyArODIsOSBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0RHVyYXRpb24oZG91YmxlKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXREdXJh
dGlvbkludGVybmFsKGNvbnN0IE1lZGlhVGltZSYpOwogICAgIE1lZGlhVGltZSBjdXJyZW50VGlt
ZSgpIGNvbnN0OwotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQorCisgICAgZW51bSBjbGFzcyBSZWFkeVN0YXRlIHsgQ2xv
c2VkLCBPcGVuLCBFbmRlZCB9OworICAgIFJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVhZHlTdGF0ZTsgfQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGVuZE9mU3RyZWFt
KHN0ZDo6b3B0aW9uYWw8RW5kT2ZTdHJlYW1FcnJvcj4pOwogCiAgICAgSFRNTE1lZGlhRWxlbWVu
dCogbWVkaWFFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUVsZW1lbnQ7IH0KQEAgLTEx
OCwxMSArMTIwLDggQEAgcHJpdmF0ZToKIAogICAgIFVSTFJlZ2lzdHJ5JiByZWdpc3RyeSgpIGNv
bnN0IGZpbmFsOwogCi0gICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgb3BlbktleXdvcmQo
KTsKLSAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBjbG9zZWRLZXl3b3JkKCk7Ci0gICAg
c3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZW5kZWRLZXl3b3JkKCk7Ci0gICAgdm9pZCBzZXRS
ZWFkeVN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgIHZvaWQgb25SZWFkeVN0YXRlQ2hh
bmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkU3RhdGUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3
U3RhdGUpOworICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShSZWFkeVN0YXRlKTsKKyAgICB2b2lkIG9u
UmVhZHlTdGF0ZUNoYW5nZShSZWFkeVN0YXRlIG9sZFN0YXRlLCBSZWFkeVN0YXRlIG5ld1N0YXRl
KTsKIAogICAgIFZlY3RvcjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGFjdGl2ZVJhbmdlcygpIGNvbnN0
OwogCkBAIC0xNDcsNyArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICBIVE1MTWVkaWFFbGVtZW50KiBt
X21lZGlhRWxlbWVudCB7IG51bGxwdHIgfTsKICAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKICAg
ICBNZWRpYVRpbWUgbV9wZW5kaW5nU2Vla1RpbWU7Ci0gICAgQXRvbWljU3RyaW5nIG1fcmVhZHlT
dGF0ZTsKKyAgICBSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZSB7IFJlYWR5U3RhdGU6OkNsb3NlZCB9
OwogICAgIEdlbmVyaWNFdmVudFF1ZXVlIG1fYXN5bmNFdmVudFF1ZXVlOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAppbmRl
eCA1YTlmZWYxMTgwZDI1ZmEyZjU1YWUxYzNkMDkwZTFlMWUyMGYzYTgyLi4wZmE3NTFkZTIxNmIy
NjM5N2FjNmE1YTM3NjEyYmEyZmY4OWRiYWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbApAQCAtMzMsNiArMzMsMTIgQEAgZW51
bSBFbmRPZlN0cmVhbUVycm9yIHsKICAgICAiZGVjb2RlIgogfTsKIAorZW51bSBSZWFkeVN0YXRl
IHsKKyAgICAiY2xvc2VkIiwKKyAgICAib3BlbiIsCisgICAgImVuZGVkIgorfTsKKwogWwogICAg
IEFjdGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCkBAIC01MSw3
ICs1Nyw3IEBAIGVudW0gRW5kT2ZTdHJlYW1FcnJvciB7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSBTb3VyY2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBlKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBidWZm
ZXIpOwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFkeVN0YXRlOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBSZWFkeVN0YXRlIHJlYWR5U3RhdGU7CiAgICAgCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSB2b2lkIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9mU3RyZWFtRXJy
b3IgZXJyb3IpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>