<?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>191112</bug_id>
          
          <creation_ts>2018-10-31 07:44:01 -0700</creation_ts>
          <short_desc>[MediaStream] Don&apos;t reveal device IDs until the user has granted permission to capture</short_desc>
          <delta_ts>2018-10-31 10:27:00 -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>WebRTC</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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1473703</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-31 07:44:01 -0700</bug_when>
    <thetext>WebKit currently regenerates device IDs when a page is refreshed, unless the user has granted permission to capture without a prompt. This was done to enhance user privacy because we observed that many sites that don&apos;t ever call getUserMedia call enumerateDevices for fingerprinting. This behavior is different from other browsers, which return somewhat stable device IDs, causes problems for existing scripts (e.g. see bug 179220), and makes device IDs essentially useless.

To improve the usefulness of device IDs to scripts, while not increasing the usefulness for fingerprinting, enumerateDevices should return stable device IDs once the user has granted permission to capture and return an empty string before that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473706</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-31 08:02:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/45699932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473724</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-31 08:41:33 -0700</bug_when>
    <thetext>This patch will make device IDs empty until permission to capture has been granted, another patch will make the IDs stable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473725</commentid>
    <comment_count>3</comment_count>
      <attachid>353496</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-31 08:41:50 -0700</bug_when>
    <thetext>Created attachment 353496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473727</commentid>
    <comment_count>4</comment_count>
      <attachid>353496</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-31 08:54:43 -0700</bug_when>
    <thetext>Comment on attachment 353496
Patch

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

&gt; LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities.html:90
&gt; +                    .then(stream =&gt; mediaStream = stream);

mediaStream = await navigator.mediaDevices.getUserMedia({ audio:true, video:true });

&gt; LayoutTests/fast/mediastream/get-user-media-device-id.html:18
&gt; +                    assert_true(device.deviceId.length == 0 , &quot;device.deviceId is empty before permission to capture&quot;);

Should we go with empty device ids or undefined device ids?
The spec seems to forbid empty device ids as they must be unique.
In terms of breakage, empty string device ids might be a bit better except if used for hashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473752</commentid>
    <comment_count>5</comment_count>
      <attachid>353496</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-31 09:46:43 -0700</bug_when>
    <thetext>Comment on attachment 353496
Patch

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

&gt;&gt; LayoutTests/fast/mediastream/get-user-media-device-id.html:18
&gt;&gt; +                    assert_true(device.deviceId.length == 0 , &quot;device.deviceId is empty before permission to capture&quot;);
&gt; 
&gt; Should we go with empty device ids or undefined device ids?
&gt; The spec seems to forbid empty device ids as they must be unique.
&gt; In terms of breakage, empty string device ids might be a bit better except if used for hashes.

I think empty ids will cause fewer problems for scripts, so lets go with this for now at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473754</commentid>
    <comment_count>6</comment_count>
      <attachid>353501</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-10-31 10:00:49 -0700</bug_when>
    <thetext>Created attachment 353501
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473758</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-10-31 10:17:44 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 353496 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=353496&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/mediastream/get-user-media-device-id.html:18
&gt; &gt;&gt; +                    assert_true(device.deviceId.length == 0 , &quot;device.deviceId is empty before permission to capture&quot;);
&gt; &gt; 
&gt; &gt; Should we go with empty device ids or undefined device ids?
&gt; &gt; The spec seems to forbid empty device ids as they must be unique.
&gt; &gt; In terms of breakage, empty string device ids might be a bit better except if used for hashes.
&gt; 
&gt; I think empty ids will cause fewer problems for scripts, so lets go with
&gt; this for now at least.

I filed a corresponding issue there: https://github.com/w3c/mediacapture-main/issues/551</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473763</commentid>
    <comment_count>8</comment_count>
      <attachid>353501</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-31 10:26:58 -0700</bug_when>
    <thetext>Comment on attachment 353501
Patch for landing

Clearing flags on attachment: 353501

Committed r237643: &lt;https://trac.webkit.org/changeset/237643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473764</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-31 10:27:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353496</attachid>
            <date>2018-10-31 08:41:50 -0700</date>
            <delta_ts>2018-10-31 10:00:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191112-20181031084149.patch</filename>
            <type>text/plain</type>
            <size>8968</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODExMGFiMTUxYmFhOWI3
NDQ1Mzc1NzIxOTFlY2U5ZmMxMzc4OTgwNC4uZjY3Y2IzM2MwN2VhNzM3NDliZDdjODY3MDg5NTky
ZjFmY2IzMDAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEwLTMxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gRG9uJ3QgcmV2ZWFsIGRldmljZSBJRHMgdW50aWwgdGhlIHVzZXIgaGFzIGdyYW50ZWQgcGVy
bWlzc2lvbiB0byBjYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTExMTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1Njk5OTMyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgZXhpc3RpbmcgdGVzdHMgdXBkYXRlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFEZXZpY2VzUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURldmlj
ZXNSZXF1ZXN0OjpzdGFydCk6IERvbid0IHJldmVhbCBkZXZpY2UgSUQgb3IgZ3JvdXAgSUQgdW50
aWwgdGhlIHVzZXIgCisgICAgICAgIGhhcyBncmFudGVkIHBlcm1zc2lvbiB0byBjYXB0dXJlLgor
CiAyMDE4LTEwLTI4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dlYiBBbmltYXRpb25zXSBJbXBsZW1lbnQgdGhlIHVwZGF0ZSBhbmltYXRpb25zIGFuZCBz
ZW5kIGV2ZW50cyBwcm9jZWR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1JlcXVlc3QuY3BwCmluZGV4IDI1ZDU2NWU3M2Y3
ODQxZTk5NGRjNWM3MDM0YmJmNjRiZDBmMjUwMjcuLjIwM2QyNDA3ZjVkMzA5OWNhZjNkMTdhNjI5
NmU1OGQxOTZhMjQ5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNSZXF1ZXN0LmNwcApAQCAtMTE1LDIxICsxMTUsMjQg
QEAgdm9pZCBNZWRpYURldmljZXNSZXF1ZXN0OjpzdGFydCgpCiAgICAgICAgIGRvY3VtZW50LnNl
dERldmljZUlESGFzaFNhbHQoZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KTsKIAogICAgICAgICBW
ZWN0b3I8UmVmPE1lZGlhRGV2aWNlSW5mbz4+IGRldmljZXM7CisgICAgICAgIGJvb2wgcmV2ZWFs
SWRzQW5kTGFiZWxzID0gb3JpZ2luSGFzUGVyc2lzdGVudEFjY2VzcyB8fCBkb2N1bWVudC5oYXNI
YWRDYXB0dXJlTWVkaWFTdHJlYW1UcmFjaygpOwogICAgICAgICBmb3IgKGF1dG8mIGRldmljZUlu
Zm8gOiBjYXB0dXJlRGV2aWNlcykgewogICAgICAgICAgICAgYXV0byBsYWJlbCA9IGVtcHR5U3Ry
aW5nKCk7Ci0gICAgICAgICAgICBpZiAob3JpZ2luSGFzUGVyc2lzdGVudEFjY2VzcyB8fCBkb2N1
bWVudC5oYXNIYWRDYXB0dXJlTWVkaWFTdHJlYW1UcmFjaygpKQorICAgICAgICAgICAgYXV0byBp
ZCA9IGVtcHR5U3RyaW5nKCk7CisgICAgICAgICAgICBhdXRvIGdyb3VwSWQgPSBlbXB0eVN0cmlu
ZygpOworICAgICAgICAgICAgaWYgKHJldmVhbElkc0FuZExhYmVscykgewogICAgICAgICAgICAg
ICAgIGxhYmVsID0gZGV2aWNlSW5mby5sYWJlbCgpOworICAgICAgICAgICAgICAgIGlkID0gUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuaGFzaFN0cmluZ1dpdGhTYWx0KGRl
dmljZUluZm8ucGVyc2lzdGVudElkKCksIGRldmljZUlkZW50aWZpZXJIYXNoU2FsdCk7CisgICAg
ICAgICAgICAgICAgaWYgKGlkLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICAgICAgZ3JvdXBJZCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6
OnNpbmdsZXRvbigpLmhhc2hTdHJpbmdXaXRoU2FsdChkZXZpY2VJbmZvLmdyb3VwSWQoKSwgZGV2
aWNlSWRlbnRpZmllckhhc2hTYWx0KTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYXV0
byBpZCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmhhc2hTdHJpbmdX
aXRoU2FsdChkZXZpY2VJbmZvLnBlcnNpc3RlbnRJZCgpLCBkZXZpY2VJZGVudGlmaWVySGFzaFNh
bHQpOwotICAgICAgICAgICAgaWYgKGlkLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICAgICAgYXV0byBncm91cElkID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6c2luZ2xldG9uKCkuaGFzaFN0cmluZ1dpdGhTYWx0KGRldmljZUluZm8uZ3JvdXBJZCgp
LCBkZXZpY2VJZGVudGlmaWVySGFzaFNhbHQpOwogICAgICAgICAgICAgYXV0byBkZXZpY2VUeXBl
ID0gZGV2aWNlSW5mby50eXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9w
aG9uZSA/IE1lZGlhRGV2aWNlSW5mbzo6S2luZDo6QXVkaW9pbnB1dCA6IE1lZGlhRGV2aWNlSW5m
bzo6S2luZDo6VmlkZW9pbnB1dDsKICAgICAgICAgICAgIGRldmljZXMuYXBwZW5kKE1lZGlhRGV2
aWNlSW5mbzo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbGFiZWwsIGlkLCBncm91
cElkLCBkZXZpY2VUeXBlKSk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIW9yaWdpbkhhc1Bl
cnNpc3RlbnRBY2Nlc3MgJiYgIWRvY3VtZW50Lmhhc0hhZENhcHR1cmVNZWRpYVN0cmVhbVRyYWNr
KCkpCisgICAgICAgIGlmICghcmV2ZWFsSWRzQW5kTGFiZWxzKQogICAgICAgICAgICAgZmlsdGVy
RGV2aWNlTGlzdChkZXZpY2VzKTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGRldmljZXMgPSBXVEZNb3ZlKGRldmljZXMpXSgpIG11
dGFibGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGVhYzExMGQ3M2Q3Zjc2ZjI2NmRkMDI4OTg5MTFlYjU3YzkzZjg2ZjMu
LmFkMDQwY2JjM2JhMmVmYjNjNzQ3ZTNjMTE1N2Y2MDg4OGFiNWEzMDUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxOC0xMC0zMSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBbTWVkaWFTdHJlYW1dIERvbid0IHJldmVhbCBkZXZpY2UgSURzIHVudGls
IHRoZSB1c2VyIGhhcyBncmFudGVkIHBlcm1pc3Npb24gdG8gY2FwdHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMTEyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NTY5OTkzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6IFNraXAgaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLXBlcnNpc3RlbnQuaHRtbAor
ICAgICAgICBhbmQgaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmlj
ZXMtc291cmNlLWlkLmh0bWwgZm9yIG5vdywgdGhleSBkb24ndCBtYWtlIHNlbnNlCisgICAgICAg
IHdpdGggdGhlc2UgY2hhbmdlcyBhbmQgd2lsbCBiZSB1cGRhdGVkIHRvIHBhc3MgaW4gYSBmdXR1
cmUgcGF0Y2guCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLWdl
dENhcGFiaWxpdGllcy5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXIt
bWVkaWEtZGV2aWNlLWlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFt
L2dldC11c2VyLW1lZGlhLWRldmljZS1pZC5odG1sOgorCiAyMDE4LTEwLTI4ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBJbXBs
ZW1lbnQgdGhlIHVwZGF0ZSBhbmltYXRpb25zIGFuZCBzZW5kIGV2ZW50cyBwcm9jZWR1cmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDljZDcyODExZDVmMmExNWE2Nzk0MDc5ZTdjYTk1NzQwYWZkNTUy
ZWEuLjY0N2U5MDkxNmVlYzFlNjZlNGM0MjA0Mzg5NjIwNWI5MmMwZjg3ZTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjkwNCwzICsyOTA0LDcgQEAgd2Via2l0Lm9yZy9iLzE5MDAzMiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2NvcGluZy9rZXlmcmFtZXMtMDAKIGZh
c3QvbWVkaWFjYXB0dXJlZnJvbWVsZW1lbnQvQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtLWltYWdl
Yml0bWFwcmVuZGVyaW5nY29udGV4dC5odG1sIFsgU2tpcCBdCiBmYXN0L21lZGlhY2FwdHVyZWZy
b21lbGVtZW50L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbS1mcmFtZXJhdGUtMC5odG1sIFsgU2tp
cCBdCiBmYXN0L21lZGlhY2FwdHVyZWZyb21lbGVtZW50L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVh
bS1jYXB0dXJlLW91dC1vZi1ET00tZWxlbWVudC5odG1sIFsgU2tpcCBdCisKKyMgRklYTUU6IFRo
ZSBiZWhhdmlvciBvZiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgaXMg
aW4gZmx1eCwgc2tpcCB0aGVzZSB0ZXN0cyBmb3Igbm93LgoraHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291cmNlLWlkLXBlcnNpc3RlbnQuaHRtbCBbIFNr
aXAgXQoraHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZW51bWVyYXRlLWRldmljZXMtc291
cmNlLWlkLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay1nZXRDYXBhYmlsaXRpZXMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1nZXRDYXBhYmlsaXRpZXMuaHRtbApp
bmRleCAwMTdjNjBjMDg5NDI4M2ZhNjk0YTM4ZDEyNjMyODQ2NzA0NWIwMWU0Li41MzUxNzY5ODcw
MzM1NDk4NDc5NGUwNmUyYzQwOTM2ZDU1NGMwYTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLWdldENhcGFi
aWxpdGllcy5odG1sCkBAIC0yLDExICsyLDEzIEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9nZXRVc2VyTWVkaWEtaGVscGVyLmpz
Ij48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgIHZhciBtZWRpYVN0cmVh
bTsKICAgICAgICAgICAgIHZhciBkZXZpY2VzOwogCisgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJtaXNz
aW9uKHRydWUpOworCiAgICAgICAgICAgICBmdW5jdGlvbiBsaW1pdFByZWNpc2lvbih2YWx1ZSwg
cHJlY2lzaW9uKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFs
dWUgPT09ICJzdHJpbmciKQpAQCAtODAsMTYgKzgyLDE4IEBACiAgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0
KCkKKyAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0KCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgTWVkaWFTdHJlYW1UcmFjay5nZXRDYXBh
YmlsaXRpZXMuIik7Ci0gICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVt
ZXJhdGVEZXZpY2VzKCkudGhlbihkZXZpY2VJbmZvQXJyYXkgPT4gewotICAgICAgICAgICAgICAg
ICAgICBkZXZpY2VzID0gZGV2aWNlSW5mb0FycmF5OwotICAgICAgICAgICAgICAgICAgICBnZXRV
c2VyTWVkaWEoImFsbG93Iiwge2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0pOwot
ICAgICAgICAgICAgICAgIH0sIGUgPT4gewotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCdlbnVtZXJhdGVEZXZpY2VzIGZhaWxlZDonICsgZSk7Ci0gICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAgICAgYXdh
aXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzp0cnVlLCB2aWRl
bzp0cnVlIH0pCisgICAgICAgICAgICAgICAgICAgIC50aGVuKHN0cmVhbSA9PiBtZWRpYVN0cmVh
bSA9IHN0cmVhbSk7CisKKyAgICAgICAgICAgICAgICBkZXZpY2VzID0gYXdhaXQgbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7CisKKyAgICAgICAgICAgICAgICBsaXN0
VHJhY2tQcm9wZXJ0aWVzKG1lZGlhU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0pOworICAgICAg
ICAgICAgICAgIGxpc3RUcmFja1Byb3BlcnRpZXMobWVkaWFTdHJlYW0uZ2V0QXVkaW9UcmFja3Mo
KVswXSk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVkaWEtZGV2aWNlLWlkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVkaWEtZGV2
aWNlLWlkLWV4cGVjdGVkLnR4dAppbmRleCBkMTg3YjU0OGFjNzA3OWYwZWMzM2VkZDk1MTAzNGFj
M2M3NjA4NTQ4Li4wOThhODEyMTQyMTRjZGZjNzkzMjlkNjEyMmMwN2VhMWQ0YThjOGYzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC11c2VyLW1lZGlhLWRldmlj
ZS1pZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQt
dXNlci1tZWRpYS1kZXZpY2UtaWQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAogCitQQVNT
IERldmljZSBJRHMgc2hvdWxkIGJlIGVtcHR5IGluaXRpYWxseSAKIFBBU1MgQ29sbGVjdCBkZXZp
Y2UgSURzIAogUEFTUyBQYXNzIGRldmljZSBJRHMgYXMgZXhhY3QgY29uc3RyYWludHMgCiBQQVNT
IFBhc3MgZGV2aWNlIElEcyBhcyBvcHRpb25hbCBjb25zdHJhaW50cyAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVkaWEtZGV2aWNlLWlkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC11c2VyLW1lZGlhLWRldmljZS1pZC5o
dG1sCmluZGV4IGFmNTQzODYyNWVhYWYwZjg5OTlmODgyNzAzNGFjYWZmYzU0NzgzZGUuLmNjNmYw
ZWU4ZDAwN2MzYjE0OTc4Y2U1ZWY4NDM4MTIxM2M4NzE5M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVkaWEtZGV2aWNlLWlkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtdXNlci1tZWRpYS1kZXZpY2UtaWQuaHRt
bApAQCAtMTQsMTMgKzE0LDI0IEBACiAgICAgcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CiAgICAg
ICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKQogICAg
ICAgICAgICAgLnRoZW4oKGRldmljZXMpID0+IHsKKyAgICAgICAgICAgICAgICBkZXZpY2VzLmZv
ckVhY2goKGRldmljZSkgPT4geworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShkZXZp
Y2UuZGV2aWNlSWQubGVuZ3RoID09IDAgLCAiZGV2aWNlLmRldmljZUlkIGlzIGVtcHR5IGJlZm9y
ZSBwZXJtaXNzaW9uIHRvIGNhcHR1cmUiKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0pOworICAgIH0sICJEZXZpY2UgSURzIHNob3VsZCBiZSBlbXB0eSBpbml0aWFsbHkiKTsK
KyAgICAKKyAgICBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKKyAgICAgICAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZSB9
KQorICAgICAgICAgICAgLnRoZW4oKHN0cmVhbSkgPT4geworICAgICAgICAgICAgICAgIHJldHVy
biBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTsKKyAgICAgICAgICAg
IH0pLnRoZW4oZGV2aWNlcyA9PiB7CiAgICAgICAgICAgICAgICAgZGV2aWNlcy5mb3JFYWNoKChk
ZXZpY2UpID0+IHsKICAgICAgICAgICAgICAgICAgICAgbGV0IGtpbmQgPSBkZXZpY2Uua2luZCA9
PSAiYXVkaW9pbnB1dCIgPyAiYXVkaW8iIDogInZpZGVvIjsKICAgICAgICAgICAgICAgICAgICAg
ZGV2aWNlSWRzLnB1c2goeyB0eXBlOiBraW5kLCBpZCA6IGRldmljZS5kZXZpY2VJZH0pOwogICAg
ICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgfSwgIkNvbGxlY3QgZGV2aWNl
IElEcyIpOwotICAgIAorCiAgICAgbGV0IGNvbnN0cmFpbnRzID0geyB9OwogCiAgICAgcHJvbWlz
ZV90ZXN0KCh0ZXN0KSA9PiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353501</attachid>
            <date>2018-10-31 10:00:49 -0700</date>
            <delta_ts>2018-10-31 10:26:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191112-20181031100049.patch</filename>
            <type>text/plain</type>
            <size>8919</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODExMGFiMTUxYmFhOWI3
NDQ1Mzc1NzIxOTFlY2U5ZmMxMzc4OTgwNC4uN2QwMmE5YTI1MjQ3OGM3ZjE2M2ZmOThhYWQ5YzA5
N2JhODAzMDk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEwLTMxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gRG9uJ3QgcmV2ZWFsIGRldmljZSBJRHMgdW50aWwgdGhlIHVzZXIgaGFzIGdyYW50ZWQgcGVy
bWlzc2lvbiB0byBjYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTExMTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1Njk5OTMyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBleGlzdGluZyB0ZXN0cyB1cGRhdGVkLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYURldmljZXNSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRGV2aWNl
c1JlcXVlc3Q6OnN0YXJ0KTogRG9uJ3QgcmV2ZWFsIGRldmljZSBJRCBvciBncm91cCBJRCB1bnRp
bCB0aGUgdXNlciAKKyAgICAgICAgaGFzIGdyYW50ZWQgcGVybXNzaW9uIHRvIGNhcHR1cmUuCisK
IDIwMTgtMTAtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbV2ViIEFuaW1hdGlvbnNdIEltcGxlbWVudCB0aGUgdXBkYXRlIGFuaW1hdGlvbnMgYW5kIHNl
bmQgZXZlbnRzIHByb2NlZHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXNSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzUmVxdWVzdC5jcHAKaW5kZXggMjVkNTY1ZTczZjc4
NDFlOTk0ZGM1YzcwMzRiYmY2NGJkMGYyNTAyNy4uMjAzZDI0MDdmNWQzMDk5Y2FmM2QxN2E2Mjk2
ZTU4ZDE5NmEyNDkzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXNSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1JlcXVlc3QuY3BwCkBAIC0xMTUsMjEgKzExNSwyNCBA
QCB2b2lkIE1lZGlhRGV2aWNlc1JlcXVlc3Q6OnN0YXJ0KCkKICAgICAgICAgZG9jdW1lbnQuc2V0
RGV2aWNlSURIYXNoU2FsdChkZXZpY2VJZGVudGlmaWVySGFzaFNhbHQpOwogCiAgICAgICAgIFZl
Y3RvcjxSZWY8TWVkaWFEZXZpY2VJbmZvPj4gZGV2aWNlczsKKyAgICAgICAgYm9vbCByZXZlYWxJ
ZHNBbmRMYWJlbHMgPSBvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzIHx8IGRvY3VtZW50Lmhhc0hh
ZENhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCk7CiAgICAgICAgIGZvciAoYXV0byYgZGV2aWNlSW5m
byA6IGNhcHR1cmVEZXZpY2VzKSB7CiAgICAgICAgICAgICBhdXRvIGxhYmVsID0gZW1wdHlTdHJp
bmcoKTsKLSAgICAgICAgICAgIGlmIChvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzIHx8IGRvY3Vt
ZW50Lmhhc0hhZENhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCkpCisgICAgICAgICAgICBhdXRvIGlk
ID0gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgICAgIGF1dG8gZ3JvdXBJZCA9IGVtcHR5U3RyaW5n
KCk7CisgICAgICAgICAgICBpZiAocmV2ZWFsSWRzQW5kTGFiZWxzKSB7CiAgICAgICAgICAgICAg
ICAgbGFiZWwgPSBkZXZpY2VJbmZvLmxhYmVsKCk7CisgICAgICAgICAgICAgICAgaWQgPSBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5oYXNoU3RyaW5nV2l0aFNhbHQoZGV2
aWNlSW5mby5wZXJzaXN0ZW50SWQoKSwgZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KTsKKyAgICAg
ICAgICAgICAgICBpZiAoaWQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICBncm91cElkID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2luZ2xldG9uKCkuaGFzaFN0cmluZ1dpdGhTYWx0KGRldmljZUluZm8uZ3JvdXBJZCgpLCBkZXZp
Y2VJZGVudGlmaWVySGFzaFNhbHQpOworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBhdXRv
IGlkID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuaGFzaFN0cmluZ1dp
dGhTYWx0KGRldmljZUluZm8ucGVyc2lzdGVudElkKCksIGRldmljZUlkZW50aWZpZXJIYXNoU2Fs
dCk7Ci0gICAgICAgICAgICBpZiAoaWQuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotCi0gICAgICAgICAgICBhdXRvIGdyb3VwSWQgPSBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjpzaW5nbGV0b24oKS5oYXNoU3RyaW5nV2l0aFNhbHQoZGV2aWNlSW5mby5ncm91cElkKCks
IGRldmljZUlkZW50aWZpZXJIYXNoU2FsdCk7CiAgICAgICAgICAgICBhdXRvIGRldmljZVR5cGUg
PSBkZXZpY2VJbmZvLnR5cGUoKSA9PSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bo
b25lID8gTWVkaWFEZXZpY2VJbmZvOjpLaW5kOjpBdWRpb2lucHV0IDogTWVkaWFEZXZpY2VJbmZv
OjpLaW5kOjpWaWRlb2lucHV0OwogICAgICAgICAgICAgZGV2aWNlcy5hcHBlbmQoTWVkaWFEZXZp
Y2VJbmZvOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBsYWJlbCwgaWQsIGdyb3Vw
SWQsIGRldmljZVR5cGUpKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghb3JpZ2luSGFzUGVy
c2lzdGVudEFjY2VzcyAmJiAhZG9jdW1lbnQuaGFzSGFkQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2so
KSkKKyAgICAgICAgaWYgKCFyZXZlYWxJZHNBbmRMYWJlbHMpCiAgICAgICAgICAgICBmaWx0ZXJE
ZXZpY2VMaXN0KGRldmljZXMpOwogCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZGV2aWNlcyA9IFdURk1vdmUoZGV2aWNlcyldKCkgbXV0
YWJsZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZWFjMTEwZDczZDdmNzZmMjY2ZGQwMjg5ODkxMWViNTdjOTNmODZmMy4u
NjBhZTFiNDg3N2YwZTJiZjgzMGY2MmRhNzNhODA0YTcyNmNhNzE5YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDE4LTEwLTMxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29t
PgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0gRG9uJ3QgcmV2ZWFsIGRldmljZSBJRHMgdW50aWwg
dGhlIHVzZXIgaGFzIGdyYW50ZWQgcGVybWlzc2lvbiB0byBjYXB0dXJlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTExMTIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ1Njk5OTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwIGh0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1wZXJzaXN0ZW50Lmh0bWwKKyAg
ICAgICAgYW5kIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2Vz
LXNvdXJjZS1pZC5odG1sIGZvciBub3csIHRoZXkgZG9uJ3QgbWFrZSBzZW5zZQorICAgICAgICB3
aXRoIHRoZXNlIGNoYW5nZXMgYW5kIHdpbGwgYmUgdXBkYXRlZCB0byBwYXNzIGluIGEgZnV0dXJl
IHBhdGNoLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1nZXRD
YXBhYmlsaXRpZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2dldC11c2VyLW1l
ZGlhLWRldmljZS1pZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9n
ZXQtdXNlci1tZWRpYS1kZXZpY2UtaWQuaHRtbDoKKwogMjAxOC0xMC0yOCAgQW50b2luZSBRdWlu
dCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gSW1wbGVt
ZW50IHRoZSB1cGRhdGUgYW5pbWF0aW9ucyBhbmQgc2VuZCBldmVudHMgcHJvY2VkdXJlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA5Y2Q3MjgxMWQ1ZjJhMTVhNjc5NDA3OWU3Y2E5NTc0MGFmZDU1MmVh
Li42NDdlOTA5MTZlZWMxZTY2ZTRjNDIwNDM4OTYyMDViOTJjMGY4N2U1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTI5MDQsMyArMjkwNCw3IEBAIHdlYmtpdC5vcmcvYi8xOTAwMzIgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjb3Bpbmcva2V5ZnJhbWVzLTAwCiBmYXN0
L21lZGlhY2FwdHVyZWZyb21lbGVtZW50L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbS1pbWFnZWJp
dG1hcHJlbmRlcmluZ2NvbnRleHQuaHRtbCBbIFNraXAgXQogZmFzdC9tZWRpYWNhcHR1cmVmcm9t
ZWxlbWVudC9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW0tZnJhbWVyYXRlLTAuaHRtbCBbIFNraXAg
XQogZmFzdC9tZWRpYWNhcHR1cmVmcm9tZWxlbWVudC9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW0t
Y2FwdHVyZS1vdXQtb2YtRE9NLWVsZW1lbnQuaHRtbCBbIFNraXAgXQorCisjIEZJWE1FOiBUaGUg
YmVoYXZpb3Igb2YgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzIGlzIGlu
IGZsdXgsIHNraXAgdGhlc2UgdGVzdHMgZm9yIG5vdy4KK2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJjZS1pZC1wZXJzaXN0ZW50Lmh0bWwgWyBTa2lw
IF0KK2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2VudW1lcmF0ZS1kZXZpY2VzLXNvdXJj
ZS1pZC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2stZ2V0Q2FwYWJpbGl0aWVzLmh0bWwKaW5k
ZXggMDE3YzYwYzA4OTQyODNmYTY5NGEzOGQxMjYzMjg0NjcwNDViMDFlNC4uNzZiY2QyNjNlYzA2
YjkyYjk4Mjk2ODFhMzQxYTI3NmVlM2Q2NzY3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLWdldENhcGFiaWxpdGllcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1nZXRDYXBhYmls
aXRpZXMuaHRtbApAQCAtMiwxMSArMiwxMyBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgot
ICAgICAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZ2V0VXNlck1lZGlhLWhlbHBlci5qcyI+
PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICB2YXIgbWVkaWFTdHJlYW07
CiAgICAgICAgICAgICB2YXIgZGV2aWNlczsKIAorICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lv
bih0cnVlKTsKKwogICAgICAgICAgICAgZnVuY3Rpb24gbGltaXRQcmVjaXNpb24odmFsdWUsIHBy
ZWNpc2lvbikKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVl
ID09PSAic3RyaW5nIikKQEAgLTgwLDE2ICs4MiwxNiBAQAogICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBzdGFydCgp
CisgICAgICAgICAgICBhc3luYyBmdW5jdGlvbiBzdGFydCgpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIE1lZGlhU3RyZWFtVHJhY2suZ2V0Q2FwYWJp
bGl0aWVzLiIpOwotICAgICAgICAgICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVy
YXRlRGV2aWNlcygpLnRoZW4oZGV2aWNlSW5mb0FycmF5ID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgZGV2aWNlcyA9IGRldmljZUluZm9BcnJheTsKLSAgICAgICAgICAgICAgICAgICAgZ2V0VXNl
ck1lZGlhKCJhbGxvdyIsIHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtKTsKLSAg
ICAgICAgICAgICAgICB9LCBlID0+IHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgn
ZW51bWVyYXRlRGV2aWNlcyBmYWlsZWQ6JyArIGUpOwotICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgIG1lZGlh
U3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRp
bzp0cnVlLCB2aWRlbzp0cnVlIH0pOworICAgICAgICAgICAgICAgIGRldmljZXMgPSBhd2FpdCBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTsKKworICAgICAgICAgICAg
ICAgIGxpc3RUcmFja1Byb3BlcnRpZXMobWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXSk7
CisgICAgICAgICAgICAgICAgbGlzdFRyYWNrUHJvcGVydGllcyhtZWRpYVN0cmVhbS5nZXRBdWRp
b1RyYWNrcygpWzBdKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtdXNlci1tZWRpYS1kZXZpY2Ut
aWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtdXNlci1t
ZWRpYS1kZXZpY2UtaWQtZXhwZWN0ZWQudHh0CmluZGV4IGQxODdiNTQ4YWM3MDc5ZjBlYzMzZWRk
OTUxMDM0YWMzYzc2MDg1NDguLjA5OGE4MTIxNDIxNGNkZmM3OTMyOWQ2MTIyYzA3ZWExZDRhOGM4
ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVk
aWEtZGV2aWNlLWlkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL2dldC11c2VyLW1lZGlhLWRldmljZS1pZC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBA
CiAKK1BBU1MgRGV2aWNlIElEcyBzaG91bGQgYmUgZW1wdHkgaW5pdGlhbGx5IAogUEFTUyBDb2xs
ZWN0IGRldmljZSBJRHMgCiBQQVNTIFBhc3MgZGV2aWNlIElEcyBhcyBleGFjdCBjb25zdHJhaW50
cyAKIFBBU1MgUGFzcyBkZXZpY2UgSURzIGFzIG9wdGlvbmFsIGNvbnN0cmFpbnRzIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtdXNlci1tZWRpYS1kZXZpY2Ut
aWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LXVzZXItbWVkaWEtZGV2
aWNlLWlkLmh0bWwKaW5kZXggYWY1NDM4NjI1ZWFhZjBmODk5OWY4ODI3MDM0YWNhZmZjNTQ3ODNk
ZS4uY2M2ZjBlZThkMDA3YzNiMTQ5NzhjZTVlZjg0MzgxMjEzYzg3MTkzYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtdXNlci1tZWRpYS1kZXZpY2UtaWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC11c2VyLW1lZGlhLWRldmlj
ZS1pZC5odG1sCkBAIC0xNCwxMyArMTQsMjQgQEAKICAgICBwcm9taXNlX3Rlc3QoKHRlc3QpID0+
IHsKICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNl
cygpCiAgICAgICAgICAgICAudGhlbigoZGV2aWNlcykgPT4geworICAgICAgICAgICAgICAgIGRl
dmljZXMuZm9yRWFjaCgoZGV2aWNlKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90
cnVlKGRldmljZS5kZXZpY2VJZC5sZW5ndGggPT0gMCAsICJkZXZpY2UuZGV2aWNlSWQgaXMgZW1w
dHkgYmVmb3JlIHBlcm1pc3Npb24gdG8gY2FwdHVyZSIpOworICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgfSk7CisgICAgfSwgIkRldmljZSBJRHMgc2hvdWxkIGJlIGVtcHR5IGluaXRp
YWxseSIpOworICAgIAorICAgIHByb21pc2VfdGVzdCgodGVzdCkgPT4geworICAgICAgICByZXR1
cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzp0cnVlLCB2aWRl
bzp0cnVlIH0pCisgICAgICAgICAgICAudGhlbigoc3RyZWFtKSA9PiB7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpOworICAg
ICAgICAgICAgfSkudGhlbihkZXZpY2VzID0+IHsKICAgICAgICAgICAgICAgICBkZXZpY2VzLmZv
ckVhY2goKGRldmljZSkgPT4gewogICAgICAgICAgICAgICAgICAgICBsZXQga2luZCA9IGRldmlj
ZS5raW5kID09ICJhdWRpb2lucHV0IiA/ICJhdWRpbyIgOiAidmlkZW8iOwogICAgICAgICAgICAg
ICAgICAgICBkZXZpY2VJZHMucHVzaCh7IHR5cGU6IGtpbmQsIGlkIDogZGV2aWNlLmRldmljZUlk
fSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICB9LCAiQ29sbGVj
dCBkZXZpY2UgSURzIik7Ci0gICAgCisKICAgICBsZXQgY29uc3RyYWludHMgPSB7IH07CiAKICAg
ICBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>