<?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>169878</bug_id>
          
          <creation_ts>2017-03-20 10:39:06 -0700</creation_ts>
          <short_desc>webkitpy: Work around simctl launch returning dead processes</short_desc>
          <delta_ts>2017-03-20 14:34:05 -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>Tools / Tests</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1289499</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-20 10:39:06 -0700</bug_when>
    <thetext>Sometimes, simctl launch will return the PID of a dead process.  Check that the process we return when launching an app is actually running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289502</commentid>
    <comment_count>1</comment_count>
      <attachid>304932</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-20 10:41:23 -0700</bug_when>
    <thetext>Created attachment 304932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289510</commentid>
    <comment_count>2</comment_count>
      <attachid>304935</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-20 10:58:19 -0700</bug_when>
    <thetext>Created attachment 304935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289538</commentid>
    <comment_count>3</comment_count>
      <attachid>304935</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-03-20 12:27:54 -0700</bug_when>
    <thetext>Comment on attachment 304935
Patch

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

&gt; Tools/ChangeLog:7
&gt; +

Please explain the purpose of this change and the issue we are working around.

&gt; Tools/ChangeLog:17
&gt; +        (SimulatedDevice.launch_app): Check that the process being returned is active, use a timeout instead
&gt; +        of attempts.

We tend to wrap ChangeLog lines at ~100 characters.

&gt; Tools/Scripts/webkitpy/xcode/simulated_device.py:181
&gt; +            if match and self.poll(int(match.group(&apos;pid&apos;))) is None:

Please file a radar on CoreSimulator (if one does not already exist) to have &quot;simctl launch&quot; returns us a valid process id and add a comment to above this line that explains the reason we need to query the OS to see if the pid returned by &quot;simctl launch_app&quot; is valid as well as references the radar URL.

&gt; Tools/Scripts/webkitpy/xcode/simulated_device.py:195
&gt; +    def poll(self, pid):
&gt; +        try:
&gt; +            os.kill(pid, 0)
&gt; +        except OSError as err:
&gt; +            assert err.errno == errno.ESRCH
&gt; +            return 1
&gt; +        return None

I know that you are motivated to share this code with SimulatorProcess.Popen.poll(). This does not seem like the appropriate place for this function. I wish we could find a more appropriate place to put this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289552</commentid>
    <comment_count>4</comment_count>
      <attachid>304944</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-20 13:14:43 -0700</bug_when>
    <thetext>Created attachment 304944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289553</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-03-20 13:20:25 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 304935 [details]
&gt; Patch
&gt;
&gt; &gt; Tools/Scripts/webkitpy/xcode/simulated_device.py:195
&gt; &gt; +    def poll(self, pid):
&gt; &gt; +        try:
&gt; &gt; +            os.kill(pid, 0)
&gt; &gt; +        except OSError as err:
&gt; &gt; +            assert err.errno == errno.ESRCH
&gt; &gt; +            return 1
&gt; &gt; +        return None
&gt; 
&gt; I know that you are motivated to share this code with
&gt; SimulatorProcess.Popen.poll(). This does not seem like the appropriate place
&gt; for this function. I wish we could find a more appropriate place to put this.

I believe this is the appropriate place for this.  SimulatorProcess receives a device as an argument, it is this device which should define the behavior of poll.  The other option would be to define poll in the port class, but other Darwin ports either do not need a poll function or would define their respective polls differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289576</commentid>
    <comment_count>6</comment_count>
      <attachid>304944</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-20 14:34:01 -0700</bug_when>
    <thetext>Comment on attachment 304944
Patch

Clearing flags on attachment: 304944

Committed r214192: &lt;http://trac.webkit.org/changeset/214192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289577</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-20 14:34:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304932</attachid>
            <date>2017-03-20 10:41:23 -0700</date>
            <delta_ts>2017-03-20 10:58:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169878-20170320104123.patch</filename>
            <type>text/plain</type>
            <size>5489</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNDE3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE3LTAzLTIwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogV29yayBhcm91bmQgc2ltY3RsIGxhdW5jaCByZXR1cm5p
bmcgZGVhZCBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2OTg3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5Ogor
ICAgICAgICAoU2ltdWxhdG9yUHJvY2Vzcy5Qb3Blbi5fX2luaXRfXyk6IEFjY2VwdCBkZXZpY2Ug
YXJndW1lbnQuCisgICAgICAgIChTaW11bGF0b3JQcm9jZXNzLlBvcGVuLnBvbGwpOiBDYWxsIGRl
dmljZS5wb2xsKCkuCisgICAgICAgIChTaW11bGF0b3JQcm9jZXNzLl9zdGFydCk6IFBhc3MgZGV2
aWNlIGludG8gUG9wZW4gb2JqZWN0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUv
ZGV2aWNlLnB5OgorICAgICAgICAoRGV2aWNlLnBvbGwpOiBBZGRlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHk6CisgICAgICAgIChTaW11bGF0
ZWREZXZpY2UubGF1bmNoX2FwcCk6IENoZWNrIHRoYXQgdGhlIHByb2Nlc3MgYmVpbmcgcmV0dXJu
ZWQgaXMgYWN0aXZlLgorICAgICAgICAoU2ltdWxhdGVkRGV2aWNlKToKKyAgICAgICAgKFNpbXVs
YXRlZERldmljZS5wb2xsKTogQWRkZWQuCisKIDIwMTctMDMtMjAgIEpvbmF0aGFuIEJlZGFyZCAg
PGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIGJ1aWxkYm90OiBydW4td2Via2l0LXRlc3Rz
IHNob3VsZCBkaXNwbGF5IHRlc3QgZmFpbHVyZXMgYW5kIHJ1biBleGNlcHRpb25zIGRpZmZlcmVu
dGx5CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2ltdWxhdG9yX3Byb2Nlc3Mu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9w
cm9jZXNzLnB5CShyZXZpc2lvbiAyMTQxNzApCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2ltdWxhdG9yX3Byb2Nlc3MucHkJKHdvcmtpbmcgY29weSkKQEAgLTM0LDIxICszNCwxOCBA
QCBjbGFzcyBTaW11bGF0b3JQcm9jZXNzKFNlcnZlclByb2Nlc3MpOgogCiAgICAgY2xhc3MgUG9w
ZW4ob2JqZWN0KToKIAotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGlkLCBzdGRpbiwgc3Rk
b3V0LCBzdGRlcnIpOgorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGlkLCBzdGRpbiwgc3Rk
b3V0LCBzdGRlcnIsIGRldmljZSk6CiAgICAgICAgICAgICBzZWxmLnN0ZGluID0gc3RkaW4KICAg
ICAgICAgICAgIHNlbGYuc3Rkb3V0ID0gc3Rkb3V0CiAgICAgICAgICAgICBzZWxmLnN0ZGVyciA9
IHN0ZGVycgogICAgICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgICAgIHNlbGYucmV0
dXJuY29kZSA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuX2RldmljZSA9IGRldmljZQogCiAgICAg
ICAgIGRlZiBwb2xsKHNlbGYpOgogICAgICAgICAgICAgaWYgc2VsZi5yZXR1cm5jb2RlOgogICAg
ICAgICAgICAgICAgIHJldHVybiBzZWxmLnJldHVybmNvZGUKLSAgICAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgICAgICBvcy5raWxsKHNlbGYucGlkLCAwKQotICAgICAgICAgICAgZXhjZXB0IE9T
RXJyb3IsIGVycjoKLSAgICAgICAgICAgICAgICBhc3NlcnQgZXJyLmVycm5vID09IGVycm5vLkVT
UkNICi0gICAgICAgICAgICAgICAgc2VsZi5yZXR1cm5jb2RlID0gMQorICAgICAgICAgICAgc2Vs
Zi5yZXR1cm5jb2RlID0gc2VsZi5fZGV2aWNlLnBvbGwoc2VsZi5waWQpCiAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5yZXR1cm5jb2RlCiAKICAgICAgICAgZGVmIHdhaXQoc2VsZik6CkBAIC0xMTYs
NyArMTEzLDcgQEAgY2xhc3MgU2ltdWxhdG9yUHJvY2VzcyhTZXJ2ZXJQcm9jZXNzKToKICAgICAg
ICAgICAgIHN0ZGluID0gb3BlbihzZWxmLl9pbl9wYXRoLCAndycsIDApICAjIE9wZW5pbmcgd2l0
aCBubyBidWZmZXJpbmcsIGxpa2UgcG9wZW4KICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAg
IyBXZSBzZXQgc2VsZi5fcHJvYyBhcyBfcmVzZXQoKSBhbmQgX2tpbGwoKSBkZXBlbmQgb24gaXQu
Ci0gICAgICAgICAgICBzZWxmLl9wcm9jID0gU2ltdWxhdG9yUHJvY2Vzcy5Qb3BlbihzZWxmLl9w
aWQsIHN0ZGluLCBzdGRvdXQsIHN0ZGVycikKKyAgICAgICAgICAgIHNlbGYuX3Byb2MgPSBTaW11
bGF0b3JQcm9jZXNzLlBvcGVuKHNlbGYuX3BpZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBzZWxm
Ll9kZXZpY2UpCiAgICAgICAgICAgICBpZiBzZWxmLl9wcm9jLnBvbGwoKSBpcyBub3QgTm9uZToK
ICAgICAgICAgICAgICAgICBzZWxmLl9yZXNldCgpCiAgICAgICAgICAgICAgICAgcmFpc2UgRXhj
ZXB0aW9uKCdBcHAge30gY3Jhc2hlZCBiZWZvcmUgc3RkaW4gY291bGQgYmUgYXR0YWNoZWQnLmZv
cm1hdChvcy5wYXRoLmJhc2VuYW1lKHNlbGYuX2NtZFswXSkpKQpAQCAtMTI1LDcgKzEyMiw3IEBA
IGNsYXNzIFNpbXVsYXRvclByb2Nlc3MoU2VydmVyUHJvY2Vzcyk6CiAgICAgICAgICAgICByYWlz
ZQogICAgICAgICBzaWduYWwuYWxhcm0oMCkgICMgQ2FuY2VsIGFsYXJtCiAKLSAgICAgICAgc2Vs
Zi5fcHJvYyA9IFNpbXVsYXRvclByb2Nlc3MuUG9wZW4oc2VsZi5fcGlkLCBzdGRpbiwgc3Rkb3V0
LCBzdGRlcnIpCisgICAgICAgIHNlbGYuX3Byb2MgPSBTaW11bGF0b3JQcm9jZXNzLlBvcGVuKHNl
bGYuX3BpZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBzZWxmLl9kZXZpY2UpCiAKICAgICBkZWYg
c3RvcChzZWxmLCB0aW1lb3V0X3NlY3M9My4wKToKICAgICAgICAgdHJ5OgpJbmRleDogVG9vbHMv
U2NyaXB0cy93ZWJraXRweS94Y29kZS9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS94Y29kZS9kZXZpY2UucHkJKHJldmlzaW9uIDIxNDE3MCkKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw5IEBAIGNsYXNzIERldmljZShvYmplY3QpOgogICAgIGRlZiBsYXVuY2hfYXBwKHNlbGYs
IGJ1bmRsZV9pZCwgYXJncywgZW52PU5vbmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yCiAKKyAgICBkZWYgcG9sbChzZWxmLCBwaWQpOgorICAgICAgICByYWlzZSBOb3RJbXBs
ZW1lbnRlZEVycm9yCisKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0
dXJuIHNlbGYudWRpZCA9PSBvdGhlci51ZGlkCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkJKHJldmlzaW9uIDIxNDE3MCkKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNiArMjAsOCBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwogIyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAoraW1wb3J0IGVycm5vCitpbXBvcnQgb3MKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgcmUKIGlt
cG9ydCBzdWJwcm9jZXNzCkBAIC0xNDgsNyArMTUwLDcgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNl
KERldmljZSk6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4gRmFsc2UKIAot
ICAgIGRlZiBsYXVuY2hfYXBwKHNlbGYsIGJ1bmRsZV9pZCwgYXJncywgZW52PU5vbmUsIGF0dGVt
cHRzPTMpOgorICAgIGRlZiBsYXVuY2hfYXBwKHNlbGYsIGJ1bmRsZV9pZCwgYXJncywgZW52PU5v
bmUsIGF0dGVtcHRzPTEyKToKICAgICAgICAgZW52aXJvbm1lbnRfdG9fdXNlID0ge30KICAgICAg
ICAgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXycKICAgICAgICAgZm9yIHZhbHVl
IGluIChlbnYgb3Ige30pOgpAQCAtMTY5LDEyICsxNzEsMjMgQEAgY2xhc3MgU2ltdWxhdGVkRGV2
aWNlKERldmljZSk6CiAgICAgICAgICAgICAgICAgZXJyb3JfaGFuZGxlcj1fbG9nX2RlYnVnX2Vy
cm9yLAogICAgICAgICAgICAgKQogICAgICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaChyJyg/UDxi
dW5kbGU+W146XSspOiAoP1A8cGlkPlxkKylcbicsIG91dHB1dCkKLSAgICAgICAgICAgIGlmIG1h
dGNoOgorICAgICAgICAgICAgaWYgbWF0Y2ggYW5kIHNlbGYucG9sbChpbnQobWF0Y2guZ3JvdXAo
J3BpZCcpKSkgaXMgTm9uZToKICAgICAgICAgICAgICAgICBicmVhawogCiAgICAgICAgIGlmIG5v
dCBtYXRjaCBvciBtYXRjaC5ncm91cCgnYnVuZGxlJykgIT0gYnVuZGxlX2lkOgogICAgICAgICAg
ICAgcmFpc2UgUnVudGltZUVycm9yKCdGYWlsZWQgdG8gZmluZCBwcm9jZXNzIGlkIGZvciB7fTog
e30nLmZvcm1hdChidW5kbGVfaWQsIG91dHB1dCkpCi0gICAgICAgIHJldHVybiBpbnQobWF0Y2gu
Z3JvdXAoJ3BpZCcpKQorICAgICAgICBwaWQgPSBpbnQobWF0Y2guZ3JvdXAoJ3BpZCcpKQorICAg
ICAgICBpZiBub3Qgc2VsZi5wb2xsKHBpZCkgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFJ1
bnRpbWVFcnJvcignRmFpbGVkIHRvIGxhdW5jaCB7fSwgcHJvY2VzcyB7fSBpcyBkZWFkJy5mb3Jt
YXQoYnVuZGxlX2lkLCBwaWQpKQorICAgICAgICByZXR1cm4gcGlkCisKKyAgICBkZWYgcG9sbChz
ZWxmLCBwaWQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy5raWxsKHBpZCwgMCkKKyAg
ICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgYXNzZXJ0IGVyci5lcnJu
byA9PSBlcnJuby5FU1JDSAorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIE5v
bmUKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICc8e2RldmljZV9p
bmZvfSBTdGF0ZToge3N0YXRlfS4gUnVudGltZToge3J1bnRpbWV9LCBBdmFpbGFibGU6IHthdmFp
bGFibGV9PicuZm9ybWF0KAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304935</attachid>
            <date>2017-03-20 10:58:19 -0700</date>
            <delta_ts>2017-03-20 13:14:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169878-20170320105819.patch</filename>
            <type>text/plain</type>
            <size>6691</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNDE3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIzIEBACisyMDE3LTAzLTIwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogV29yayBhcm91bmQgc2ltY3RsIGxhdW5jaCByZXR1cm5p
bmcgZGVhZCBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2OTg3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5Ogor
ICAgICAgICAoU2ltdWxhdG9yUHJvY2Vzcy5Qb3Blbi5fX2luaXRfXyk6IEFjY2VwdCBkZXZpY2Ug
YXJndW1lbnQuCisgICAgICAgIChTaW11bGF0b3JQcm9jZXNzLlBvcGVuLnBvbGwpOiBDYWxsIGRl
dmljZS5wb2xsKCkuCisgICAgICAgIChTaW11bGF0b3JQcm9jZXNzLl9zdGFydCk6IFBhc3MgZGV2
aWNlIGludG8gUG9wZW4gb2JqZWN0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUv
ZGV2aWNlLnB5OgorICAgICAgICAoRGV2aWNlLnBvbGwpOiBBZGRlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHk6CisgICAgICAgIChTaW11bGF0
ZWREZXZpY2UuaW5zdGFsbF9hcHApOiBDaGFuZ2UgYXR0ZW1wdHMgdG8gdGltZW91dC4KKyAgICAg
ICAgKFNpbXVsYXRlZERldmljZS5sYXVuY2hfYXBwKTogQ2hlY2sgdGhhdCB0aGUgcHJvY2VzcyBi
ZWluZyByZXR1cm5lZCBpcyBhY3RpdmUsIHVzZSBhIHRpbWVvdXQgaW5zdGVhZAorICAgICAgICBv
ZiBhdHRlbXB0cy4KKyAgICAgICAgKFNpbXVsYXRlZERldmljZSk6CisgICAgICAgIChTaW11bGF0
ZWREZXZpY2UucG9sbCk6IEFkZGVkLgorCiAyMDE3LTAzLTIwICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBidWlsZGJvdDogcnVuLXdlYmtpdC10ZXN0cyBz
aG91bGQgZGlzcGxheSB0ZXN0IGZhaWx1cmVzIGFuZCBydW4gZXhjZXB0aW9ucyBkaWZmZXJlbnRs
eQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zaW11bGF0b3JfcHJv
Y2Vzcy5weQkocmV2aXNpb24gMjE0MTcwKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3NpbXVsYXRvcl9wcm9jZXNzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyMSArMzQsMTggQEAg
Y2xhc3MgU2ltdWxhdG9yUHJvY2VzcyhTZXJ2ZXJQcm9jZXNzKToKIAogICAgIGNsYXNzIFBvcGVu
KG9iamVjdCk6CiAKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBpZCwgc3RkaW4sIHN0ZG91
dCwgc3RkZXJyKToKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBpZCwgc3RkaW4sIHN0ZG91
dCwgc3RkZXJyLCBkZXZpY2UpOgogICAgICAgICAgICAgc2VsZi5zdGRpbiA9IHN0ZGluCiAgICAg
ICAgICAgICBzZWxmLnN0ZG91dCA9IHN0ZG91dAogICAgICAgICAgICAgc2VsZi5zdGRlcnIgPSBz
dGRlcnIKICAgICAgICAgICAgIHNlbGYucGlkID0gcGlkCiAgICAgICAgICAgICBzZWxmLnJldHVy
bmNvZGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLl9kZXZpY2UgPSBkZXZpY2UKIAogICAgICAg
ICBkZWYgcG9sbChzZWxmKToKICAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZToKICAgICAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5jb2RlCi0gICAgICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICAgICAgb3Mua2lsbChzZWxmLnBpZCwgMCkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vy
cm9yLCBlcnI6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IGVyci5lcnJubyA9PSBlcnJuby5FU1JD
SAotICAgICAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9IDEKKyAgICAgICAgICAgIHNlbGYu
cmV0dXJuY29kZSA9IHNlbGYuX2RldmljZS5wb2xsKHNlbGYucGlkKQogICAgICAgICAgICAgcmV0
dXJuIHNlbGYucmV0dXJuY29kZQogCiAgICAgICAgIGRlZiB3YWl0KHNlbGYpOgpAQCAtMTE2LDcg
KzExMyw3IEBAIGNsYXNzIFNpbXVsYXRvclByb2Nlc3MoU2VydmVyUHJvY2Vzcyk6CiAgICAgICAg
ICAgICBzdGRpbiA9IG9wZW4oc2VsZi5faW5fcGF0aCwgJ3cnLCAwKSAgIyBPcGVuaW5nIHdpdGgg
bm8gYnVmZmVyaW5nLCBsaWtlIHBvcGVuCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICMg
V2Ugc2V0IHNlbGYuX3Byb2MgYXMgX3Jlc2V0KCkgYW5kIF9raWxsKCkgZGVwZW5kIG9uIGl0Lgot
ICAgICAgICAgICAgc2VsZi5fcHJvYyA9IFNpbXVsYXRvclByb2Nlc3MuUG9wZW4oc2VsZi5fcGlk
LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIpCisgICAgICAgICAgICBzZWxmLl9wcm9jID0gU2ltdWxh
dG9yUHJvY2Vzcy5Qb3BlbihzZWxmLl9waWQsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgc2VsZi5f
ZGV2aWNlKQogICAgICAgICAgICAgaWYgc2VsZi5fcHJvYy5wb2xsKCkgaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgICAgICAgc2VsZi5fcmVzZXQoKQogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw
dGlvbignQXBwIHt9IGNyYXNoZWQgYmVmb3JlIHN0ZGluIGNvdWxkIGJlIGF0dGFjaGVkJy5mb3Jt
YXQob3MucGF0aC5iYXNlbmFtZShzZWxmLl9jbWRbMF0pKSkKQEAgLTEyNSw3ICsxMjIsNyBAQCBj
bGFzcyBTaW11bGF0b3JQcm9jZXNzKFNlcnZlclByb2Nlc3MpOgogICAgICAgICAgICAgcmFpc2UK
ICAgICAgICAgc2lnbmFsLmFsYXJtKDApICAjIENhbmNlbCBhbGFybQogCi0gICAgICAgIHNlbGYu
X3Byb2MgPSBTaW11bGF0b3JQcm9jZXNzLlBvcGVuKHNlbGYuX3BpZCwgc3RkaW4sIHN0ZG91dCwg
c3RkZXJyKQorICAgICAgICBzZWxmLl9wcm9jID0gU2ltdWxhdG9yUHJvY2Vzcy5Qb3BlbihzZWxm
Ll9waWQsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgc2VsZi5fZGV2aWNlKQogCiAgICAgZGVmIHN0
b3Aoc2VsZiwgdGltZW91dF9zZWNzPTMuMCk6CiAgICAgICAgIHRyeToKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkveGNvZGUvZGV2aWNlLnB5CShyZXZpc2lvbiAyMTQxNzApCisrKyBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3hjb2RlL2RldmljZS5weQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsOSBAQCBjbGFzcyBEZXZpY2Uob2JqZWN0KToKICAgICBkZWYgbGF1bmNoX2FwcChzZWxmLCBi
dW5kbGVfaWQsIGFyZ3MsIGVudj1Ob25lKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRF
cnJvcgogCisgICAgZGVmIHBvbGwoc2VsZiwgcGlkKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvcgorCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVy
biBzZWxmLnVkaWQgPT0gb3RoZXIudWRpZAogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5CShyZXZpc2lvbiAyMTQxNzApCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTIwLDggKzIwLDExIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCiAjIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CitpbXBvcnQgZXJybm8KK2ltcG9ydCBvcwogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQoraW1w
b3J0IHNpZ25hbAogaW1wb3J0IHN1YnByb2Nlc3MKIAogZnJvbSB3ZWJraXRweS54Y29kZS5kZXZp
Y2UgaW1wb3J0IERldmljZQpAQCAtMTQyLDEzICsxNDUsMTMgQEAgY2xhc3MgU2ltdWxhdGVkRGV2
aWNlKERldmljZSk6CiAgICAgICAgICAgICAgICAgICAgICdQcmludCBDRkJ1bmRsZUlkZW50aWZp
ZXInLAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0uam9pbihhcHBf
cGF0aCwgJ0luZm8ucGxpc3QnKSwKICAgICAgICAgICAgICAgICBdKS5yc3RyaXAoKQotICAgICAg
ICAgICAgICAgIHNlbGYuX2hvc3QuZXhlY3V0aXZlLmtpbGxfcHJvY2VzcyhzZWxmLmxhdW5jaF9h
cHAoYnVuZGxlX2lkLCBbXSwgZW52PWVudiwgYXR0ZW1wdHM9MSkpCisgICAgICAgICAgICAgICAg
c2VsZi5faG9zdC5leGVjdXRpdmUua2lsbF9wcm9jZXNzKHNlbGYubGF1bmNoX2FwcChidW5kbGVf
aWQsIFtdLCBlbnY9ZW52LCB0aW1lb3V0PTEpKQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVl
CiAgICAgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgogICAgICAgICAgICAgICAgIHBhc3MK
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgbGF1bmNoX2FwcChzZWxmLCBidW5kbGVf
aWQsIGFyZ3MsIGVudj1Ob25lLCBhdHRlbXB0cz0zKToKKyAgICBkZWYgbGF1bmNoX2FwcChzZWxm
LCBidW5kbGVfaWQsIGFyZ3MsIGVudj1Ob25lLCB0aW1lb3V0PTEwKToKICAgICAgICAgZW52aXJv
bm1lbnRfdG9fdXNlID0ge30KICAgICAgICAgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NI
SUxEXycKICAgICAgICAgZm9yIHZhbHVlIGluIChlbnYgb3Ige30pOgpAQCAtMTYxLDIxICsxNjQs
MzYgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlKERldmljZSk6CiAgICAgICAgIGRlZiBfbG9nX2Rl
YnVnX2Vycm9yKGVycm9yKToKICAgICAgICAgICAgIF9sb2cuZGVidWcoZXJyb3IubWVzc2FnZV93
aXRoX291dHB1dCgpKQogCisgICAgICAgIGRlZiBfaW5zdGFsbF90aW1lb3V0KHNpZ251bSwgZnJh
bWUpOgorICAgICAgICAgICAgYXNzZXJ0IHNpZ251bSA9PSBzaWduYWwuU0lHQUxSTQorICAgICAg
ICAgICAgcmFpc2UgRXhjZXB0aW9uKCdUaW1lZCBvdXQgd2FpdGluZyBmb3IgcHJvY2VzcyB0byBv
cGVuIHt9IG9uIHt9Jy5mb3JtYXQoYnVuZGxlX2lkLCBzZWxmLnVkaWQpKQorCiAgICAgICAgIG91
dHB1dCA9IE5vbmUKLSAgICAgICAgZm9yIHggaW4geHJhbmdlKGF0dGVtcHRzKToKKyAgICAgICAg
c2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwgX2luc3RhbGxfdGltZW91dCkKKyAgICAgICAg
c2lnbmFsLmFsYXJtKHRpbWVvdXQpICAjIEluIHNlY29uZHMKKyAgICAgICAgd2hpbGUgVHJ1ZToK
ICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2hvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKAog
ICAgICAgICAgICAgICAgIFsneGNydW4nLCAnc2ltY3RsJywgJ2xhdW5jaCcsIHNlbGYudWRpZCwg
YnVuZGxlX2lkXSArIGFyZ3MsCiAgICAgICAgICAgICAgICAgZW52PWVudmlyb25tZW50X3RvX3Vz
ZSwKICAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVyPV9sb2dfZGVidWdfZXJyb3IsCiAgICAg
ICAgICAgICApCiAgICAgICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKHInKD9QPGJ1bmRsZT5bXjpd
Kyk6ICg/UDxwaWQ+XGQrKVxuJywgb3V0cHV0KQotICAgICAgICAgICAgaWYgbWF0Y2g6CisgICAg
ICAgICAgICBpZiBtYXRjaCBhbmQgc2VsZi5wb2xsKGludChtYXRjaC5ncm91cCgncGlkJykpKSBp
cyBOb25lOgogICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNpZ25hbC5hbGFybSgwKSAg
IyBDYW5jZWwgYWxhcm0KIAotICAgICAgICBpZiBub3QgbWF0Y2ggb3IgbWF0Y2guZ3JvdXAoJ2J1
bmRsZScpICE9IGJ1bmRsZV9pZDoKKyAgICAgICAgaWYgbWF0Y2guZ3JvdXAoJ2J1bmRsZScpICE9
IGJ1bmRsZV9pZDoKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRmFpbGVkIHRvIGZp
bmQgcHJvY2VzcyBpZCBmb3Ige306IHt9Jy5mb3JtYXQoYnVuZGxlX2lkLCBvdXRwdXQpKQogICAg
ICAgICByZXR1cm4gaW50KG1hdGNoLmdyb3VwKCdwaWQnKSkKIAorICAgIGRlZiBwb2xsKHNlbGYs
IHBpZCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLmtpbGwocGlkLCAwKQorICAgICAg
ICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICBhc3NlcnQgZXJyLmVycm5vID09
IGVycm5vLkVTUkNICisgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICByZXR1cm4gTm9uZQor
CiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gJzx7ZGV2aWNlX2luZm99
IFN0YXRlOiB7c3RhdGV9LiBSdW50aW1lOiB7cnVudGltZX0sIEF2YWlsYWJsZToge2F2YWlsYWJs
ZX0+Jy5mb3JtYXQoCiAgICAgICAgICAgICBkZXZpY2VfaW5mbz1zdXBlcihTaW11bGF0ZWREZXZp
Y2UsIHNlbGYpLl9fcmVwcl9fKCksCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304944</attachid>
            <date>2017-03-20 13:14:43 -0700</date>
            <delta_ts>2017-03-20 14:34:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169878-20170320131442.patch</filename>
            <type>text/plain</type>
            <size>6993</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNDE3NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE3LTAzLTIwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogV29yayBhcm91bmQgc2ltY3RsIGxhdW5jaCByZXR1cm5p
bmcgZGVhZCBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2OTg3OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KKwor
ICAgICAgICBzaW1jdGwgbGF1bmNoIHdpbGwgc29tZXRpbWVzIGdpdmUgdGhlIFBJRCBvZiBhIHBy
b2Nlc3Mgd2hpY2ggaGFzIGp1c3QgYmVlbiB0ZXJtaW5hdGVkLgorICAgICAgICBUbyB3b3JrIGFy
b3VuZCB0aGlzLCB3ZSB3aWxsIGFsd2F5cyBjaGVjayBpZiB0aGUgcmV0dXJuZWQgUElEIGlzIG9m
IGEgcHJvY2VzcyB3aGljaCBpcworICAgICAgICBzdGlsbCBydW5uaW5nLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5OgorICAgICAgICAoU2lt
dWxhdG9yUHJvY2Vzcy5Qb3Blbi5fX2luaXRfXyk6IEFjY2VwdCBkZXZpY2UgYXJndW1lbnQuCisg
ICAgICAgIChTaW11bGF0b3JQcm9jZXNzLlBvcGVuLnBvbGwpOiBDYWxsIGRldmljZS5wb2xsKCku
CisgICAgICAgIChTaW11bGF0b3JQcm9jZXNzLl9zdGFydCk6IFBhc3MgZGV2aWNlIGludG8gUG9w
ZW4gb2JqZWN0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkveGNvZGUvZGV2aWNlLnB5Ogor
ICAgICAgICAoRGV2aWNlLnBvbGwpOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHk6CisgICAgICAgIChTaW11bGF0ZWREZXZpY2UuaW5z
dGFsbF9hcHApOiBDaGFuZ2UgYXR0ZW1wdHMgdG8gdGltZW91dC4KKyAgICAgICAgKFNpbXVsYXRl
ZERldmljZS5sYXVuY2hfYXBwKTogQ2hlY2sgdGhhdCB0aGUgcHJvY2VzcyBiZWluZyByZXR1cm5l
ZCBpcyBhY3RpdmUsIHVzZSBhCisgICAgICAgIHRpbWVvdXQgaW5zdGVhZCBvZiBhdHRlbXB0cy4K
KyAgICAgICAgKFNpbXVsYXRlZERldmljZSk6CisgICAgICAgIChTaW11bGF0ZWREZXZpY2UucG9s
bCk6IEFkZGVkLgorCiAyMDE3LTAzLTIwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxl
LmNvbT4KIAogICAgICAgICBidWlsZGJvdDogcnVuLXdlYmtpdC10ZXN0cyBzaG91bGQgZGlzcGxh
eSB0ZXN0IGZhaWx1cmVzIGFuZCBydW4gZXhjZXB0aW9ucyBkaWZmZXJlbnRseQpJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9wcm9jZXNzLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zaW11bGF0b3JfcHJvY2Vzcy5weQkocmV2
aXNpb24gMjE0MTcwKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NpbXVsYXRvcl9w
cm9jZXNzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyMSArMzQsMTggQEAgY2xhc3MgU2ltdWxh
dG9yUHJvY2VzcyhTZXJ2ZXJQcm9jZXNzKToKIAogICAgIGNsYXNzIFBvcGVuKG9iamVjdCk6CiAK
LSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBpZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyKToK
KyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBpZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBk
ZXZpY2UpOgogICAgICAgICAgICAgc2VsZi5zdGRpbiA9IHN0ZGluCiAgICAgICAgICAgICBzZWxm
LnN0ZG91dCA9IHN0ZG91dAogICAgICAgICAgICAgc2VsZi5zdGRlcnIgPSBzdGRlcnIKICAgICAg
ICAgICAgIHNlbGYucGlkID0gcGlkCiAgICAgICAgICAgICBzZWxmLnJldHVybmNvZGUgPSBOb25l
CisgICAgICAgICAgICBzZWxmLl9kZXZpY2UgPSBkZXZpY2UKIAogICAgICAgICBkZWYgcG9sbChz
ZWxmKToKICAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5yZXR1cm5jb2RlCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAg
b3Mua2lsbChzZWxmLnBpZCwgMCkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlcnI6Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0IGVyci5lcnJubyA9PSBlcnJuby5FU1JDSAotICAgICAgICAg
ICAgICAgIHNlbGYucmV0dXJuY29kZSA9IDEKKyAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9
IHNlbGYuX2RldmljZS5wb2xsKHNlbGYucGlkKQogICAgICAgICAgICAgcmV0dXJuIHNlbGYucmV0
dXJuY29kZQogCiAgICAgICAgIGRlZiB3YWl0KHNlbGYpOgpAQCAtMTE2LDcgKzExMyw3IEBAIGNs
YXNzIFNpbXVsYXRvclByb2Nlc3MoU2VydmVyUHJvY2Vzcyk6CiAgICAgICAgICAgICBzdGRpbiA9
IG9wZW4oc2VsZi5faW5fcGF0aCwgJ3cnLCAwKSAgIyBPcGVuaW5nIHdpdGggbm8gYnVmZmVyaW5n
LCBsaWtlIHBvcGVuCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICMgV2Ugc2V0IHNlbGYu
X3Byb2MgYXMgX3Jlc2V0KCkgYW5kIF9raWxsKCkgZGVwZW5kIG9uIGl0LgotICAgICAgICAgICAg
c2VsZi5fcHJvYyA9IFNpbXVsYXRvclByb2Nlc3MuUG9wZW4oc2VsZi5fcGlkLCBzdGRpbiwgc3Rk
b3V0LCBzdGRlcnIpCisgICAgICAgICAgICBzZWxmLl9wcm9jID0gU2ltdWxhdG9yUHJvY2Vzcy5Q
b3BlbihzZWxmLl9waWQsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgc2VsZi5fZGV2aWNlKQogICAg
ICAgICAgICAgaWYgc2VsZi5fcHJvYy5wb2xsKCkgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAg
ICAgc2VsZi5fcmVzZXQoKQogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQXBwIHt9
IGNyYXNoZWQgYmVmb3JlIHN0ZGluIGNvdWxkIGJlIGF0dGFjaGVkJy5mb3JtYXQob3MucGF0aC5i
YXNlbmFtZShzZWxmLl9jbWRbMF0pKSkKQEAgLTEyNSw3ICsxMjIsNyBAQCBjbGFzcyBTaW11bGF0
b3JQcm9jZXNzKFNlcnZlclByb2Nlc3MpOgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgc2ln
bmFsLmFsYXJtKDApICAjIENhbmNlbCBhbGFybQogCi0gICAgICAgIHNlbGYuX3Byb2MgPSBTaW11
bGF0b3JQcm9jZXNzLlBvcGVuKHNlbGYuX3BpZCwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyKQorICAg
ICAgICBzZWxmLl9wcm9jID0gU2ltdWxhdG9yUHJvY2Vzcy5Qb3BlbihzZWxmLl9waWQsIHN0ZGlu
LCBzdGRvdXQsIHN0ZGVyciwgc2VsZi5fZGV2aWNlKQogCiAgICAgZGVmIHN0b3Aoc2VsZiwgdGlt
ZW91dF9zZWNzPTMuMCk6CiAgICAgICAgIHRyeToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkveGNvZGUvZGV2aWNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
eGNvZGUvZGV2aWNlLnB5CShyZXZpc2lvbiAyMTQxNzApCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3hjb2RlL2RldmljZS5weQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOSBAQCBjbGFz
cyBEZXZpY2Uob2JqZWN0KToKICAgICBkZWYgbGF1bmNoX2FwcChzZWxmLCBidW5kbGVfaWQsIGFy
Z3MsIGVudj1Ob25lKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCisgICAg
ZGVmIHBvbGwoc2VsZiwgcGlkKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgor
CiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiBzZWxmLnVkaWQg
PT0gb3RoZXIudWRpZAogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVs
YXRlZF9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29k
ZS9zaW11bGF0ZWRfZGV2aWNlLnB5CShyZXZpc2lvbiAyMTQxNzApCisrKyBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTIw
LDggKzIwLDExIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCiAjIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgZXJy
bm8KK2ltcG9ydCBvcwogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQoraW1wb3J0IHNpZ25hbAog
aW1wb3J0IHN1YnByb2Nlc3MKIAogZnJvbSB3ZWJraXRweS54Y29kZS5kZXZpY2UgaW1wb3J0IERl
dmljZQpAQCAtMTQyLDEzICsxNDUsMTMgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlKERldmljZSk6
CiAgICAgICAgICAgICAgICAgICAgICdQcmludCBDRkJ1bmRsZUlkZW50aWZpZXInLAogICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0uam9pbihhcHBfcGF0aCwgJ0luZm8u
cGxpc3QnKSwKICAgICAgICAgICAgICAgICBdKS5yc3RyaXAoKQotICAgICAgICAgICAgICAgIHNl
bGYuX2hvc3QuZXhlY3V0aXZlLmtpbGxfcHJvY2VzcyhzZWxmLmxhdW5jaF9hcHAoYnVuZGxlX2lk
LCBbXSwgZW52PWVudiwgYXR0ZW1wdHM9MSkpCisgICAgICAgICAgICAgICAgc2VsZi5faG9zdC5l
eGVjdXRpdmUua2lsbF9wcm9jZXNzKHNlbGYubGF1bmNoX2FwcChidW5kbGVfaWQsIFtdLCBlbnY9
ZW52LCB0aW1lb3V0PTEpKQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgICAg
ICBleGNlcHQgUnVudGltZUVycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgcmV0
dXJuIEZhbHNlCiAKLSAgICBkZWYgbGF1bmNoX2FwcChzZWxmLCBidW5kbGVfaWQsIGFyZ3MsIGVu
dj1Ob25lLCBhdHRlbXB0cz0zKToKKyAgICBkZWYgbGF1bmNoX2FwcChzZWxmLCBidW5kbGVfaWQs
IGFyZ3MsIGVudj1Ob25lLCB0aW1lb3V0PTEwKToKICAgICAgICAgZW52aXJvbm1lbnRfdG9fdXNl
ID0ge30KICAgICAgICAgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXycKICAgICAg
ICAgZm9yIHZhbHVlIGluIChlbnYgb3Ige30pOgpAQCAtMTYxLDIxICsxNjQsMzggQEAgY2xhc3Mg
U2ltdWxhdGVkRGV2aWNlKERldmljZSk6CiAgICAgICAgIGRlZiBfbG9nX2RlYnVnX2Vycm9yKGVy
cm9yKToKICAgICAgICAgICAgIF9sb2cuZGVidWcoZXJyb3IubWVzc2FnZV93aXRoX291dHB1dCgp
KQogCisgICAgICAgIGRlZiBfaW5zdGFsbF90aW1lb3V0KHNpZ251bSwgZnJhbWUpOgorICAgICAg
ICAgICAgYXNzZXJ0IHNpZ251bSA9PSBzaWduYWwuU0lHQUxSTQorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCdUaW1lZCBvdXQgd2FpdGluZyBmb3IgcHJvY2VzcyB0byBvcGVuIHt9IG9uIHt9
Jy5mb3JtYXQoYnVuZGxlX2lkLCBzZWxmLnVkaWQpKQorCiAgICAgICAgIG91dHB1dCA9IE5vbmUK
LSAgICAgICAgZm9yIHggaW4geHJhbmdlKGF0dGVtcHRzKToKKyAgICAgICAgc2lnbmFsLnNpZ25h
bChzaWduYWwuU0lHQUxSTSwgX2luc3RhbGxfdGltZW91dCkKKyAgICAgICAgc2lnbmFsLmFsYXJt
KHRpbWVvdXQpICAjIEluIHNlY29uZHMKKyAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAg
IG91dHB1dCA9IHNlbGYuX2hvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKAogICAgICAgICAgICAg
ICAgIFsneGNydW4nLCAnc2ltY3RsJywgJ2xhdW5jaCcsIHNlbGYudWRpZCwgYnVuZGxlX2lkXSAr
IGFyZ3MsCiAgICAgICAgICAgICAgICAgZW52PWVudmlyb25tZW50X3RvX3VzZSwKICAgICAgICAg
ICAgICAgICBlcnJvcl9oYW5kbGVyPV9sb2dfZGVidWdfZXJyb3IsCiAgICAgICAgICAgICApCiAg
ICAgICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKHInKD9QPGJ1bmRsZT5bXjpdKyk6ICg/UDxwaWQ+
XGQrKVxuJywgb3V0cHV0KQotICAgICAgICAgICAgaWYgbWF0Y2g6CisgICAgICAgICAgICAjIEZJ
WE1FOiBXZSBzaG91bGRuJ3QgbmVlZCB0byBjaGVjayB0aGUgUElEIDxyZGFyOi8vcHJvYmxlbS8z
MTE1NDA3NT4uCisgICAgICAgICAgICBpZiBtYXRjaCBhbmQgc2VsZi5wb2xsKGludChtYXRjaC5n
cm91cCgncGlkJykpKSBpcyBOb25lOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKLSAgICAgICAg
aWYgbm90IG1hdGNoIG9yIG1hdGNoLmdyb3VwKCdidW5kbGUnKSAhPSBidW5kbGVfaWQ6CisgICAg
ICAgIHNpZ25hbC5hbGFybSgwKSAgIyBDYW5jZWwgYWxhcm0KKworICAgICAgICBpZiBtYXRjaC5n
cm91cCgnYnVuZGxlJykgIT0gYnVuZGxlX2lkOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy
cm9yKCdGYWlsZWQgdG8gZmluZCBwcm9jZXNzIGlkIGZvciB7fToge30nLmZvcm1hdChidW5kbGVf
aWQsIG91dHB1dCkpCiAgICAgICAgIHJldHVybiBpbnQobWF0Y2guZ3JvdXAoJ3BpZCcpKQogCisg
ICAgZGVmIHBvbGwoc2VsZiwgcGlkKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3Mua2ls
bChwaWQsIDApCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGFz
c2VydCBlcnIuZXJybm8gPT0gZXJybm8uRVNSQ0gKKyAgICAgICAgICAgIHJldHVybiAxCisgICAg
ICAgIHJldHVybiBOb25lCisKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVy
biAnPHtkZXZpY2VfaW5mb30gU3RhdGU6IHtzdGF0ZX0uIFJ1bnRpbWU6IHtydW50aW1lfSwgQXZh
aWxhYmxlOiB7YXZhaWxhYmxlfT4nLmZvcm1hdCgKICAgICAgICAgICAgIGRldmljZV9pbmZvPXN1
cGVyKFNpbXVsYXRlZERldmljZSwgc2VsZikuX19yZXByX18oKSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>