<?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>171293</bug_id>
          
          <creation_ts>2017-04-25 14:46:56 -0700</creation_ts>
          <short_desc>webkitpy: Teardown iOS Simulators on exit if managed Simulators are still running</short_desc>
          <delta_ts>2017-05-09 15:53:51 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1301258</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-04-25 14:46:56 -0700</bug_when>
    <thetext>Currently, if an exception is thrown while booting the simulators, the simulators will not be torn down.  Perform simulator tear-down at exit to avoid this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301264</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-25 14:48:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/31821689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301265</commentid>
    <comment_count>2</comment_count>
      <attachid>308149</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-04-25 14:48:59 -0700</bug_when>
    <thetext>Created attachment 308149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301714</commentid>
    <comment_count>3</comment_count>
      <attachid>308149</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-04-26 12:04:01 -0700</bug_when>
    <thetext>Comment on attachment 308149
Patch

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

Overall looks fine. Couple of comments below.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:187
&gt; +    def _teardown_managed_simulators():

Please consider adding a comment that this method will be called multiple times in a run. or add a log.debug statement.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:224
&gt; +            atexit.register(IOSSimulatorPort._teardown_managed_simulators)

You can consider moving this register() one line above. What if _createSimulatorApps() failed (with exception) after creating couple of simulators. We still want the cleanup.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:-240
&gt; -            return

I would prefer to keep the check for _using_dedicated_simulators inside the method (_quit_ios_simulator), instead of adding the responsibility to the callers. It is very easy to miss the check for the callers.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:-255
&gt; -                pass

Please separate this change in another patch as this is unrelated to other changes.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:343
&gt; +            # Maybe this should delete all devices that we&apos;ve created?

we shouldn&apos;t need this change after reverting _quit_ios_simulator behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301716</commentid>
    <comment_count>4</comment_count>
      <attachid>308273</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-04-26 12:29:30 -0700</bug_when>
    <thetext>Created attachment 308273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301727</commentid>
    <comment_count>5</comment_count>
      <attachid>308273</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-04-26 12:44:07 -0700</bug_when>
    <thetext>Comment on attachment 308273
Patch

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

looks good to me.

&gt; Tools/ChangeLog:9
&gt; +        thrown while booting.  Make some IOSSimulatorPort functions into static methods and register

Nit: two spaces.

&gt; Tools/Scripts/webkitpy/port/ios_simulator.py:221
&gt;              self._createSimulatorApps()

unrelated, but we can consider removing _createSimulatorApps() and moving its code here. We don&apos;t need two methods _create_simulators() and _createSimulatorApps().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301736</commentid>
    <comment_count>6</comment_count>
      <attachid>308277</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-04-26 13:08:56 -0700</bug_when>
    <thetext>Created attachment 308277
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301745</commentid>
    <comment_count>7</comment_count>
      <attachid>308277</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-26 13:23:35 -0700</bug_when>
    <thetext>Comment on attachment 308277
Patch for landing

Clearing flags on attachment: 308277

Committed r215824: &lt;http://trac.webkit.org/changeset/215824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301746</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-26 13:23:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306642</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-05-09 15:53:51 -0700</bug_when>
    <thetext>Remove FIFO code in &lt;https://bugs.webkit.org/show_bug.cgi?id=171891&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308149</attachid>
            <date>2017-04-25 14:48:59 -0700</date>
            <delta_ts>2017-04-26 12:29:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171293-20170425144858.patch</filename>
            <type>text/plain</type>
            <size>9072</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNTc2MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE3LTA0LTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVGVhcmRvd24gaU9TIFNpbXVsYXRvcnMgb24gZXhpdCBp
ZiBtYW5hZ2VkIFNpbXVsYXRvcnMgYXJlIHN0aWxsIHJ1bm5pbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCBtYWtlIGFuIGVmZm9ydCB0
byB0ZWFyZG93biBzaW11bGF0b3JzIHdoaWNoIHdlIGJvb3RlZCBldmVuIHdoZW4gYW4gZXhjZXB0
aW9uIGlzCisgICAgICAgIHRocm93biB3aGlsZSBib290aW5nLiAgTWFrZSBzb21lIElPU1NpbXVs
YXRvclBvcnQgZnVuY3Rpb25zIGludG8gc3RhdGljIG1ldGhvZHMgYW5kIHJlZ2lzdGVyCisgICAg
ICAgIG9uZSBvZiB0aGVzZSBmdW5jdGlvbnMgdG8gYmUgcnVuIGF0IGV4aXQgdG8gZW5zdXJlIGFu
eSBkZXZpY2VzIHdlYmtpdHB5IGlzIG1hbmFnaW5nIGdldHMKKyAgICAgICAgdG9ybiBkb3duLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlci5weToKKyAgICAgICAgKE1hbmFnZXIuX3NldF91cF9ydW4pOiBSZWx5IG9uIGV4aXQgaGFu
ZGxlcnMgdG8gdGVhcmRvd24sIG5vdCBleGNlcHRpb25zLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5OgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydCk6
CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll90ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMp
OiBGdW5jdGlvbiBydW4gb24gZXhpdCB3aGljaCB3aWxsIGtpbGwgYWxsCisgICAgICAgIGlPUyBz
aW11bGF0b3JzIGFuZCB0ZWFyZG93biBhbmQgbWFuYWdlZCBkZXZpY2VzLgorICAgICAgICAoSU9T
U2ltdWxhdG9yUG9ydC5fY3JlYXRlX3NpbXVsYXRvcnMpOiBSZWdpc3RlciB0ZWFyZG93biBmdW5j
dGlvbi4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX3F1aXRfaW9zX3NpbXVsYXRvcik6IE1h
a2UgbWV0aG9kIHN0YXRpYywgbW92ZSBkZWRpY2F0ZWQgc2ltdWxhdG9ycyBjaGVjaworICAgICAg
ICB0byByZXNldF9wcmVmZXJlbmNlcy4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuY2xlYW5f
dXBfdGVzdF9ydW4pOiBNb3ZlIGRldmljZSB0ZWFyZG93biB0byBfdGVhcmRvd25fbWFuYWdlZF9z
aW11bGF0b3JzLgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5nZXRfc2ltdWxhdG9yX3BhdGgp
OiBNYWtlIHN0YXRpY21ldGhvZC4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQucmVzZXRfcHJl
ZmVyZW5jZXMpOiBPbmx5IHF1aXQgc2ltdWxhdG9ycyBpZiB1c2luZyBkZWRpY2F0ZWQgc2ltdWxh
dG9ycy4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX3JlbW92ZV9kZXZpY2UpOiBEZWxldGVk
LgorCiAyMDE3LTA0LTI1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgbW9yZSBFRkwgY29kZQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CShyZXZp
c2lvbiAyMTU3NTEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy9tYW5hZ2VyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xODgsMTEgKzE4OCw3IEBAIGNs
YXNzIE1hbmFnZXIob2JqZWN0KToKICAgICAgICAgIyBDcmVhdGUgdGhlIG91dHB1dCBkaXJlY3Rv
cnkgaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0LgogICAgICAgICBzZWxmLl9wb3J0Lmhvc3Qu
ZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSkK
IAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLl9wb3J0LnNldHVwX3Rlc3RfcnVuKHNl
bGYuX29wdGlvbnMuZGV2aWNlX2NsYXNzKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBz
ZWxmLl9wb3J0LmNsZWFuX3VwX3Rlc3RfcnVuKCkKLSAgICAgICAgICAgIHJhaXNlCisgICAgICAg
IHNlbGYuX3BvcnQuc2V0dXBfdGVzdF9ydW4oc2VsZi5fb3B0aW9ucy5kZXZpY2VfY2xhc3MpCiAg
ICAgICAgIHJldHVybiBUcnVlCiAKICAgICBkZWYgcnVuKHNlbGYsIGFyZ3MpOgpJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkJKHJldmlzaW9uIDIx
NTc1MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0yMCw2ICsyMCw3IEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAj
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBhdGV4aXQKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MK
IGltcG9ydCByZQpAQCAtMzMsNiArMzQsOCBAQCBmcm9tIHdlYmtpdHB5LnBvcnQuZGV2aWNlIGlt
cG9ydCBEZXZpY2UKIGZyb20gd2Via2l0cHkucG9ydC5pb3MgaW1wb3J0IElPU1BvcnQKIGZyb20g
d2Via2l0cHkueGNvZGUuc2ltdWxhdG9yIGltcG9ydCBTaW11bGF0b3IsIFJ1bnRpbWUsIERldmlj
ZVR5cGUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5jcmFzaGxvZ3MgaW1wb3J0IENyYXNo
TG9ncworZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0
aXZlCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbSBpbXBvcnQgRmlsZVN5
c3RlbQogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTE4MCw2ICsx
ODMsMzYgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgX3NldF9k
ZXZpY2VfY2xhc3Moc2VsZiwgZGV2aWNlX2NsYXNzKToKICAgICAgICAgc2VsZi5fZGV2aWNlX2Ns
YXNzID0gZGV2aWNlX2NsYXNzIGlmIGRldmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVMVF9ERVZJ
Q0VfQ0xBU1MKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX3RlYXJkb3duX21hbmFnZWRf
c2ltdWxhdG9ycygpOgorICAgICAgICBJT1NTaW11bGF0b3JQb3J0Ll9xdWl0X2lvc19zaW11bGF0
b3IoKQorCisgICAgICAgIGV4ZWN1dGl2ZSA9IEV4ZWN1dGl2ZSgpCisgICAgICAgIGZpbGVzeXN0
ZW0gPSBGaWxlU3lzdGVtKCkKKworICAgICAgICBmb3IgaSBpbiB4cmFuZ2UobGVuKFNpbXVsYXRv
ci5tYW5hZ2VkX2RldmljZXMpKToKKyAgICAgICAgICAgIHNpbXVsYXRvcl9wYXRoID0gSU9TU2lt
dWxhdG9yUG9ydC5nZXRfc2ltdWxhdG9yX3BhdGgoaSkKKyAgICAgICAgICAgIGRldmljZV91ZGlk
ID0gU2ltdWxhdG9yLm1hbmFnZWRfZGV2aWNlc1tpXS51ZGlkCisgICAgICAgICAgICBTaW11bGF0
b3IucmVtb3ZlX2RldmljZShpKQorCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
c2ltdWxhdG9yX3BhdGgpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtJT1NTaW11bGF0b3JQ
b3J0LkxTUkVHSVNURVJfUEFUSCwgIi11Iiwgc2ltdWxhdG9yX3BhdGhdKQorCisgICAgICAgICAg
ICAgICAgX2xvZy5kZWJ1Zygncm10cmVlICVzJywgc2ltdWxhdG9yX3BhdGgpCisgICAgICAgICAg
ICAgICAgZmlsZXN5c3RlbS5ybXRyZWUoc2ltdWxhdG9yX3BhdGgpCisKKyAgICAgICAgICAgICAg
ICBsb2dzX3BhdGggPSBmaWxlc3lzdGVtLmpvaW4oZmlsZXN5c3RlbS5leHBhbmR1c2VyKCJ+Iiks
ICJMaWJyYXJ5L0xvZ3MvQ29yZVNpbXVsYXRvci8iLCBkZXZpY2VfdWRpZCkKKyAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCdybXRyZWUgJXMnLCBsb2dzX3BhdGgpCisgICAgICAgICAgICAgICAg
ZmlsZXN5c3RlbS5ybXRyZWUobG9nc19wYXRoKQorCisgICAgICAgICAgICAgICAgc2F2ZWRfc3Rh
dGVfcGF0aCA9IGZpbGVzeXN0ZW0uam9pbihmaWxlc3lzdGVtLmV4cGFuZHVzZXIoIn4iKSwgIkxp
YnJhcnkvU2F2ZWQgQXBwbGljYXRpb24gU3RhdGUvIiwgSU9TU2ltdWxhdG9yUG9ydC5TSU1VTEFU
T1JfQlVORExFX0lEICsgc3RyKGkpICsgIi5zYXZlZFN0YXRlIikKKyAgICAgICAgICAgICAgICBf
bG9nLmRlYnVnKCdybXRyZWUgJXMnLCBzYXZlZF9zdGF0ZV9wYXRoKQorICAgICAgICAgICAgICAg
IGZpbGVzeXN0ZW0ucm10cmVlKHNhdmVkX3N0YXRlX3BhdGgpCisgICAgICAgICAgICBleGNlcHQ6
CisgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdVbmFibGUgdG8gcmVtb3ZlIFNpbXVsYXRv
cicgKyBzdHIoaSkpCisKICAgICBkZWYgX2NyZWF0ZV9zaW11bGF0b3JzKHNlbGYpOgogICAgICAg
ICBpZiAoc2VsZi5kZWZhdWx0X2NoaWxkX3Byb2Nlc3NlcygpIDwgc2VsZi5jaGlsZF9wcm9jZXNz
ZXMoKSk6CiAgICAgICAgICAgICBfbG9nLndhcm4oJ1lvdSBoYXZlIHNwZWNpZmllZCB2ZXJ5IGhp
Z2ggdmFsdWUoezB9KSBmb3IgLS1jaGlsZC1wcm9jZXNzZXMnLmZvcm1hdChzZWxmLmNoaWxkX3By
b2Nlc3NlcygpKSkKQEAgLTE4OCw2ICsyMjEsNyBAQCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0KElP
U1BvcnQpOgogCiAgICAgICAgIGlmIHNlbGYuX3VzaW5nX2RlZGljYXRlZF9zaW11bGF0b3JzKCk6
CiAgICAgICAgICAgICBzZWxmLl9jcmVhdGVTaW11bGF0b3JBcHBzKCkKKyAgICAgICAgICAgIGF0
ZXhpdC5yZWdpc3RlcihJT1NTaW11bGF0b3JQb3J0Ll90ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRv
cnMpCiAKICAgICAgICAgICAgIGZvciBpIGluIHhyYW5nZShzZWxmLmNoaWxkX3Byb2Nlc3Nlcygp
KToKICAgICAgICAgICAgICAgICBzZWxmLl9jcmVhdGVfZGV2aWNlKGkpCkBAIC0yMzUsOSArMjY5
LDggQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICAgICAgZm9yIGkgaW4g
eHJhbmdlKHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpOgogICAgICAgICAgICAgSU9TU2ltdWxhdG9y
UG9ydC5fREVWSUNFX01BUFtpXSA9IERldmljZShTaW11bGF0b3IubWFuYWdlZF9kZXZpY2VzW2ld
KQogCi0gICAgZGVmIF9xdWl0X2lvc19zaW11bGF0b3Ioc2VsZik6Ci0gICAgICAgIGlmIG5vdCBz
ZWxmLl91c2luZ19kZWRpY2F0ZWRfc2ltdWxhdG9ycygpOgotICAgICAgICAgICAgcmV0dXJuCisg
ICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBfcXVpdF9pb3Nfc2ltdWxhdG9yKCk6CiAgICAgICAg
IF9sb2cuZGVidWcoIl9xdWl0X2lvc19zaW11bGF0b3Iga2lsbGluZyBhbGwgU2ltdWxhdG9yIHBy
b2Nlc3NlcyIpCiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBraWxsIG9ubHkgdGhlIFNpbXVs
YXRvcnMgd2Ugc3RhcnRlZC4KICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsia2lsbGFsbCIsICIt
OSIsICItbSIsICJTaW11bGF0b3IiXSkKQEAgLTI0NSw0MSArMjc4LDExIEBAIGNsYXNzIElPU1Np
bXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgZGVmIGNsZWFuX3VwX3Rlc3RfcnVuKHNlbGYpOgog
ICAgICAgICBzdXBlcihJT1NTaW11bGF0b3JQb3J0LCBzZWxmKS5jbGVhbl91cF90ZXN0X3J1bigp
CiAgICAgICAgIF9sb2cuZGVidWcoImNsZWFuX3VwX3Rlc3RfcnVuIikKLSAgICAgICAgc2VsZi5f
cXVpdF9pb3Nfc2ltdWxhdG9yKCkKLSAgICAgICAgZmlmb3MgPSBbcGF0aCBmb3IgcGF0aCBpbiBv
cy5saXN0ZGlyKCcvdG1wJykgaWYgcmUuc2VhcmNoKCdvcmcud2Via2l0LihEdW1wUmVuZGVyVHJl
ZXxXZWJLaXRUZXN0UnVubmVyKS4qXyhJTnxPVVR8RVJST1IpJywgcGF0aCldCi0gICAgICAgIGZv
ciBmaWZvIGluIGZpZm9zOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLnJl
bW92ZShvcy5wYXRoLmpvaW4oJy90bXAnLCBmaWZvKSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vy
cm9yOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygnVW5hYmxlIHRvIHJlbW92ZSAnICsg
ZmlmbykKLSAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgaWYgbm90IHNlbGYuX3VzaW5n
X2RlZGljYXRlZF9zaW11bGF0b3JzKCk6CiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBm
b3IgaSBpbiB4cmFuZ2Uoc2VsZi5jaGlsZF9wcm9jZXNzZXMoKSk6Ci0gICAgICAgICAgICBzaW11
bGF0b3JfcGF0aCA9IHNlbGYuZ2V0X3NpbXVsYXRvcl9wYXRoKGkpCi0gICAgICAgICAgICBkZXZp
Y2VfdWRpZCA9IHNlbGYuX3Rlc3RpbmdfZGV2aWNlKGkpLnVkaWQKLSAgICAgICAgICAgIHNlbGYu
X3JlbW92ZV9kZXZpY2UoaSkKLQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNp
bXVsYXRvcl9wYXRoKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgdHJ5
OgotICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2VsZi5MU1JF
R0lTVEVSX1BBVEgsICItdSIsIHNpbXVsYXRvcl9wYXRoXSkKLQotICAgICAgICAgICAgICAgIF9s
b2cuZGVidWcoJ3JtdHJlZSAlcycsIHNpbXVsYXRvcl9wYXRoKQotICAgICAgICAgICAgICAgIHNl
bGYuX2ZpbGVzeXN0ZW0ucm10cmVlKHNpbXVsYXRvcl9wYXRoKQotCi0gICAgICAgICAgICAgICAg
bG9nc19wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2ZpbGVzeXN0ZW0uZXhwYW5k
dXNlcigifiIpLCAiTGlicmFyeS9Mb2dzL0NvcmVTaW11bGF0b3IvIiwgZGV2aWNlX3VkaWQpCi0g
ICAgICAgICAgICAgICAgX2xvZy5kZWJ1Zygncm10cmVlICVzJywgbG9nc19wYXRoKQotICAgICAg
ICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ucm10cmVlKGxvZ3NfcGF0aCkKLQotICAgICAgICAg
ICAgICAgIHNhdmVkX3N0YXRlX3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fZmls
ZXN5c3RlbS5leHBhbmR1c2VyKCJ+IiksICJMaWJyYXJ5L1NhdmVkIEFwcGxpY2F0aW9uIFN0YXRl
LyIsIHNlbGYuU0lNVUxBVE9SX0JVTkRMRV9JRCArIHN0cihpKSArICIuc2F2ZWRTdGF0ZSIpCi0g
ICAgICAgICAgICAgICAgX2xvZy5kZWJ1Zygncm10cmVlICVzJywgc2F2ZWRfc3RhdGVfcGF0aCkK
LSAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShzYXZlZF9zdGF0ZV9wYXRo
KQotCi0gICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdV
bmFibGUgdG8gcmVtb3ZlIFNpbXVsYXRvcicgKyBzdHIoaSkpCisgICAgICAgIElPU1NpbXVsYXRv
clBvcnQuX3RlYXJkb3duX21hbmFnZWRfc2ltdWxhdG9ycygpCiAgICAgICAgIElPU1NpbXVsYXRv
clBvcnQuX0RFVklDRV9NQVAgPSB7fQogCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZl
cihzZWxmLCBzZXJ2ZXJfbmFtZT1Ob25lKToKQEAgLTMxNywxMSArMzIwLDkgQEAgY2xhc3MgSU9T
U2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgX2NyZWF0ZV9kZXZpY2Uoc2VsZiwgbnVt
YmVyKToKICAgICAgICAgcmV0dXJuIFNpbXVsYXRvci5jcmVhdGVfZGV2aWNlKG51bWJlciwgc2Vs
Zi5zaW11bGF0b3JfZGV2aWNlX3R5cGUoKSwgc2VsZi5zaW11bGF0b3JfcnVudGltZSkKIAotICAg
IGRlZiBfcmVtb3ZlX2RldmljZShzZWxmLCBudW1iZXIpOgotICAgICAgICBTaW11bGF0b3IucmVt
b3ZlX2RldmljZShudW1iZXIpCi0KLSAgICBkZWYgZ2V0X3NpbXVsYXRvcl9wYXRoKHNlbGYsIHN1
ZmZpeD0iIik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5TSU1VTEFUT1JfRElS
RUNUT1JZLCAiU2ltdWxhdG9yIiArIHN0cihzdWZmaXgpICsgIi5hcHAiKQorICAgIEBzdGF0aWNt
ZXRob2QKKyAgICBkZWYgZ2V0X3NpbXVsYXRvcl9wYXRoKHN1ZmZpeD0iIik6CisgICAgICAgIHJl
dHVybiBvcy5wYXRoLmpvaW4oSU9TU2ltdWxhdG9yUG9ydC5TSU1VTEFUT1JfRElSRUNUT1JZLCAi
U2ltdWxhdG9yIiArIHN0cihzdWZmaXgpICsgIi5hcHAiKQogCiAgICAgZGVmIGRpZmZfaW1hZ2Uo
c2VsZiwgZXhwZWN0ZWRfY29udGVudHMsIGFjdHVhbF9jb250ZW50cywgdG9sZXJhbmNlPU5vbmUp
OgogICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIGFuZCBub3QgZXhwZWN0ZWRfY29udGVu
dHM6CkBAIC0zMzcsOCArMzM4LDkgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToK
IAogICAgIGRlZiByZXNldF9wcmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgX2xvZy5kZWJ1Zygi
cmVzZXRfcHJlZmVyZW5jZXMiKQotICAgICAgICBzZWxmLl9xdWl0X2lvc19zaW11bGF0b3IoKQot
ICAgICAgICAjIE1heWJlIHRoaXMgc2hvdWxkIGRlbGV0ZSBhbGwgZGV2aWNlcyB0aGF0IHdlJ3Zl
IGNyZWF0ZWQ/CisgICAgICAgIGlmIHNlbGYuX3VzaW5nX2RlZGljYXRlZF9zaW11bGF0b3JzKCk6
CisgICAgICAgICAgICBzZWxmLl9xdWl0X2lvc19zaW11bGF0b3IoKQorICAgICAgICAgICAgIyBN
YXliZSB0aGlzIHNob3VsZCBkZWxldGUgYWxsIGRldmljZXMgdGhhdCB3ZSd2ZSBjcmVhdGVkPwog
CiAgICAgZGVmIG5tX2NvbW1hbmQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnhjcnVuX2Zp
bmQoJ25tJykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308273</attachid>
            <date>2017-04-26 12:29:30 -0700</date>
            <delta_ts>2017-04-26 13:08:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171293-20170426122930.patch</filename>
            <type>text/plain</type>
            <size>7063</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNTgyMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE3LTA0LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVGVhcmRvd24gaU9TIFNpbXVsYXRvcnMgb24gZXhpdCBp
ZiBtYW5hZ2VkIFNpbXVsYXRvcnMgYXJlIHN0aWxsIHJ1bm5pbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCBtYWtlIGFuIGVmZm9ydCB0
byB0ZWFyZG93biBzaW11bGF0b3JzIHdoaWNoIHdlIGJvb3RlZCBldmVuIHdoZW4gYW4gZXhjZXB0
aW9uIGlzCisgICAgICAgIHRocm93biB3aGlsZSBib290aW5nLiAgTWFrZSBzb21lIElPU1NpbXVs
YXRvclBvcnQgZnVuY3Rpb25zIGludG8gc3RhdGljIG1ldGhvZHMgYW5kIHJlZ2lzdGVyCisgICAg
ICAgIG9uZSBvZiB0aGVzZSBmdW5jdGlvbnMgdG8gYmUgcnVuIGF0IGV4aXQgdG8gZW5zdXJlIGFu
eSBkZXZpY2VzIHdlYmtpdHB5IGlzIG1hbmFnaW5nIGdldHMKKyAgICAgICAgdG9ybiBkb3duLgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlci5weToKKyAgICAgICAgKE1hbmFnZXIuX3NldF91cF9ydW4pOiBSZWx5IG9uIGV4aXQgaGFu
ZGxlcnMgdG8gdGVhcmRvd24sIG5vdCBleGNlcHRpb25zLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5OgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5f
dGVhcmRvd25fbWFuYWdlZF9zaW11bGF0b3JzKTogRnVuY3Rpb24gcnVuIG9uIGV4aXQgd2hpY2gg
d2lsbCBraWxsIGFsbAorICAgICAgICBpT1Mgc2ltdWxhdG9ycyBhbmQgdGVhcmRvd24gYW5kIG1h
bmFnZWQgZGV2aWNlcy4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX2NyZWF0ZV9zaW11bGF0
b3JzKTogUmVnaXN0ZXIgdGVhcmRvd24gZnVuY3Rpb24uCisgICAgICAgIChJT1NTaW11bGF0b3JQ
b3J0LmNsZWFuX3VwX3Rlc3RfcnVuKTogTW92ZSBkZXZpY2UgdGVhcmRvd24gdG8gX3RlYXJkb3du
X21hbmFnZWRfc2ltdWxhdG9ycy4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX3JlbW92ZV9k
ZXZpY2UpOiBEZWxldGVkLgorCiAyMDE3LTA0LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRW5jb2RlZCBmaWxlbmFtZSBzaG91bGQgYmUg
ZGVjb2RlZCBmb3IgV0tDb250ZW50RXh0ZW5zaW9uLmlkZW50aWZpZXIKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
bWFuYWdlci5weQkocmV2aXNpb24gMjE1NzUxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQkod29ya2luZyBjb3B5KQpAQCAtMTg4
LDExICsxODgsNyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgICMgQ3JlYXRlIHRo
ZSBvdXRwdXQgZGlyZWN0b3J5IGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KICAgICAgICAg
c2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rvcnkoc2VsZi5fcmVz
dWx0c19kaXJlY3RvcnkpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5fcG9ydC5z
ZXR1cF90ZXN0X3J1bihzZWxmLl9vcHRpb25zLmRldmljZV9jbGFzcykKLSAgICAgICAgZXhjZXB0
OgotICAgICAgICAgICAgc2VsZi5fcG9ydC5jbGVhbl91cF90ZXN0X3J1bigpCi0gICAgICAgICAg
ICByYWlzZQorICAgICAgICBzZWxmLl9wb3J0LnNldHVwX3Rlc3RfcnVuKHNlbGYuX29wdGlvbnMu
ZGV2aWNlX2NsYXNzKQogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIHJ1bihzZWxmLCBh
cmdzKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9y
LnB5CShyZXZpc2lvbiAyMTU3NTEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9z
X3NpbXVsYXRvci5weQkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBAQAogIyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgYXRleGl0CiBpbXBvcnQgbG9n
Z2luZwogaW1wb3J0IG9zCiBpbXBvcnQgcmUKQEAgLTE4MCw2ICsxODEsMzUgQEAgY2xhc3MgSU9T
U2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgX3NldF9kZXZpY2VfY2xhc3Moc2VsZiwg
ZGV2aWNlX2NsYXNzKToKICAgICAgICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gZGV2aWNlX2NsYXNz
IGlmIGRldmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVMVF9ERVZJQ0VfQ0xBU1MKIAorICAgICMg
VGhpcyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgorICAgIGRlZiBfdGVh
cmRvd25fbWFuYWdlZF9zaW11bGF0b3JzKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fdXNp
bmdfZGVkaWNhdGVkX3NpbXVsYXRvcnMoKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBz
ZWxmLl9xdWl0X2lvc19zaW11bGF0b3IoKQorCisgICAgICAgIGZvciBpIGluIHhyYW5nZShsZW4o
U2ltdWxhdG9yLm1hbmFnZWRfZGV2aWNlcykpOgorICAgICAgICAgICAgc2ltdWxhdG9yX3BhdGgg
PSBzZWxmLmdldF9zaW11bGF0b3JfcGF0aChpKQorICAgICAgICAgICAgZGV2aWNlX3VkaWQgPSBT
aW11bGF0b3IubWFuYWdlZF9kZXZpY2VzW2ldLnVkaWQKKyAgICAgICAgICAgIFNpbXVsYXRvci5y
ZW1vdmVfZGV2aWNlKGkpCisKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzaW11
bGF0b3JfcGF0aCk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoW0lPU1NpbXVsYXRv
clBvcnQuTFNSRUdJU1RFUl9QQVRILCAiLXUiLCBzaW11bGF0b3JfcGF0aF0pCisKKyAgICAgICAg
ICAgICAgICBfbG9nLmRlYnVnKCdybXRyZWUgJXMnLCBzaW11bGF0b3JfcGF0aCkKKyAgICAgICAg
ICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShzaW11bGF0b3JfcGF0aCkKKworICAgICAg
ICAgICAgICAgIGxvZ3NfcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9maWxlc3lz
dGVtLmV4cGFuZHVzZXIoIn4iKSwgIkxpYnJhcnkvTG9ncy9Db3JlU2ltdWxhdG9yLyIsIGRldmlj
ZV91ZGlkKQorICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycsIGxvZ3NfcGF0
aCkKKyAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShsb2dzX3BhdGgpCisK
KyAgICAgICAgICAgICAgICBzYXZlZF9zdGF0ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2lu
KHNlbGYuX2ZpbGVzeXN0ZW0uZXhwYW5kdXNlcigifiIpLCAiTGlicmFyeS9TYXZlZCBBcHBsaWNh
dGlvbiBTdGF0ZS8iLCBJT1NTaW11bGF0b3JQb3J0LlNJTVVMQVRPUl9CVU5ETEVfSUQgKyBzdHIo
aSkgKyAiLnNhdmVkU3RhdGUiKQorICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAl
cycsIHNhdmVkX3N0YXRlX3BhdGgpCisgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5y
bXRyZWUoc2F2ZWRfc3RhdGVfcGF0aCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAg
ICAgICBfbG9nLndhcm5pbmcoJ1VuYWJsZSB0byByZW1vdmUgU2ltdWxhdG9yJyArIHN0cihpKSkK
KwogICAgIGRlZiBfY3JlYXRlX3NpbXVsYXRvcnMoc2VsZik6CiAgICAgICAgIGlmIChzZWxmLmRl
ZmF1bHRfY2hpbGRfcHJvY2Vzc2VzKCkgPCBzZWxmLmNoaWxkX3Byb2Nlc3NlcygpKToKICAgICAg
ICAgICAgIF9sb2cud2FybignWW91IGhhdmUgc3BlY2lmaWVkIHZlcnkgaGlnaCB2YWx1ZSh7MH0p
IGZvciAtLWNoaWxkLXByb2Nlc3NlcycuZm9ybWF0KHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpKQpA
QCAtMTg3LDYgKzIxNyw3IEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAg
ICAgICAgICBfbG9nLndhcm4oJ1RoaXMgaXMgdmVyeSBsaWtlbHkgdG8gZmFpbC4nKQogCiAgICAg
ICAgIGlmIHNlbGYuX3VzaW5nX2RlZGljYXRlZF9zaW11bGF0b3JzKCk6CisgICAgICAgICAgICBh
dGV4aXQucmVnaXN0ZXIobGFtYmRhOiBzZWxmLl90ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMo
KSkKICAgICAgICAgICAgIHNlbGYuX2NyZWF0ZVNpbXVsYXRvckFwcHMoKQogCiAgICAgICAgICAg
ICBmb3IgaSBpbiB4cmFuZ2Uoc2VsZi5jaGlsZF9wcm9jZXNzZXMoKSk6CkBAIC0yNDUsNyArMjc2
LDYgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgY2xlYW5fdXBf
dGVzdF9ydW4oc2VsZik6CiAgICAgICAgIHN1cGVyKElPU1NpbXVsYXRvclBvcnQsIHNlbGYpLmNs
ZWFuX3VwX3Rlc3RfcnVuKCkKICAgICAgICAgX2xvZy5kZWJ1ZygiY2xlYW5fdXBfdGVzdF9ydW4i
KQotICAgICAgICBzZWxmLl9xdWl0X2lvc19zaW11bGF0b3IoKQogICAgICAgICBmaWZvcyA9IFtw
YXRoIGZvciBwYXRoIGluIG9zLmxpc3RkaXIoJy90bXAnKSBpZiByZS5zZWFyY2goJ29yZy53ZWJr
aXQuKER1bXBSZW5kZXJUcmVlfFdlYktpdFRlc3RSdW5uZXIpLipfKElOfE9VVHxFUlJPUiknLCBw
YXRoKV0KICAgICAgICAgZm9yIGZpZm8gaW4gZmlmb3M6CiAgICAgICAgICAgICB0cnk6CkBAIC0y
NTcsMjkgKzI4Nyw3IEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgICAg
IGlmIG5vdCBzZWxmLl91c2luZ19kZWRpY2F0ZWRfc2ltdWxhdG9ycygpOgogICAgICAgICAgICAg
cmV0dXJuCiAKLSAgICAgICAgZm9yIGkgaW4geHJhbmdlKHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkp
OgotICAgICAgICAgICAgc2ltdWxhdG9yX3BhdGggPSBzZWxmLmdldF9zaW11bGF0b3JfcGF0aChp
KQotICAgICAgICAgICAgZGV2aWNlX3VkaWQgPSBzZWxmLl90ZXN0aW5nX2RldmljZShpKS51ZGlk
Ci0gICAgICAgICAgICBzZWxmLl9yZW1vdmVfZGV2aWNlKGkpCi0KLSAgICAgICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhzaW11bGF0b3JfcGF0aCk6Ci0gICAgICAgICAgICAgICAgY29udGlu
dWUKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVu
X2NvbW1hbmQoW3NlbGYuTFNSRUdJU1RFUl9QQVRILCAiLXUiLCBzaW11bGF0b3JfcGF0aF0pCi0K
LSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCdybXRyZWUgJXMnLCBzaW11bGF0b3JfcGF0aCkK
LSAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShzaW11bGF0b3JfcGF0aCkK
LQotICAgICAgICAgICAgICAgIGxvZ3NfcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxm
Ll9maWxlc3lzdGVtLmV4cGFuZHVzZXIoIn4iKSwgIkxpYnJhcnkvTG9ncy9Db3JlU2ltdWxhdG9y
LyIsIGRldmljZV91ZGlkKQotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycs
IGxvZ3NfcGF0aCkKLSAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShsb2dz
X3BhdGgpCi0KLSAgICAgICAgICAgICAgICBzYXZlZF9zdGF0ZV9wYXRoID0gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKHNlbGYuX2ZpbGVzeXN0ZW0uZXhwYW5kdXNlcigifiIpLCAiTGlicmFyeS9TYXZl
ZCBBcHBsaWNhdGlvbiBTdGF0ZS8iLCBzZWxmLlNJTVVMQVRPUl9CVU5ETEVfSUQgKyBzdHIoaSkg
KyAiLnNhdmVkU3RhdGUiKQotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycs
IHNhdmVkX3N0YXRlX3BhdGgpCi0gICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5ybXRy
ZWUoc2F2ZWRfc3RhdGVfcGF0aCkKLQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAg
ICAgIF9sb2cud2FybmluZygnVW5hYmxlIHRvIHJlbW92ZSBTaW11bGF0b3InICsgc3RyKGkpKQor
ICAgICAgICBzZWxmLl90ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMoKQogICAgICAgICBJT1NT
aW11bGF0b3JQb3J0Ll9ERVZJQ0VfTUFQID0ge30KIAogICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zv
cl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWU9Tm9uZSk6CkBAIC0zMTcsOSArMzI1LDYgQEAgY2xh
c3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgX2NyZWF0ZV9kZXZpY2Uoc2Vs
ZiwgbnVtYmVyKToKICAgICAgICAgcmV0dXJuIFNpbXVsYXRvci5jcmVhdGVfZGV2aWNlKG51bWJl
ciwgc2VsZi5zaW11bGF0b3JfZGV2aWNlX3R5cGUoKSwgc2VsZi5zaW11bGF0b3JfcnVudGltZSkK
IAotICAgIGRlZiBfcmVtb3ZlX2RldmljZShzZWxmLCBudW1iZXIpOgotICAgICAgICBTaW11bGF0
b3IucmVtb3ZlX2RldmljZShudW1iZXIpCi0KICAgICBkZWYgZ2V0X3NpbXVsYXRvcl9wYXRoKHNl
bGYsIHN1ZmZpeD0iIik6CiAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5TSU1VTEFU
T1JfRElSRUNUT1JZLCAiU2ltdWxhdG9yIiArIHN0cihzdWZmaXgpICsgIi5hcHAiKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308277</attachid>
            <date>2017-04-26 13:08:56 -0700</date>
            <delta_ts>2017-04-26 13:23:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-171293-20170426130855.patch</filename>
            <type>text/plain</type>
            <size>7048</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxNTgyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE3LTA0LTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVGVhcmRvd24gaU9TIFNpbXVsYXRvcnMgb24gZXhpdCBp
ZiBtYW5hZ2VkIFNpbXVsYXRvcnMgYXJlIHN0aWxsIHJ1bm5pbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5MworCisgICAgICAgIFJldmlld2Vk
IGJ5IEFha2FzaCBKYWluLgorCisgICAgICAgIFdlIHNob3VsZCBtYWtlIGFuIGVmZm9ydCB0byB0
ZWFyZG93biBzaW11bGF0b3JzIHdoaWNoIHdlIGJvb3RlZCBldmVuIHdoZW4gYW4gZXhjZXB0aW9u
IGlzCisgICAgICAgIHRocm93biB3aGlsZSBib290aW5nLiBNYWtlIHNvbWUgSU9TU2ltdWxhdG9y
UG9ydCBmdW5jdGlvbnMgaW50byBzdGF0aWMgbWV0aG9kcyBhbmQgcmVnaXN0ZXIKKyAgICAgICAg
b25lIG9mIHRoZXNlIGZ1bmN0aW9ucyB0byBiZSBydW4gYXQgZXhpdCB0byBlbnN1cmUgYW55IGRl
dmljZXMgd2Via2l0cHkgaXMgbWFuYWdpbmcgZ2V0cworICAgICAgICB0b3JuIGRvd24uCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2Vy
LnB5OgorICAgICAgICAoTWFuYWdlci5fc2V0X3VwX3J1bik6IFJlbHkgb24gZXhpdCBoYW5kbGVy
cyB0byB0ZWFyZG93biwgbm90IGV4Y2VwdGlvbnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3IucHk6CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll90ZWFy
ZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMpOiBGdW5jdGlvbiBydW4gb24gZXhpdCB3aGljaCB3aWxs
IGtpbGwgYWxsCisgICAgICAgIGlPUyBzaW11bGF0b3JzIGFuZCB0ZWFyZG93biBhbmQgbWFuYWdl
ZCBkZXZpY2VzLgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5fY3JlYXRlX3NpbXVsYXRvcnMp
OiBSZWdpc3RlciB0ZWFyZG93biBmdW5jdGlvbi4KKyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQu
Y2xlYW5fdXBfdGVzdF9ydW4pOiBNb3ZlIGRldmljZSB0ZWFyZG93biB0byBfdGVhcmRvd25fbWFu
YWdlZF9zaW11bGF0b3JzLgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5fcmVtb3ZlX2Rldmlj
ZSk6IERlbGV0ZWQuCisKIDIwMTctMDQtMjYgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtBVEtdIEltcGxlbWVudCBzdXBwb3J0IGZvciBuZXcgQVJJQSAx
LjEgdmFsdWVzIG9mIGFyaWEtaGFzcG9wdXAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQkocmV2
aXNpb24gMjE1ODIyKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29u
dHJvbGxlcnMvbWFuYWdlci5weQkod29ya2luZyBjb3B5KQpAQCAtMTg4LDExICsxODgsNyBAQCBj
bGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgICMgQ3JlYXRlIHRoZSBvdXRwdXQgZGlyZWN0
b3J5IGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KICAgICAgICAgc2VsZi5fcG9ydC5ob3N0
LmZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rvcnkoc2VsZi5fcmVzdWx0c19kaXJlY3Rvcnkp
CiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5fcG9ydC5zZXR1cF90ZXN0X3J1bihz
ZWxmLl9vcHRpb25zLmRldmljZV9jbGFzcykKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAg
c2VsZi5fcG9ydC5jbGVhbl91cF90ZXN0X3J1bigpCi0gICAgICAgICAgICByYWlzZQorICAgICAg
ICBzZWxmLl9wb3J0LnNldHVwX3Rlc3RfcnVuKHNlbGYuX29wdGlvbnMuZGV2aWNlX2NsYXNzKQog
ICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIHJ1bihzZWxmLCBhcmdzKToKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5CShyZXZpc2lvbiAy
MTU4MjIpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvci5weQko
d29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBAQAogIyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQog
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogCitpbXBvcnQgYXRleGl0CiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9z
CiBpbXBvcnQgcmUKQEAgLTE4MCw2ICsxODEsMzUgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJ
T1NQb3J0KToKICAgICBkZWYgX3NldF9kZXZpY2VfY2xhc3Moc2VsZiwgZGV2aWNlX2NsYXNzKToK
ICAgICAgICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gZGV2aWNlX2NsYXNzIGlmIGRldmljZV9jbGFz
cyBlbHNlIHNlbGYuREVGQVVMVF9ERVZJQ0VfQ0xBU1MKIAorICAgICMgVGhpcyBmdW5jdGlvbiBt
YXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgorICAgIGRlZiBfdGVhcmRvd25fbWFuYWdlZF9z
aW11bGF0b3JzKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fdXNpbmdfZGVkaWNhdGVkX3Np
bXVsYXRvcnMoKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9xdWl0X2lvc19z
aW11bGF0b3IoKQorCisgICAgICAgIGZvciBpIGluIHhyYW5nZShsZW4oU2ltdWxhdG9yLm1hbmFn
ZWRfZGV2aWNlcykpOgorICAgICAgICAgICAgc2ltdWxhdG9yX3BhdGggPSBzZWxmLmdldF9zaW11
bGF0b3JfcGF0aChpKQorICAgICAgICAgICAgZGV2aWNlX3VkaWQgPSBTaW11bGF0b3IubWFuYWdl
ZF9kZXZpY2VzW2ldLnVkaWQKKyAgICAgICAgICAgIFNpbXVsYXRvci5yZW1vdmVfZGV2aWNlKGkp
CisKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzaW11bGF0b3JfcGF0aCk6Cisg
ICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAg
ICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoW0lPU1NpbXVsYXRvclBvcnQuTFNSRUdJU1RF
Ul9QQVRILCAiLXUiLCBzaW11bGF0b3JfcGF0aF0pCisKKyAgICAgICAgICAgICAgICBfbG9nLmRl
YnVnKCdybXRyZWUgJXMnLCBzaW11bGF0b3JfcGF0aCkKKyAgICAgICAgICAgICAgICBzZWxmLl9m
aWxlc3lzdGVtLnJtdHJlZShzaW11bGF0b3JfcGF0aCkKKworICAgICAgICAgICAgICAgIGxvZ3Nf
cGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9maWxlc3lzdGVtLmV4cGFuZHVzZXIo
In4iKSwgIkxpYnJhcnkvTG9ncy9Db3JlU2ltdWxhdG9yLyIsIGRldmljZV91ZGlkKQorICAgICAg
ICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycsIGxvZ3NfcGF0aCkKKyAgICAgICAgICAg
ICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShsb2dzX3BhdGgpCisKKyAgICAgICAgICAgICAg
ICBzYXZlZF9zdGF0ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2ZpbGVzeXN0
ZW0uZXhwYW5kdXNlcigifiIpLCAiTGlicmFyeS9TYXZlZCBBcHBsaWNhdGlvbiBTdGF0ZS8iLCBJ
T1NTaW11bGF0b3JQb3J0LlNJTVVMQVRPUl9CVU5ETEVfSUQgKyBzdHIoaSkgKyAiLnNhdmVkU3Rh
dGUiKQorICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycsIHNhdmVkX3N0YXRl
X3BhdGgpCisgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5ybXRyZWUoc2F2ZWRfc3Rh
dGVfcGF0aCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBfbG9nLndhcm5p
bmcoJ1VuYWJsZSB0byByZW1vdmUgU2ltdWxhdG9yJyArIHN0cihpKSkKKwogICAgIGRlZiBfY3Jl
YXRlX3NpbXVsYXRvcnMoc2VsZik6CiAgICAgICAgIGlmIChzZWxmLmRlZmF1bHRfY2hpbGRfcHJv
Y2Vzc2VzKCkgPCBzZWxmLmNoaWxkX3Byb2Nlc3NlcygpKToKICAgICAgICAgICAgIF9sb2cud2Fy
bignWW91IGhhdmUgc3BlY2lmaWVkIHZlcnkgaGlnaCB2YWx1ZSh7MH0pIGZvciAtLWNoaWxkLXBy
b2Nlc3NlcycuZm9ybWF0KHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpKQpAQCAtMTg3LDYgKzIxNyw3
IEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgICAgICAgICBfbG9nLndh
cm4oJ1RoaXMgaXMgdmVyeSBsaWtlbHkgdG8gZmFpbC4nKQogCiAgICAgICAgIGlmIHNlbGYuX3Vz
aW5nX2RlZGljYXRlZF9zaW11bGF0b3JzKCk6CisgICAgICAgICAgICBhdGV4aXQucmVnaXN0ZXIo
bGFtYmRhOiBzZWxmLl90ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMoKSkKICAgICAgICAgICAg
IHNlbGYuX2NyZWF0ZVNpbXVsYXRvckFwcHMoKQogCiAgICAgICAgICAgICBmb3IgaSBpbiB4cmFu
Z2Uoc2VsZi5jaGlsZF9wcm9jZXNzZXMoKSk6CkBAIC0yNDUsNyArMjc2LDYgQEAgY2xhc3MgSU9T
U2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICBkZWYgY2xlYW5fdXBfdGVzdF9ydW4oc2VsZik6
CiAgICAgICAgIHN1cGVyKElPU1NpbXVsYXRvclBvcnQsIHNlbGYpLmNsZWFuX3VwX3Rlc3RfcnVu
KCkKICAgICAgICAgX2xvZy5kZWJ1ZygiY2xlYW5fdXBfdGVzdF9ydW4iKQotICAgICAgICBzZWxm
Ll9xdWl0X2lvc19zaW11bGF0b3IoKQogICAgICAgICBmaWZvcyA9IFtwYXRoIGZvciBwYXRoIGlu
IG9zLmxpc3RkaXIoJy90bXAnKSBpZiByZS5zZWFyY2goJ29yZy53ZWJraXQuKER1bXBSZW5kZXJU
cmVlfFdlYktpdFRlc3RSdW5uZXIpLipfKElOfE9VVHxFUlJPUiknLCBwYXRoKV0KICAgICAgICAg
Zm9yIGZpZm8gaW4gZmlmb3M6CiAgICAgICAgICAgICB0cnk6CkBAIC0yNTcsMjkgKzI4Nyw3IEBA
IGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl91
c2luZ19kZWRpY2F0ZWRfc2ltdWxhdG9ycygpOgogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAg
ICAgZm9yIGkgaW4geHJhbmdlKHNlbGYuY2hpbGRfcHJvY2Vzc2VzKCkpOgotICAgICAgICAgICAg
c2ltdWxhdG9yX3BhdGggPSBzZWxmLmdldF9zaW11bGF0b3JfcGF0aChpKQotICAgICAgICAgICAg
ZGV2aWNlX3VkaWQgPSBzZWxmLl90ZXN0aW5nX2RldmljZShpKS51ZGlkCi0gICAgICAgICAgICBz
ZWxmLl9yZW1vdmVfZGV2aWNlKGkpCi0KLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cyhzaW11bGF0b3JfcGF0aCk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAg
IHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoW3NlbGYu
TFNSRUdJU1RFUl9QQVRILCAiLXUiLCBzaW11bGF0b3JfcGF0aF0pCi0KLSAgICAgICAgICAgICAg
ICBfbG9nLmRlYnVnKCdybXRyZWUgJXMnLCBzaW11bGF0b3JfcGF0aCkKLSAgICAgICAgICAgICAg
ICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShzaW11bGF0b3JfcGF0aCkKLQotICAgICAgICAgICAg
ICAgIGxvZ3NfcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9maWxlc3lzdGVtLmV4
cGFuZHVzZXIoIn4iKSwgIkxpYnJhcnkvTG9ncy9Db3JlU2ltdWxhdG9yLyIsIGRldmljZV91ZGlk
KQotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycsIGxvZ3NfcGF0aCkKLSAg
ICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJtdHJlZShsb2dzX3BhdGgpCi0KLSAgICAg
ICAgICAgICAgICBzYXZlZF9zdGF0ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYu
X2ZpbGVzeXN0ZW0uZXhwYW5kdXNlcigifiIpLCAiTGlicmFyeS9TYXZlZCBBcHBsaWNhdGlvbiBT
dGF0ZS8iLCBzZWxmLlNJTVVMQVRPUl9CVU5ETEVfSUQgKyBzdHIoaSkgKyAiLnNhdmVkU3RhdGUi
KQotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ3JtdHJlZSAlcycsIHNhdmVkX3N0YXRlX3Bh
dGgpCi0gICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5ybXRyZWUoc2F2ZWRfc3RhdGVf
cGF0aCkKLQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIF9sb2cud2Fybmlu
ZygnVW5hYmxlIHRvIHJlbW92ZSBTaW11bGF0b3InICsgc3RyKGkpKQorICAgICAgICBzZWxmLl90
ZWFyZG93bl9tYW5hZ2VkX3NpbXVsYXRvcnMoKQogICAgICAgICBJT1NTaW11bGF0b3JQb3J0Ll9E
RVZJQ0VfTUFQID0ge30KIAogICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwg
c2VydmVyX25hbWU9Tm9uZSk6CkBAIC0zMTcsOSArMzI1LDYgQEAgY2xhc3MgSU9TU2ltdWxhdG9y
UG9ydChJT1NQb3J0KToKICAgICBkZWYgX2NyZWF0ZV9kZXZpY2Uoc2VsZiwgbnVtYmVyKToKICAg
ICAgICAgcmV0dXJuIFNpbXVsYXRvci5jcmVhdGVfZGV2aWNlKG51bWJlciwgc2VsZi5zaW11bGF0
b3JfZGV2aWNlX3R5cGUoKSwgc2VsZi5zaW11bGF0b3JfcnVudGltZSkKIAotICAgIGRlZiBfcmVt
b3ZlX2RldmljZShzZWxmLCBudW1iZXIpOgotICAgICAgICBTaW11bGF0b3IucmVtb3ZlX2Rldmlj
ZShudW1iZXIpCi0KICAgICBkZWYgZ2V0X3NpbXVsYXRvcl9wYXRoKHNlbGYsIHN1ZmZpeD0iIik6
CiAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5TSU1VTEFUT1JfRElSRUNUT1JZLCAi
U2ltdWxhdG9yIiArIHN0cihzdWZmaXgpICsgIi5hcHAiKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>