<?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>185706</bug_id>
          
          <creation_ts>2018-05-16 17:26:46 -0700</creation_ts>
          <short_desc>[iOS] Update AirPlay route monitoring</short_desc>
          <delta_ts>2018-05-17 14:48:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1424552</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-16 17:26:46 -0700</bug_when>
    <thetext>Update the API used to monitor AirPlay routes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424553</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-16 17:28:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/40230677&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424762</commentid>
    <comment_count>2</comment_count>
      <attachid>340591</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-17 09:23:46 -0700</bug_when>
    <thetext>Created attachment 340591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424788</commentid>
    <comment_count>3</comment_count>
      <attachid>340591</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2018-05-17 10:27:42 -0700</bug_when>
    <thetext>Comment on attachment 340591
Patch

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

&gt; Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm:463
&gt; +        if (!protectedSelf-&gt;_callback)
&gt;              return;
&gt;  
&gt; -        _callback-&gt;applicationWillEnterForeground(isSuspendedUnderLock);
&gt; +        protectedSelf-&gt;_callback-&gt;applicationWillEnterForeground(isSuspendedUnderLock);

Nit: this and the next 4 instances of this pattern could have a reversed if case:

if (auto* callback = protectedSelf-&gt;callback)
    callback-&gt;applicationWillEnterForeground(isSuspendedUnderLock);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424825</commentid>
    <comment_count>4</comment_count>
      <attachid>340610</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-17 11:26:56 -0700</bug_when>
    <thetext>Created attachment 340610
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424833</commentid>
    <comment_count>5</comment_count>
      <attachid>340610</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-17 11:44:38 -0700</bug_when>
    <thetext>Comment on attachment 340610
Patch for landing

Clearing flags on attachment: 340610

Committed r231913: &lt;https://trac.webkit.org/changeset/231913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424903</commentid>
    <comment_count>6</comment_count>
      <attachid>340638</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-05-17 14:10:05 -0700</bug_when>
    <thetext>Created attachment 340638
Build fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424931</commentid>
    <comment_count>7</comment_count>
      <attachid>340638</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-17 14:48:54 -0700</bug_when>
    <thetext>Comment on attachment 340638
Build fix.

Clearing flags on attachment: 340638

Committed r231921: &lt;https://trac.webkit.org/changeset/231921&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340591</attachid>
            <date>2018-05-17 09:23:46 -0700</date>
            <delta_ts>2018-05-17 10:27:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185706-20180517092345.patch</filename>
            <type>text/plain</type>
            <size>15976</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmMjZhNWU3NmEwMjI4
YjM5ZGU0ZDA4YTNjZGVkNTE5ZTE0ZDgxMS4uM2NlMDM3MTNkODZhOGQwNDAxNzdhMjQ2NmM2YjBi
OWVkNmE5NzA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA1LTE2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVwZGF0
ZSBBaXJQbGF5IHJvdXRlIG1vbml0b3JpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTcwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDAyMzA2
Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IGFuIEFWUm91dGVEZXRlY3RvciBpbnN0ZWFkIG9mIGFuIE1QVm9sdW1lVmlldyBhbmQgYW4gTVBB
VlJvdXRpbmdDb250cm9sbGVyIGZvciBBaXJQbGF5CisgICAgICAgIHJvdXRlIGRldGVjdGlvbiBh
bmQgYXZhaWxhYmlsaXR5IG1vbml0b3JpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0ZXN0
ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6aGFzV2lyZWxlc3NQbGF5YmFj
a1RhcmdldHMpOiBObyBuZWVkIHRvIHVwZGF0ZSBtX2hhc1BsYXliYWNrVGFyZ2V0cworICAgICAg
ICBtYW51YWxseSwgaXQgaXMgYWx3YXlzIHVwZGF0ZWQgYnkgdGhlIHNlc3Npb24gbWFuYWdlciB3
aGVuIHJvdXRlIGF2YWlsYWJpbGl0eSBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW06CisgICAgICAgICgtW1dlYk1lZGlhU2Vz
c2lvbkhlbHBlciBkZWFsbG9jXSk6IFB1bGwgdGhlIGxvZ2ljIGZyb20gc2FmZWx5VGVhckRvd24g
aW5saW5lLgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgaGFzV2lyZWxlc3NUYXJn
ZXRzQXZhaWxhYmxlXSk6IFVzZSB0aGUgQVZSb3V0ZURldGVjdG9yLgorICAgICAgICAoLVtXZWJN
ZWRpYVNlc3Npb25IZWxwZXIgc3RhcnRNb25pdG9yaW5nQWlyUGxheVJvdXRlc10pOiBEaXR0by4g
IFNpbXBsaWZ5IGxvZ2ljLCB0aGVyZSBpcyBubworICAgICAgICBuZWVkIHRvIGRpc3BhdGNoIHR3
aWNlLgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgc3RvcE1vbml0b3JpbmdBaXJQ
bGF5Um91dGVzXSk6IERvbid0IHJlbGVhc2UgdGhlIHJvdXRlIGRldGVjdG9yCisgICAgICAgIGNv
bXBsZXRlbHksIGp1c3QgZGlzYWJsZSByb3V0ZSBkZXRlY3Rpb24sIGJlY2F1c2UgQVZSb3V0ZURl
dGVjdG9yIGlzIGEgbGlnaHR3ZWlnaHQgb2JqZWN0IHNvCisgICAgICAgIGl0IGlzIG5vdCB3b3J0
aCB0aGUgb3ZlcmhlYWQgb2YgZGVhbGxvYy9yZWFsbG9jIHRvIGRpc2FibGUvZW5hYmxlIHJvdXRl
IGRldGVjdGlvbi4KKyAgICAgICAgKC1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGludGVycnVwdGlv
bjpdKTogVXNlIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZAorICAg
ICAgICBpbnN0ZWFkIG9mIFdlYlRocmVhZFJ1biBzbyBpdCB3b3JrcyBjb3JyZWN0bHkgaW4gV0sy
IGFzIHdlbGwgYXMgaW4gV0sxLgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgYXBw
bGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViTWVk
aWFTZXNzaW9uSGVscGVyIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlOl0pOiBEaXR0by4KKyAg
ICAgICAgKC1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZTpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciB3aXJlbGVzc1Jv
dXRlc0F2YWlsYWJsZURpZENoYW5nZTpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYk1lZGlhU2Vz
c2lvbkhlbHBlciBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZDpdKTogRGl0dG8uCisgICAg
ICAgIChzYWZlbHlUZWFyRG93bik6IERlbGV0ZWQuCisKIDIwMTgtMDUtMTYgIEFudG9pbmUgUXVp
bnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjMwNTc0KTog
SW50ZXJydXB0ZWQgaGFyZHdhcmUgdHJhbnNpdGlvbnMgZG9uJ3QgYmVoYXZlIGNvcnJlY3RseQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggYzJiZDc5
YTZkMTYxM2U0NmVkNmYwNDY2NDI4MGNjOTUwMjkwZWE5OS4uMDNiMTA2MDQ1YzZkYzA1NWM1YTMw
YWE5YmQ1OTM0ZjM2OTgzODM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwCkBAIC01NDksMTEgKzU0OSw2IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lv
bjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKCkKIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpoYXNXaXJlbGVzc1BsYXliYWNrVGFyZ2V0cygpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oSU9T
KQotICAgIC8vIEZJWE1FOiBjb25zb2xpZGF0ZSBNYWMgYW5kIGlPUyBpbXBsZW1lbnRhdGlvbnMK
LSAgICBtX2hhc1BsYXliYWNrVGFyZ2V0cyA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcigpLmhhc1dpcmVsZXNzVGFyZ2V0c0F2YWlsYWJsZSgpOwotI2VuZGlmCi0K
ICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAicmV0dXJuaW5nICIsIG1faGFzUGxheWJhY2tU
YXJnZXRzKTsKIAogICAgIHJldHVybiBtX2hhc1BsYXliYWNrVGFyZ2V0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFn
ZXJJT1MubW0KaW5kZXggOGIwYmIzNGViNjJiZGY5NWU4YWY2NDhiMWQyYTc1ZmYxZGNiYzdjYS4u
YTUwYjIzN2MzODg3NTU5YmQwYThjNjg5YTZiYzA5NzE4ODU1MDM4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFn
ZXJJT1MubW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIlN5c3RlbU1lbW9yeS5oIgogI2lt
cG9ydCAiV2ViQ29yZVRocmVhZFJ1bi5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9T
ZXNzaW9uLmg+CisjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZSb3V0ZURldGVjdG9yLmg+CiAjaW1w
b3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNp
bXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CkBAIC00NSwxNSArNDYsMTYgQEAKICNp
ZiBIQVZFKE1FRElBX1BMQVlFUikKICNpbXBvcnQgPE1lZGlhUGxheWVyL01QTWVkaWFJdGVtLmg+
CiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE5vd1BsYXlpbmdJbmZvQ2VudGVyLmg+Ci0jaW1wb3J0
IDxNZWRpYVBsYXllci9NUFZvbHVtZVZpZXcuaD4KICNpbXBvcnQgPHBhbC9zcGkvaW9zL01lZGlh
UGxheWVyU1BJLmg+CiAjZW5kaWYKIAogU09GVF9MSU5LX0ZSQU1FV09SSyhBVkZvdW5kYXRpb24p
CiBTT0ZUX0xJTktfQ0xBU1MoQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbikKK1NPRlRfTElO
S19DTEFTUyhBVkZvdW5kYXRpb24sIEFWUm91dGVEZXRlY3RvcikKIFNPRlRfTElOS19QT0lOVEVS
KEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24sIE5T
U3RyaW5nICopCiBTT0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9u
SW50ZXJydXB0aW9uVHlwZUtleSwgTlNTdHJpbmcgKikKIFNPRlRfTElOS19QT0lOVEVSKEFWRm91
bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PcHRpb25LZXksIE5TU3RyaW5nICop
CitTT0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRpb24sIEFWUm91dGVEZXRlY3Rvck11bHRpcGxl
Um91dGVzRGV0ZWN0ZWREaWRDaGFuZ2VOb3RpZmljYXRpb24sIE5TU3RyaW5nICopCiAKICNkZWZp
bmUgQVZBdWRpb1Nlc3Npb24gZ2V0QVZBdWRpb1Nlc3Npb25DbGFzcygpCiAjZGVmaW5lIEFWQXVk
aW9TZXNzaW9uSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uIGdldEFWQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uTm90aWZpY2F0aW9uKCkKQEAgLTc1LDIxICs3NywxNyBAQCBTT0ZUX0xJTktfUE9JTlRF
UihVSUtpdCwgVUlBcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiwgTlNT
dHJpbmcgKgogCiAjaWYgSEFWRShNRURJQV9QTEFZRVIpCiBTT0ZUX0xJTktfRlJBTUVXT1JLKE1l
ZGlhUGxheWVyKQotU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUEFWUm91dGluZ0NvbnRy
b2xsZXIpCiBTT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1QTm93UGxheWluZ0luZm9DZW50
ZXIpCi1TT0ZUX0xJTktfQ0xBU1MoTWVkaWFQbGF5ZXIsIE1QVm9sdW1lVmlldykKIFNPRlRfTElO
S19QT0lOVEVSKE1lZGlhUGxheWVyLCBNUE1lZGlhSXRlbVByb3BlcnR5VGl0bGUsIE5TU3RyaW5n
ICopCiBTT0ZUX0xJTktfUE9JTlRFUihNZWRpYVBsYXllciwgTVBNZWRpYUl0ZW1Qcm9wZXJ0eVBs
YXliYWNrRHVyYXRpb24sIE5TU3RyaW5nICopCiBTT0ZUX0xJTktfUE9JTlRFUihNZWRpYVBsYXll
ciwgTVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5RWxhcHNlZFBsYXliYWNrVGltZSwgTlNTdHJpbmcg
KikKIFNPRlRfTElOS19QT0lOVEVSKE1lZGlhUGxheWVyLCBNUE5vd1BsYXlpbmdJbmZvUHJvcGVy
dHlQbGF5YmFja1JhdGUsIE5TU3RyaW5nICopCi1TT0ZUX0xJTktfUE9JTlRFUihNZWRpYVBsYXll
ciwgTVBWb2x1bWVWaWV3V2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2VOb3RpZmljYXRp
b24sIE5TU3RyaW5nICopCiBTT0ZUX0xJTktfUE9JTlRFUihNZWRpYVBsYXllciwga01STWVkaWFS
ZW1vdGVOb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIsIE5TU3RyaW5nICopCiAKICNkZWZp
bmUgTVBNZWRpYUl0ZW1Qcm9wZXJ0eVRpdGxlIGdldE1QTWVkaWFJdGVtUHJvcGVydHlUaXRsZSgp
CiAjZGVmaW5lIE1QTWVkaWFJdGVtUHJvcGVydHlQbGF5YmFja0R1cmF0aW9uIGdldE1QTWVkaWFJ
dGVtUHJvcGVydHlQbGF5YmFja0R1cmF0aW9uKCkKICNkZWZpbmUgTVBOb3dQbGF5aW5nSW5mb1By
b3BlcnR5RWxhcHNlZFBsYXliYWNrVGltZSBnZXRNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlFbGFw
c2VkUGxheWJhY2tUaW1lKCkKICNkZWZpbmUgTVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5UGxheWJh
Y2tSYXRlIGdldE1QTm93UGxheWluZ0luZm9Qcm9wZXJ0eVBsYXliYWNrUmF0ZSgpCi0jZGVmaW5l
IE1QVm9sdW1lVmlld1dpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlTm90aWZpY2F0aW9u
IGdldE1QVm9sdW1lVmlld1dpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlTm90aWZpY2F0
aW9uKCkKICNkZWZpbmUga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZp
ZXIgZ2V0a01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1VuaXF1ZUlkZW50aWZpZXIoKQogI2Vu
ZGlmIC8vIEhBVkUoTUVESUFfUExBWUVSKQogCkBAIC0xMDMsMTIgKzEwMSw5IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJNZWRpYVNlc3Npb25IZWxwZXIgOiBOU09i
amVjdCB7CiAgICAgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUyogX2NhbGxiYWNrOwogCi0jaWYgSEFW
RShNRURJQV9QTEFZRVIpCi0gICAgUmV0YWluUHRyPE1QVm9sdW1lVmlldz4gX3ZvbHVtZVZpZXc7
Ci0gICAgUmV0YWluUHRyPE1QQVZSb3V0aW5nQ29udHJvbGxlcj4gX2FpclBsYXlQcmVzZW5jZVJv
dXRpbmdDb250cm9sbGVyOworICAgIFJldGFpblB0cjxBVlJvdXRlRGV0ZWN0b3I+IF9yb3V0ZURl
dGVjdG9yOwogICAgIGJvb2wgX21vbml0b3JpbmdBaXJQbGF5Um91dGVzOwogICAgIGJvb2wgX3N0
YXJ0TW9uaXRvcmluZ0FpclBsYXlSb3V0ZXNQZW5kaW5nOwotI2VuZGlmCiB9CiAKIC0gKGlkKWlu
aXRXaXRoQ2FsbGJhY2s6KE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1MqKWNhbGxiYWNrOwpAQCAtMzQ1
LDI5ICszNDAsMjEgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZSgpCiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKLSNpZiBI
QVZFKE1FRElBX1BMQVlFUikKLXN0YXRpYyB2b2lkIHNhZmVseVRlYXJEb3duKFJldGFpblB0cjxN
UFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcsIFJldGFpblB0cjxNUEFWUm91dGluZ0NvbnRyb2xsZXI+
IHJvdXRpbmdDb250cm9sbGVyKQotewotICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCksIFt2b2x1bWVWaWV3ID0gV1RGTW92ZSh2b2x1bWVWaWV3KSwgcm91dGluZ0Nv
bnRyb2xsZXIgPSBXVEZNb3ZlKHJvdXRpbmdDb250cm9sbGVyKV0gKCkgbXV0YWJsZSB7Ci0gICAg
ICAgIExPRyhNZWRpYSwgInNhZmVseVRlYXJEb3duIC0gZGlwYXRjaGVkIHRvIFVJIHRocmVhZC4i
KTsKLSAgICAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TCi0gICAgICAgIFtyb3V0aW5n
Q29udHJvbGxlciBzZXREaXNjb3ZlcnlNb2RlOk1QUm91dGVEaXNjb3ZlcnlNb2RlRGlzYWJsZWRd
OwotICAgICAgICB2b2x1bWVWaWV3LmNsZWFyKCk7Ci0gICAgICAgIHJvdXRpbmdDb250cm9sbGVy
LmNsZWFyKCk7Ci0gICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlMKLSAgICB9KTsKLX0K
LSNlbmRpZgotCiAtICh2b2lkKWRlYWxsb2MKIHsKICAgICBMT0coTWVkaWEsICItW1dlYk1lZGlh
U2Vzc2lvbkhlbHBlciBkZWFsbG9jXSIpOwogCiAjaWYgSEFWRShNRURJQV9QTEFZRVIpCi0gICAg
aWYgKCFwdGhyZWFkX21haW5fbnAoKSkKLSAgICAgICAgc2FmZWx5VGVhckRvd24oV1RGTW92ZShf
dm9sdW1lVmlldyksIFdURk1vdmUoX2FpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9sbGVyKSk7
Ci0gICAgZWxzZQotICAgICAgICBbX2FpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9sbGVyIHNl
dERpc2NvdmVyeU1vZGU6TVBSb3V0ZURpc2NvdmVyeU1vZGVEaXNhYmxlZF07CisgICAgaWYgKCFw
dGhyZWFkX21haW5fbnAoKSkgeworICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRf
bWFpbl9xdWV1ZSgpLCBbcm91dGVEZXRlY3RvciA9IFdURk1vdmUoX3JvdXRlRGV0ZWN0b3IpXSAo
KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgInNhZmVseVRlYXJEb3duIC0gZGlw
YXRjaGVkIHRvIFVJIHRocmVhZC4iKTsKKyAgICAgICAgICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUworICAgICAgICAgICAgcm91dGVEZXRlY3Rvci5nZXQoKS5yb3V0ZURldGVjdGlvbkVu
YWJsZWQgPSBOTzsKKyAgICAgICAgICAgIHJvdXRlRGV0ZWN0b3IuY2xlYXIoKTsKKyAgICAgICAg
ICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlMKKyAgICAgICAgfSk7CisgICAgfSBlbHNlCisg
ICAgICAgIF9yb3V0ZURldGVjdG9yLmdldCgpLnJvdXRlRGV0ZWN0aW9uRW5hYmxlZCA9IE5POwog
I2VuZGlmCiAKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92
ZU9ic2VydmVyOnNlbGZdOwpAQCAtMzgzLDExICszNzAsNyBAQCBzdGF0aWMgdm9pZCBzYWZlbHlU
ZWFyRG93bihSZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRhaW5QdHI8TVBB
VlJvdQogLSAoQk9PTCloYXNXaXJlbGVzc1RhcmdldHNBdmFpbGFibGUKIHsKICAgICBMT0coTWVk
aWEsICItW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBoYXNXaXJlbGVzc1RhcmdldHNBdmFpbGFibGVd
Iik7Ci0jaWYgSEFWRShNRURJQV9QTEFZRVIpCi0gICAgcmV0dXJuIF92b2x1bWVWaWV3ID8gW192
b2x1bWVWaWV3IGFyZVdpcmVsZXNzUm91dGVzQXZhaWxhYmxlXSA6IE5POwotI2Vsc2UKLSAgICBy
ZXR1cm4gTk87Ci0jZW5kaWYKKyAgICByZXR1cm4gX3JvdXRlRGV0ZWN0b3IuZ2V0KCkubXVsdGlw
bGVSb3V0ZXNEZXRlY3RlZDsKIH0KIAogI2lmIEhBVkUoTUVESUFfUExBWUVSKQpAQCAtNDAxLDM4
ICszODQsMjcgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRvd24oUmV0YWluUHRyPE1QVm9sdW1l
Vmlldz4gdm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UKICAgICBpZiAoX3N0YXJ0TW9uaXRv
cmluZ0FpclBsYXlSb3V0ZXNQZW5kaW5nKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoX3Jv
dXRlRGV0ZWN0b3IpIHsKKyAgICAgICAgX3JvdXRlRGV0ZWN0b3IuZ2V0KCkucm91dGVEZXRlY3Rp
b25FbmFibGVkID0gWUVTOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgX3N0YXJ0TW9u
aXRvcmluZ0FpclBsYXlSb3V0ZXNQZW5kaW5nID0gdHJ1ZTsKIAogICAgIExPRyhNZWRpYSwgIi1b
V2ViTWVkaWFTZXNzaW9uSGVscGVyIHN0YXJ0TW9uaXRvcmluZ0FpclBsYXlSb3V0ZXNdIik7CiAK
LSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcHJvdGVjdGVk
U2VsZiA9IFJldGFpblB0cjxXZWJNZWRpYVNlc3Npb25IZWxwZXI+KHNlbGYpXSAoKSBtdXRhYmxl
IHsKLSAgICAgICAgTE9HKE1lZGlhLCAiLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgc3RhcnRNb25p
dG9yaW5nQWlyUGxheVJvdXRlc10gLSBkaXBhdGNoZWQgdG8gbWFpbiBxdWV1ZSIpOworICAgIGNh
bGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZChbcHJvdGVjdGVkU2VsZiA9
IFdURk1vdmUoc2VsZildKCkgbXV0YWJsZSB7CisgICAgICAgIEFTU0VSVCghcHJvdGVjdGVkU2Vs
Zi0+X3JvdXRlRGV0ZWN0b3IpOwogCi0gICAgICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UwotICAgICAgICBSZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3ID0gYWRvcHROUyhb
YWxsb2NNUFZvbHVtZVZpZXdJbnN0YW5jZSgpIGluaXRdKTsKLSAgICAgICAgUmV0YWluUHRyPE1Q
QVZSb3V0aW5nQ29udHJvbGxlcj4gcm91dGluZ0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY01Q
QVZSb3V0aW5nQ29udHJvbGxlckluc3RhbmNlKCkgaW5pdFdpdGhOYW1lOkAiV2ViQ29yZSAtIEhU
TUwgbWVkaWEgZWxlbWVudCBjaGVja2luZyBmb3IgQWlyUGxheSByb3V0ZSBwcmVzZW5jZSJdKTsK
LQotICAgICAgICBbcm91dGluZ0NvbnRyb2xsZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlz
Y292ZXJ5TW9kZVByZXNlbmNlXTsKLQotICAgICAgICBjYWxsT25XZWJUaHJlYWRPckRpc3BhdGNo
QXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYp
LCB2b2x1bWVWaWV3ID0gV1RGTW92ZSh2b2x1bWVWaWV3KSwgcm91dGluZ0NvbnRyb2xsZXIgPSBX
VEZNb3ZlKHJvdXRpbmdDb250cm9sbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHByb3Rl
Y3RlZFNlbGYtPl9jYWxsYmFjaykgeworICAgICAgICAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENF
UFRJT05TCisgICAgICAgICAgICBwcm90ZWN0ZWRTZWxmLT5fcm91dGVEZXRlY3RvciA9IGFkb3B0
TlMoW2FsbG9jQVZSb3V0ZURldGVjdG9ySW5zdGFuY2UoKSBpbml0XSk7CisgICAgICAgICAgICBw
cm90ZWN0ZWRTZWxmLT5fcm91dGVEZXRlY3Rvci5nZXQoKS5yb3V0ZURldGVjdGlvbkVuYWJsZWQg
PSBwcm90ZWN0ZWRTZWxmLT5fbW9uaXRvcmluZ0FpclBsYXlSb3V0ZXM7CisgICAgICAgICAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnByb3RlY3Rl
ZFNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKHdpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdl
OikgbmFtZTpnZXRBVlJvdXRlRGV0ZWN0b3JNdWx0aXBsZVJvdXRlc0RldGVjdGVkRGlkQ2hhbmdl
Tm90aWZpY2F0aW9uKCkgb2JqZWN0OnByb3RlY3RlZFNlbGYtPl9yb3V0ZURldGVjdG9yLmdldCgp
XTsKIAogICAgICAgICAgICAgcHJvdGVjdGVkU2VsZi0+X3N0YXJ0TW9uaXRvcmluZ0FpclBsYXlS
b3V0ZXNQZW5kaW5nID0gZmFsc2U7Ci0KLSAgICAgICAgICAgIGlmICghcHJvdGVjdGVkU2VsZi0+
X21vbml0b3JpbmdBaXJQbGF5Um91dGVzKSB7Ci0gICAgICAgICAgICAgICAgc2FmZWx5VGVhckRv
d24oV1RGTW92ZSh2b2x1bWVWaWV3KSwgV1RGTW92ZShyb3V0aW5nQ29udHJvbGxlcikpOwotICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgQVNTRVJU
KCFwcm90ZWN0ZWRTZWxmLT5fdm9sdW1lVmlldyk7Ci0gICAgICAgICAgICBwcm90ZWN0ZWRTZWxm
LT5fdm9sdW1lVmlldyA9IHZvbHVtZVZpZXc7Ci0KLSAgICAgICAgICAgIFtbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6cHJvdGVjdGVkU2VsZi5nZXQoKSBz
ZWxlY3RvcjpAc2VsZWN0b3Iod2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2U6KSBuYW1l
Ok1QVm9sdW1lVmlld1dpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlTm90aWZpY2F0aW9u
IG9iamVjdDp2b2x1bWVWaWV3LmdldCgpXTsKLQotICAgICAgICAgICAgQVNTRVJUKCFwcm90ZWN0
ZWRTZWxmLT5fYWlyUGxheVByZXNlbmNlUm91dGluZ0NvbnRyb2xsZXIpOwotICAgICAgICAgICAg
cHJvdGVjdGVkU2VsZi0+X2FpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9sbGVyID0gcm91dGlu
Z0NvbnRyb2xsZXI7Ci0gICAgICAgIH0pOwotICAgICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TCi0KKyAgICAgICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlMKKyAgICAgICAgfQog
ICAgIH0pOwogfQogCkBAIC00NDEsMjAgKzQxMywxMCBAQCBzdGF0aWMgdm9pZCBzYWZlbHlUZWFy
RG93bihSZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRhaW5QdHI8TVBBVlJv
dQogICAgIGlmICghX21vbml0b3JpbmdBaXJQbGF5Um91dGVzKQogICAgICAgICByZXR1cm47CiAK
LSAgICBfbW9uaXRvcmluZ0FpclBsYXlSb3V0ZXMgPSBmYWxzZTsKLQogICAgIExPRyhNZWRpYSwg
Ii1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIHN0b3BNb25pdG9yaW5nQWlyUGxheVJvdXRlc10iKTsK
IAotICAgIFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcgPSBfdm9sdW1lVmlldzsK
LSAgICBSZXRhaW5QdHI8TVBBVlJvdXRpbmdDb250cm9sbGVyPiBhaXJQbGF5UHJlc2VuY2VSb3V0
aW5nQ29udHJvbGxlciA9IF9haXJQbGF5UHJlc2VuY2VSb3V0aW5nQ29udHJvbGxlcjsKLQotICAg
IF92b2x1bWVWaWV3LmNsZWFyKCk7Ci0gICAgX2FpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9s
bGVyLmNsZWFyKCk7Ci0KLSAgICBpZiAodm9sdW1lVmlldykKLSAgICAgICAgW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TVBWb2x1
bWVWaWV3V2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0
OnZvbHVtZVZpZXcuZ2V0KCldOwotCi0gICAgc2FmZWx5VGVhckRvd24oV1RGTW92ZSh2b2x1bWVW
aWV3KSwgV1RGTW92ZShhaXJQbGF5UHJlc2VuY2VSb3V0aW5nQ29udHJvbGxlcikpOworICAgIF9t
b25pdG9yaW5nQWlyUGxheVJvdXRlcyA9IGZhbHNlOworICAgIF9yb3V0ZURldGVjdG9yLmdldCgp
LnJvdXRlRGV0ZWN0aW9uRW5hYmxlZCA9IE5POwogfQogI2VuZGlmIC8vIEhBVkUoTUVESUFfUExB
WUVSKQogCkBAIC00NzEsMTQgKzQzMywxNCBAQCBzdGF0aWMgdm9pZCBzYWZlbHlUZWFyRG93bihS
ZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRhaW5QdHI8TVBBVlJvdQogICAg
IGlmICh0eXBlID09IEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uVHlwZUVuZGVkICYmIFtbW25v
dGlmaWNhdGlvbiB1c2VySW5mb10gb2JqZWN0Rm9yS2V5OkFWQXVkaW9TZXNzaW9uSW50ZXJydXB0
aW9uT3B0aW9uS2V5XSB1bnNpZ25lZEludGVnZXJWYWx1ZV0gPT0gQVZBdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb25PcHRpb25TaG91bGRSZXN1bWUpCiAgICAgICAgIGZsYWdzID0gUGxhdGZvcm1NZWRp
YVNlc3Npb246Ok1heVJlc3VtZVBsYXlpbmc7CiAKLSAgICBXZWJUaHJlYWRSdW4oXnsKLSAgICAg
ICAgaWYgKCFfY2FsbGJhY2spCisgICAgY2FsbE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25N
YWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShzZWxmKSwgdHlwZSwgZmxhZ3NdKCkg
bXV0YWJsZSB7CisgICAgICAgIGlmICghcHJvdGVjdGVkU2VsZi0+X2NhbGxiYWNrKQogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICh0eXBlID09IEFWQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uVHlwZUJlZ2FuKQotICAgICAgICAgICAgX2NhbGxiYWNrLT5iZWdpbkludGVycnVwdGlv
bihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3lzdGVtSW50ZXJydXB0aW9uKTsKKyAgICAgICAgICAg
IHByb3RlY3RlZFNlbGYtPl9jYWxsYmFjay0+YmVnaW5JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRp
YVNlc3Npb246OlN5c3RlbUludGVycnVwdGlvbik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
IF9jYWxsYmFjay0+ZW5kSW50ZXJydXB0aW9uKGZsYWdzKTsKKyAgICAgICAgICAgIHByb3RlY3Rl
ZFNlbGYtPl9jYWxsYmFjay0+ZW5kSW50ZXJydXB0aW9uKGZsYWdzKTsKIAogICAgIH0pOwogfQpA
QCAtNDk0LDExICs0NTYsMTEgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRvd24oUmV0YWluUHRy
PE1QVm9sdW1lVmlldz4gdm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UKIAogICAgIEJPT0wg
aXNTdXNwZW5kZWRVbmRlckxvY2sgPSBbW1tub3RpZmljYXRpb24gdXNlckluZm9dIG9iamVjdEZv
cktleTpAImlzU3VzcGVuZGVkVW5kZXJMb2NrIl0gYm9vbFZhbHVlXTsKIAotICAgIFdlYlRocmVh
ZFJ1biheewotICAgICAgICBpZiAoIV9jYWxsYmFjaykKKyAgICBjYWxsT25XZWJUaHJlYWRPckRp
c3BhdGNoQXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHNlbGYpLCBp
c1N1c3BlbmRlZFVuZGVyTG9ja10oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFwcm90ZWN0ZWRT
ZWxmLT5fY2FsbGJhY2spCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgX2NhbGxiYWNr
LT5hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoaXNTdXNwZW5kZWRVbmRlckxvY2spOwor
ICAgICAgICBwcm90ZWN0ZWRTZWxmLT5fY2FsbGJhY2stPmFwcGxpY2F0aW9uV2lsbEVudGVyRm9y
ZWdyb3VuZChpc1N1c3BlbmRlZFVuZGVyTG9jayk7CiAgICAgfSk7CiB9CiAKQEAgLTUxMSwxMSAr
NDczLDExIEBAIHN0YXRpYyB2b2lkIHNhZmVseVRlYXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZp
ZXc+IHZvbHVtZVZpZXcsIFJldGFpblB0cjxNUEFWUm91CiAKICAgICBMT0coTWVkaWEsICItW1dl
Yk1lZGlhU2Vzc2lvbkhlbHBlciBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZV0iKTsKIAotICAg
IFdlYlRocmVhZFJ1biheewotICAgICAgICBpZiAoIV9jYWxsYmFjaykKKyAgICBjYWxsT25XZWJU
aHJlYWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3Zl
KHNlbGYpXSgpIG11dGFibGUgeworICAgICAgICBpZiAoIXByb3RlY3RlZFNlbGYtPl9jYWxsYmFj
aykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBfY2FsbGJhY2stPmFwcGxpY2F0aW9u
RGlkQmVjb21lQWN0aXZlKCk7CisgICAgICAgIHByb3RlY3RlZFNlbGYtPl9jYWxsYmFjay0+YXBw
bGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKICAgICB9KTsKIH0KIApAQCAtNTI4LDExICs0OTAs
MTEgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRvd24oUmV0YWluUHRyPE1QVm9sdW1lVmlldz4g
dm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UKIAogICAgIExPRyhNZWRpYSwgIi1bV2ViTWVk
aWFTZXNzaW9uSGVscGVyIGFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZV0iKTsKIAotICAgIFdl
YlRocmVhZFJ1biheewotICAgICAgICBpZiAoIV9jYWxsYmFjaykKKyAgICBjYWxsT25XZWJUaHJl
YWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHNl
bGYpXSgpIG11dGFibGUgeworICAgICAgICBpZiAoIXByb3RlY3RlZFNlbGYtPl9jYWxsYmFjaykK
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBfY2FsbGJhY2stPmFwcGxpY2F0aW9uV2ls
bEJlY29tZUluYWN0aXZlKCk7CisgICAgICAgIHByb3RlY3RlZFNlbGYtPl9jYWxsYmFjay0+YXBw
bGljYXRpb25XaWxsQmVjb21lSW5hY3RpdmUoKTsKICAgICB9KTsKIH0KIApAQCAtNTQwLDE2ICs1
MDIsMTYgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRvd24oUmV0YWluUHRyPE1QVm9sdW1lVmll
dz4gdm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UKIHsKICAgICBVTlVTRURfUEFSQU0obm90
aWZpY2F0aW9uKTsKIAotICAgIGlmICghX2NhbGxiYWNrKQorICAgIGlmICghX2NhbGxiYWNrIHx8
ICFfbW9uaXRvcmluZ0FpclBsYXlSb3V0ZXMpCiAgICAgICAgIHJldHVybjsKIAogICAgIExPRyhN
ZWRpYSwgIi1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIHdpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlk
Q2hhbmdlXSIpOwogCi0gICAgV2ViVGhyZWFkUnVuKF57Ci0gICAgICAgIGlmICghX2NhbGxiYWNr
KQorICAgIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZChbcHJvdGVj
dGVkU2VsZiA9IFdURk1vdmUoc2VsZildKCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghcHJvdGVj
dGVkU2VsZi0+X2NhbGxiYWNrKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIF9jYWxs
YmFjay0+ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoKTsKKyAgICAgICAg
cHJvdGVjdGVkU2VsZi0+X2NhbGxiYWNrLT5leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURp
ZENoYW5nZSgpOwogICAgIH0pOwogfQogCkBAIC01NjIsMTEgKzUyNCwxMSBAQCBzdGF0aWMgdm9p
ZCBzYWZlbHlUZWFyRG93bihSZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRh
aW5QdHI8TVBBVlJvdQogCiAgICAgQk9PTCBpc1N1c3BlbmRlZFVuZGVyTG9jayA9IFtbW25vdGlm
aWNhdGlvbiB1c2VySW5mb10gb2JqZWN0Rm9yS2V5OkAiaXNTdXNwZW5kZWRVbmRlckxvY2siXSBi
b29sVmFsdWVdOwogCi0gICAgV2ViVGhyZWFkUnVuKF57Ci0gICAgICAgIGlmICghX2NhbGxiYWNr
KQorICAgIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZChbcHJvdGVj
dGVkU2VsZiA9IFdURk1vdmUoc2VsZiksIGlzU3VzcGVuZGVkVW5kZXJMb2NrXSgpIG11dGFibGUg
eworICAgICAgICBpZiAoIXByb3RlY3RlZFNlbGYtPl9jYWxsYmFjaykKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBfY2FsbGJhY2stPmFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5k
KGlzU3VzcGVuZGVkVW5kZXJMb2NrKTsKKyAgICAgICAgcHJvdGVjdGVkU2VsZi0+X2NhbGxiYWNr
LT5hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZChpc1N1c3BlbmRlZFVuZGVyTG9jayk7CiAg
ICAgfSk7CiB9CiBAZW5kCg==
</data>
<flag name="review"
          id="358839"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340610</attachid>
            <date>2018-05-17 11:26:56 -0700</date>
            <delta_ts>2018-05-17 11:44:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-185706-20180517112655.patch</filename>
            <type>text/plain</type>
            <size>16212</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmMjZhNWU3NmEwMjI4
YjM5ZGU0ZDA4YTNjZGVkNTE5ZTE0ZDgxMS4uYWE0N2YzNWIxMDkxYzBmYWExYzVhMTY2NDhmNmI5
YTkxMDI0NDlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA1LTE2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVwZGF0
ZSBBaXJQbGF5IHJvdXRlIG1vbml0b3JpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTcwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDAyMzA2
Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIFVzZSBhbiBB
VlJvdXRlRGV0ZWN0b3IgaW5zdGVhZCBvZiBhbiBNUFZvbHVtZVZpZXcgYW5kIGFuIE1QQVZSb3V0
aW5nQ29udHJvbGxlciBmb3IgQWlyUGxheQorICAgICAgICByb3V0ZSBkZXRlY3Rpb24gYW5kIGF2
YWlsYWJpbGl0eSBtb25pdG9yaW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdGVzdGVkIG1h
bnVhbGx5LgorCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246Omhhc1dpcmVsZXNzUGxheWJhY2tUYXJn
ZXRzKTogTm8gbmVlZCB0byB1cGRhdGUgbV9oYXNQbGF5YmFja1RhcmdldHMKKyAgICAgICAgbWFu
dWFsbHksIGl0IGlzIGFsd2F5cyB1cGRhdGVkIGJ5IHRoZSBzZXNzaW9uIG1hbmFnZXIgd2hlbiBy
b3V0ZSBhdmFpbGFiaWxpdHkgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2lv
cy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tOgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25I
ZWxwZXIgZGVhbGxvY10pOiBQdWxsIHRoZSBsb2dpYyBmcm9tIHNhZmVseVRlYXJEb3duIGlubGlu
ZS4KKyAgICAgICAgKC1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGhhc1dpcmVsZXNzVGFyZ2V0c0F2
YWlsYWJsZV0pOiBVc2UgdGhlIEFWUm91dGVEZXRlY3Rvci4KKyAgICAgICAgKC1bV2ViTWVkaWFT
ZXNzaW9uSGVscGVyIHN0YXJ0TW9uaXRvcmluZ0FpclBsYXlSb3V0ZXNdKTogRGl0dG8uICBTaW1w
bGlmeSBsb2dpYywgdGhlcmUgaXMgbm8KKyAgICAgICAgbmVlZCB0byBkaXNwYXRjaCB0d2ljZS4K
KyAgICAgICAgKC1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIHN0b3BNb25pdG9yaW5nQWlyUGxheVJv
dXRlc10pOiBEb24ndCByZWxlYXNlIHRoZSByb3V0ZSBkZXRlY3RvcgorICAgICAgICBjb21wbGV0
ZWx5LCBqdXN0IGRpc2FibGUgcm91dGUgZGV0ZWN0aW9uLCBiZWNhdXNlIEFWUm91dGVEZXRlY3Rv
ciBpcyBhIGxpZ2h0d2VpZ2h0IG9iamVjdCBzbworICAgICAgICBpdCBpcyBub3Qgd29ydGggdGhl
IG92ZXJoZWFkIG9mIGRlYWxsb2MvcmVhbGxvYyB0byBkaXNhYmxlL2VuYWJsZSByb3V0ZSBkZXRl
Y3Rpb24uCisgICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBpbnRlcnJ1cHRpb246XSk6
IFVzZSBjYWxsT25XZWJUaHJlYWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJlYWQKKyAgICAgICAg
aW5zdGVhZCBvZiBXZWJUaHJlYWRSdW4gc28gaXQgd29ya3MgY29ycmVjdGx5IGluIFdLMiBhcyB3
ZWxsIGFzIGluIFdLMS4KKyAgICAgICAgKC1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGFwcGxpY2F0
aW9uV2lsbEVudGVyRm9yZWdyb3VuZDpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYk1lZGlhU2Vz
c2lvbkhlbHBlciBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTpdKTogRGl0dG8uCisgICAgICAg
ICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBhcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmU6XSk6
IERpdHRvLgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgd2lyZWxlc3NSb3V0ZXNB
dmFpbGFibGVEaWRDaGFuZ2U6XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJNZWRpYVNlc3Npb25I
ZWxwZXIgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQ6XSk6IERpdHRvLgorICAgICAgICAo
c2FmZWx5VGVhckRvd24pOiBEZWxldGVkLgorCiAyMDE4LTA1LTE2ICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIzMDU3NCk6IEludGVy
cnVwdGVkIGhhcmR3YXJlIHRyYW5zaXRpb25zIGRvbid0IGJlaGF2ZSBjb3JyZWN0bHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IGMyYmQ3OWE2ZDE2
MTNlNDZlZDZmMDQ2NjQyODBjYzk1MDI5MGVhOTkuLjAzYjEwNjA0NWM2ZGMwNTVjNWEzMGFhOWJk
NTkzNGYzNjk4MzgzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmNwcApAQCAtNTQ5LDExICs1NDksNiBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnNo
b3dQbGF5YmFja1RhcmdldFBpY2tlcigpCiAKIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6aGFz
V2lyZWxlc3NQbGF5YmFja1RhcmdldHMoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKElPUykKLSAg
ICAvLyBGSVhNRTogY29uc29saWRhdGUgTWFjIGFuZCBpT1MgaW1wbGVtZW50YXRpb25zCi0gICAg
bV9oYXNQbGF5YmFja1RhcmdldHMgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJl
ZE1hbmFnZXIoKS5oYXNXaXJlbGVzc1RhcmdldHNBdmFpbGFibGUoKTsKLSNlbmRpZgotCiAgICAg
SU5GT19MT0coTE9HSURFTlRJRklFUiwgInJldHVybmluZyAiLCBtX2hhc1BsYXliYWNrVGFyZ2V0
cyk7CiAKICAgICByZXR1cm4gbV9oYXNQbGF5YmFja1RhcmdldHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9T
Lm1tCmluZGV4IDhiMGJiMzRlYjYyYmRmOTVlOGFmNjQ4YjFkMmE3NWZmMWRjYmM3Y2EuLmQzZmJj
Y2M3NDg4M2FmMzVhZWUzNzMyOWY2YWZkMmIwOGZjZjZhMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9T
Lm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJTeXN0ZW1NZW1vcnkuaCIKICNpbXBvcnQg
IldlYkNvcmVUaHJlYWRSdW4uaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lv
bi5oPgorI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUm91dGVEZXRlY3Rvci5oPgogI2ltcG9ydCA8
VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgpAQCAtNDUsMTUgKzQ2LDE2IEBACiAjaWYgSEFW
RShNRURJQV9QTEFZRVIpCiAjaW1wb3J0IDxNZWRpYVBsYXllci9NUE1lZGlhSXRlbS5oPgogI2lt
cG9ydCA8TWVkaWFQbGF5ZXIvTVBOb3dQbGF5aW5nSW5mb0NlbnRlci5oPgotI2ltcG9ydCA8TWVk
aWFQbGF5ZXIvTVBWb2x1bWVWaWV3Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9NZWRpYVBsYXll
clNQSS5oPgogI2VuZGlmCiAKIFNPRlRfTElOS19GUkFNRVdPUksoQVZGb3VuZGF0aW9uKQogU09G
VF9MSU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb24pCitTT0ZUX0xJTktfQ0xB
U1MoQVZGb3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3IpCiBTT0ZUX0xJTktfUE9JTlRFUihBVkZv
dW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uLCBOU1N0cmlu
ZyAqKQogU09GVF9MSU5LX1BPSU5URVIoQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbkludGVy
cnVwdGlvblR5cGVLZXksIE5TU3RyaW5nICopCiBTT0ZUX0xJTktfUE9JTlRFUihBVkZvdW5kYXRp
b24sIEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT3B0aW9uS2V5LCBOU1N0cmluZyAqKQorU09G
VF9MSU5LX1BPSU5URVIoQVZGb3VuZGF0aW9uLCBBVlJvdXRlRGV0ZWN0b3JNdWx0aXBsZVJvdXRl
c0RldGVjdGVkRGlkQ2hhbmdlTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQogCiAjZGVmaW5lIEFW
QXVkaW9TZXNzaW9uIGdldEFWQXVkaW9TZXNzaW9uQ2xhc3MoKQogI2RlZmluZSBBVkF1ZGlvU2Vz
c2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiBnZXRBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlv
bk5vdGlmaWNhdGlvbigpCkBAIC03NSwyMSArNzcsMTcgQEAgU09GVF9MSU5LX1BPSU5URVIoVUlL
aXQsIFVJQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24sIE5TU3RyaW5n
ICoKIAogI2lmIEhBVkUoTUVESUFfUExBWUVSKQogU09GVF9MSU5LX0ZSQU1FV09SSyhNZWRpYVBs
YXllcikKLVNPRlRfTElOS19DTEFTUyhNZWRpYVBsYXllciwgTVBBVlJvdXRpbmdDb250cm9sbGVy
KQogU09GVF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUE5vd1BsYXlpbmdJbmZvQ2VudGVyKQot
U09GVF9MSU5LX0NMQVNTKE1lZGlhUGxheWVyLCBNUFZvbHVtZVZpZXcpCiBTT0ZUX0xJTktfUE9J
TlRFUihNZWRpYVBsYXllciwgTVBNZWRpYUl0ZW1Qcm9wZXJ0eVRpdGxlLCBOU1N0cmluZyAqKQog
U09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIE1QTWVkaWFJdGVtUHJvcGVydHlQbGF5YmFj
a0R1cmF0aW9uLCBOU1N0cmluZyAqKQogU09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIE1Q
Tm93UGxheWluZ0luZm9Qcm9wZXJ0eUVsYXBzZWRQbGF5YmFja1RpbWUsIE5TU3RyaW5nICopCiBT
T0ZUX0xJTktfUE9JTlRFUihNZWRpYVBsYXllciwgTVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5UGxh
eWJhY2tSYXRlLCBOU1N0cmluZyAqKQotU09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIE1Q
Vm9sdW1lVmlld1dpcmVsZXNzUm91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uLCBO
U1N0cmluZyAqKQogU09GVF9MSU5LX1BPSU5URVIoTWVkaWFQbGF5ZXIsIGtNUk1lZGlhUmVtb3Rl
Tm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyLCBOU1N0cmluZyAqKQogCiAjZGVmaW5lIE1Q
TWVkaWFJdGVtUHJvcGVydHlUaXRsZSBnZXRNUE1lZGlhSXRlbVByb3BlcnR5VGl0bGUoKQogI2Rl
ZmluZSBNUE1lZGlhSXRlbVByb3BlcnR5UGxheWJhY2tEdXJhdGlvbiBnZXRNUE1lZGlhSXRlbVBy
b3BlcnR5UGxheWJhY2tEdXJhdGlvbigpCiAjZGVmaW5lIE1QTm93UGxheWluZ0luZm9Qcm9wZXJ0
eUVsYXBzZWRQbGF5YmFja1RpbWUgZ2V0TVBOb3dQbGF5aW5nSW5mb1Byb3BlcnR5RWxhcHNlZFBs
YXliYWNrVGltZSgpCiAjZGVmaW5lIE1QTm93UGxheWluZ0luZm9Qcm9wZXJ0eVBsYXliYWNrUmF0
ZSBnZXRNUE5vd1BsYXlpbmdJbmZvUHJvcGVydHlQbGF5YmFja1JhdGUoKQotI2RlZmluZSBNUFZv
bHVtZVZpZXdXaXJlbGVzc1JvdXRlc0F2YWlsYWJsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBnZXRN
UFZvbHVtZVZpZXdXaXJlbGVzc1JvdXRlc0F2YWlsYWJsZURpZENoYW5nZU5vdGlmaWNhdGlvbigp
CiAjZGVmaW5lIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyIGdl
dGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9VbmlxdWVJZGVudGlmaWVyKCkKICNlbmRpZiAv
LyBIQVZFKE1FRElBX1BMQVlFUikKIApAQCAtMTAzLDEyICsxMDEsOSBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIEBpbnRlcmZhY2UgV2ViTWVkaWFTZXNzaW9uSGVscGVyIDogTlNPYmplY3Qg
ewogICAgIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1MqIF9jYWxsYmFjazsKIAotI2lmIEhBVkUoTUVE
SUFfUExBWUVSKQotICAgIFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IF92b2x1bWVWaWV3OwotICAg
IFJldGFpblB0cjxNUEFWUm91dGluZ0NvbnRyb2xsZXI+IF9haXJQbGF5UHJlc2VuY2VSb3V0aW5n
Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8QVZSb3V0ZURldGVjdG9yPiBfcm91dGVEZXRlY3Rv
cjsKICAgICBib29sIF9tb25pdG9yaW5nQWlyUGxheVJvdXRlczsKICAgICBib29sIF9zdGFydE1v
bml0b3JpbmdBaXJQbGF5Um91dGVzUGVuZGluZzsKLSNlbmRpZgogfQogCiAtIChpZClpbml0V2l0
aENhbGxiYWNrOihNZWRpYVNlc3Npb25NYW5hZ2VyaU9TKiljYWxsYmFjazsKQEAgLTM0NSwyOSAr
MzQwLDIxIEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6ZXh0ZXJuYWxPdXRwdXREZXZp
Y2VBdmFpbGFibGVEaWRDaGFuZ2UoKQogICAgIHJldHVybiBzZWxmOwogfQogCi0jaWYgSEFWRShN
RURJQV9QTEFZRVIpCi1zdGF0aWMgdm9pZCBzYWZlbHlUZWFyRG93bihSZXRhaW5QdHI8TVBWb2x1
bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRhaW5QdHI8TVBBVlJvdXRpbmdDb250cm9sbGVyPiByb3V0
aW5nQ29udHJvbGxlcikKLXsKLSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9x
dWV1ZSgpLCBbdm9sdW1lVmlldyA9IFdURk1vdmUodm9sdW1lVmlldyksIHJvdXRpbmdDb250cm9s
bGVyID0gV1RGTW92ZShyb3V0aW5nQ29udHJvbGxlcildICgpIG11dGFibGUgewotICAgICAgICBM
T0coTWVkaWEsICJzYWZlbHlUZWFyRG93biAtIGRpcGF0Y2hlZCB0byBVSSB0aHJlYWQuIik7Ci0g
ICAgICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUwotICAgICAgICBbcm91dGluZ0NvbnRy
b2xsZXIgc2V0RGlzY292ZXJ5TW9kZTpNUFJvdXRlRGlzY292ZXJ5TW9kZURpc2FibGVkXTsKLSAg
ICAgICAgdm9sdW1lVmlldy5jbGVhcigpOwotICAgICAgICByb3V0aW5nQ29udHJvbGxlci5jbGVh
cigpOwotICAgICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCi0gICAgfSk7Ci19Ci0jZW5k
aWYKLQogLSAodm9pZClkZWFsbG9jCiB7CiAgICAgTE9HKE1lZGlhLCAiLVtXZWJNZWRpYVNlc3Np
b25IZWxwZXIgZGVhbGxvY10iKTsKIAogI2lmIEhBVkUoTUVESUFfUExBWUVSKQotICAgIGlmICgh
cHRocmVhZF9tYWluX25wKCkpCi0gICAgICAgIHNhZmVseVRlYXJEb3duKFdURk1vdmUoX3ZvbHVt
ZVZpZXcpLCBXVEZNb3ZlKF9haXJQbGF5UHJlc2VuY2VSb3V0aW5nQ29udHJvbGxlcikpOwotICAg
IGVsc2UKLSAgICAgICAgW19haXJQbGF5UHJlc2VuY2VSb3V0aW5nQ29udHJvbGxlciBzZXREaXNj
b3ZlcnlNb2RlOk1QUm91dGVEaXNjb3ZlcnlNb2RlRGlzYWJsZWRdOworICAgIGlmICghcHRocmVh
ZF9tYWluX25wKCkpIHsKKyAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5f
cXVldWUoKSwgW3JvdXRlRGV0ZWN0b3IgPSBXVEZNb3ZlKF9yb3V0ZURldGVjdG9yKV0gKCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBMT0coTWVkaWEsICJzYWZlbHlUZWFyRG93biAtIGRpcGF0Y2hl
ZCB0byBVSSB0aHJlYWQuIik7CisgICAgICAgICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElP
TlMKKyAgICAgICAgICAgIHJvdXRlRGV0ZWN0b3IuZ2V0KCkucm91dGVEZXRlY3Rpb25FbmFibGVk
ID0gTk87CisgICAgICAgICAgICByb3V0ZURldGVjdG9yLmNsZWFyKCk7CisgICAgICAgICAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCisgICAgICAgIH0pOworICAgIH0gZWxzZQorICAgICAg
ICBfcm91dGVEZXRlY3Rvci5nZXQoKS5yb3V0ZURldGVjdGlvbkVuYWJsZWQgPSBOTzsKICNlbmRp
ZgogCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNl
cnZlcjpzZWxmXTsKQEAgLTM4MywxMSArMzcwLDcgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRv
d24oUmV0YWluUHRyPE1QVm9sdW1lVmlldz4gdm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UK
IC0gKEJPT0wpaGFzV2lyZWxlc3NUYXJnZXRzQXZhaWxhYmxlCiB7CiAgICAgTE9HKE1lZGlhLCAi
LVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgaGFzV2lyZWxlc3NUYXJnZXRzQXZhaWxhYmxlXSIpOwot
I2lmIEhBVkUoTUVESUFfUExBWUVSKQotICAgIHJldHVybiBfdm9sdW1lVmlldyA/IFtfdm9sdW1l
VmlldyBhcmVXaXJlbGVzc1JvdXRlc0F2YWlsYWJsZV0gOiBOTzsKLSNlbHNlCi0gICAgcmV0dXJu
IE5POwotI2VuZGlmCisgICAgcmV0dXJuIF9yb3V0ZURldGVjdG9yLmdldCgpLm11bHRpcGxlUm91
dGVzRGV0ZWN0ZWQ7CiB9CiAKICNpZiBIQVZFKE1FRElBX1BMQVlFUikKQEAgLTQwMSwzOCArMzg0
LDI3IEBAIHN0YXRpYyB2b2lkIHNhZmVseVRlYXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZpZXc+
IHZvbHVtZVZpZXcsIFJldGFpblB0cjxNUEFWUm91CiAgICAgaWYgKF9zdGFydE1vbml0b3JpbmdB
aXJQbGF5Um91dGVzUGVuZGluZykKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKF9yb3V0ZURl
dGVjdG9yKSB7CisgICAgICAgIF9yb3V0ZURldGVjdG9yLmdldCgpLnJvdXRlRGV0ZWN0aW9uRW5h
YmxlZCA9IFlFUzsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIF9zdGFydE1vbml0b3Jp
bmdBaXJQbGF5Um91dGVzUGVuZGluZyA9IHRydWU7CiAKICAgICBMT0coTWVkaWEsICItW1dlYk1l
ZGlhU2Vzc2lvbkhlbHBlciBzdGFydE1vbml0b3JpbmdBaXJQbGF5Um91dGVzXSIpOwogCi0gICAg
ZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3Byb3RlY3RlZFNlbGYg
PSBSZXRhaW5QdHI8V2ViTWVkaWFTZXNzaW9uSGVscGVyPihzZWxmKV0gKCkgbXV0YWJsZSB7Ci0g
ICAgICAgIExPRyhNZWRpYSwgIi1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIHN0YXJ0TW9uaXRvcmlu
Z0FpclBsYXlSb3V0ZXNdIC0gZGlwYXRjaGVkIHRvIG1haW4gcXVldWUiKTsKLQotICAgICAgICBC
RUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKLSAgICAgICAgUmV0YWluUHRyPE1QVm9sdW1lVmll
dz4gdm9sdW1lVmlldyA9IGFkb3B0TlMoW2FsbG9jTVBWb2x1bWVWaWV3SW5zdGFuY2UoKSBpbml0
XSk7Ci0gICAgICAgIFJldGFpblB0cjxNUEFWUm91dGluZ0NvbnRyb2xsZXI+IHJvdXRpbmdDb250
cm9sbGVyID0gYWRvcHROUyhbYWxsb2NNUEFWUm91dGluZ0NvbnRyb2xsZXJJbnN0YW5jZSgpIGlu
aXRXaXRoTmFtZTpAIldlYkNvcmUgLSBIVE1MIG1lZGlhIGVsZW1lbnQgY2hlY2tpbmcgZm9yIEFp
clBsYXkgcm91dGUgcHJlc2VuY2UiXSk7Ci0KLSAgICAgICAgW3JvdXRpbmdDb250cm9sbGVyIHNl
dERpc2NvdmVyeU1vZGU6TVBSb3V0ZURpc2NvdmVyeU1vZGVQcmVzZW5jZV07Ci0KLSAgICAgICAg
Y2FsbE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxm
ID0gV1RGTW92ZShwcm90ZWN0ZWRTZWxmKSwgdm9sdW1lVmlldyA9IFdURk1vdmUodm9sdW1lVmll
dyksIHJvdXRpbmdDb250cm9sbGVyID0gV1RGTW92ZShyb3V0aW5nQ29udHJvbGxlcildKCkgbXV0
YWJsZSB7Ci0KLSAgICAgICAgICAgIHByb3RlY3RlZFNlbGYtPl9zdGFydE1vbml0b3JpbmdBaXJQ
bGF5Um91dGVzUGVuZGluZyA9IGZhbHNlOwotCi0gICAgICAgICAgICBpZiAoIXByb3RlY3RlZFNl
bGYtPl9tb25pdG9yaW5nQWlyUGxheVJvdXRlcykgewotICAgICAgICAgICAgICAgIHNhZmVseVRl
YXJEb3duKFdURk1vdmUodm9sdW1lVmlldyksIFdURk1vdmUocm91dGluZ0NvbnRyb2xsZXIpKTsK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9CisgICAgY2FsbE9uV2ViVGhy
ZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShz
ZWxmKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgQVNTRVJUKCFwcm90ZWN0ZWRTZWxmLT5fcm91dGVE
ZXRlY3Rvcik7CiAKLSAgICAgICAgICAgIEFTU0VSVCghcHJvdGVjdGVkU2VsZi0+X3ZvbHVtZVZp
ZXcpOwotICAgICAgICAgICAgcHJvdGVjdGVkU2VsZi0+X3ZvbHVtZVZpZXcgPSB2b2x1bWVWaWV3
OwotCi0gICAgICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFk
ZE9ic2VydmVyOnByb3RlY3RlZFNlbGYuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKHdpcmVsZXNz
Um91dGVzQXZhaWxhYmxlRGlkQ2hhbmdlOikgbmFtZTpNUFZvbHVtZVZpZXdXaXJlbGVzc1JvdXRl
c0F2YWlsYWJsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6dm9sdW1lVmlldy5nZXQoKV07
Ci0KLSAgICAgICAgICAgIEFTU0VSVCghcHJvdGVjdGVkU2VsZi0+X2FpclBsYXlQcmVzZW5jZVJv
dXRpbmdDb250cm9sbGVyKTsKLSAgICAgICAgICAgIHByb3RlY3RlZFNlbGYtPl9haXJQbGF5UHJl
c2VuY2VSb3V0aW5nQ29udHJvbGxlciA9IHJvdXRpbmdDb250cm9sbGVyOwotICAgICAgICB9KTsK
LSAgICAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUworICAgICAgICBpZiAocHJvdGVjdGVk
U2VsZi0+X2NhbGxiYWNrKSB7CisgICAgICAgICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElP
TlMKKyAgICAgICAgICAgIHByb3RlY3RlZFNlbGYtPl9yb3V0ZURldGVjdG9yID0gYWRvcHROUyhb
YWxsb2NBVlJvdXRlRGV0ZWN0b3JJbnN0YW5jZSgpIGluaXRdKTsKKyAgICAgICAgICAgIHByb3Rl
Y3RlZFNlbGYtPl9yb3V0ZURldGVjdG9yLmdldCgpLnJvdXRlRGV0ZWN0aW9uRW5hYmxlZCA9IHBy
b3RlY3RlZFNlbGYtPl9tb25pdG9yaW5nQWlyUGxheVJvdXRlczsKKyAgICAgICAgICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6cHJvdGVjdGVkU2Vs
ZiBzZWxlY3RvcjpAc2VsZWN0b3Iod2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2U6KSBu
YW1lOmdldEFWUm91dGVEZXRlY3Rvck11bHRpcGxlUm91dGVzRGV0ZWN0ZWREaWRDaGFuZ2VOb3Rp
ZmljYXRpb24oKSBvYmplY3Q6cHJvdGVjdGVkU2VsZi0+X3JvdXRlRGV0ZWN0b3IuZ2V0KCldOwor
ICAgICAgICAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUworICAgICAgICB9CiAKKyAgICAg
ICAgcHJvdGVjdGVkU2VsZi0+X3N0YXJ0TW9uaXRvcmluZ0FpclBsYXlSb3V0ZXNQZW5kaW5nID0g
ZmFsc2U7CiAgICAgfSk7CiB9CiAKQEAgLTQ0MSwyMCArNDEzLDEwIEBAIHN0YXRpYyB2b2lkIHNh
ZmVseVRlYXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcsIFJldGFpblB0
cjxNUEFWUm91CiAgICAgaWYgKCFfbW9uaXRvcmluZ0FpclBsYXlSb3V0ZXMpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIF9tb25pdG9yaW5nQWlyUGxheVJvdXRlcyA9IGZhbHNlOwotCiAgICAgTE9H
KE1lZGlhLCAiLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgc3RvcE1vbml0b3JpbmdBaXJQbGF5Um91
dGVzXSIpOwogCi0gICAgUmV0YWluUHRyPE1QVm9sdW1lVmlldz4gdm9sdW1lVmlldyA9IF92b2x1
bWVWaWV3OwotICAgIFJldGFpblB0cjxNUEFWUm91dGluZ0NvbnRyb2xsZXI+IGFpclBsYXlQcmVz
ZW5jZVJvdXRpbmdDb250cm9sbGVyID0gX2FpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9sbGVy
OwotCi0gICAgX3ZvbHVtZVZpZXcuY2xlYXIoKTsKLSAgICBfYWlyUGxheVByZXNlbmNlUm91dGlu
Z0NvbnRyb2xsZXIuY2xlYXIoKTsKLQotICAgIGlmICh2b2x1bWVWaWV3KQotICAgICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFt
ZTpNUFZvbHVtZVZpZXdXaXJlbGVzc1JvdXRlc0F2YWlsYWJsZURpZENoYW5nZU5vdGlmaWNhdGlv
biBvYmplY3Q6dm9sdW1lVmlldy5nZXQoKV07Ci0KLSAgICBzYWZlbHlUZWFyRG93bihXVEZNb3Zl
KHZvbHVtZVZpZXcpLCBXVEZNb3ZlKGFpclBsYXlQcmVzZW5jZVJvdXRpbmdDb250cm9sbGVyKSk7
CisgICAgX21vbml0b3JpbmdBaXJQbGF5Um91dGVzID0gZmFsc2U7CisgICAgX3JvdXRlRGV0ZWN0
b3IuZ2V0KCkucm91dGVEZXRlY3Rpb25FbmFibGVkID0gTk87CiB9CiAjZW5kaWYgLy8gSEFWRShN
RURJQV9QTEFZRVIpCiAKQEAgLTQ3MSwxNCArNDMzLDE1IEBAIHN0YXRpYyB2b2lkIHNhZmVseVRl
YXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcsIFJldGFpblB0cjxNUEFW
Um91CiAgICAgaWYgKHR5cGUgPT0gQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25UeXBlRW5kZWQg
JiYgW1tbbm90aWZpY2F0aW9uIHVzZXJJbmZvXSBvYmplY3RGb3JLZXk6QVZBdWRpb1Nlc3Npb25J
bnRlcnJ1cHRpb25PcHRpb25LZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXSA9PSBBVkF1ZGlvU2Vz
c2lvbkludGVycnVwdGlvbk9wdGlvblNob3VsZFJlc3VtZSkKICAgICAgICAgZmxhZ3MgPSBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZzsKIAotICAgIFdlYlRocmVhZFJ1bihe
ewotICAgICAgICBpZiAoIV9jYWxsYmFjaykKKyAgICBjYWxsT25XZWJUaHJlYWRPckRpc3BhdGNo
QXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHNlbGYpLCB0eXBlLCBm
bGFnc10oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byogY2FsbGJhY2sgPSBwcm90ZWN0ZWRTZWxm
LT5fY2FsbGJhY2s7CisgICAgICAgIGlmICghY2FsbGJhY2spCiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgaWYgKHR5cGUgPT0gQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25UeXBlQmVn
YW4pCi0gICAgICAgICAgICBfY2FsbGJhY2stPmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOworICAgICAgICAgICAgY2FsbGJhY2stPmJl
Z2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24p
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBfY2FsbGJhY2stPmVuZEludGVycnVwdGlvbihm
bGFncyk7CisgICAgICAgICAgICBjYWxsYmFjay0+ZW5kSW50ZXJydXB0aW9uKGZsYWdzKTsKIAog
ICAgIH0pOwogfQpAQCAtNDkzLDEyICs0NTYsOSBAQCBzdGF0aWMgdm9pZCBzYWZlbHlUZWFyRG93
bihSZXRhaW5QdHI8TVBWb2x1bWVWaWV3PiB2b2x1bWVWaWV3LCBSZXRhaW5QdHI8TVBBVlJvdQog
ICAgIExPRyhNZWRpYSwgIi1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGFwcGxpY2F0aW9uV2lsbEVu
dGVyRm9yZWdyb3VuZF0iKTsKIAogICAgIEJPT0wgaXNTdXNwZW5kZWRVbmRlckxvY2sgPSBbW1tu
b3RpZmljYXRpb24gdXNlckluZm9dIG9iamVjdEZvcktleTpAImlzU3VzcGVuZGVkVW5kZXJMb2Nr
Il0gYm9vbFZhbHVlXTsKLQotICAgIFdlYlRocmVhZFJ1biheewotICAgICAgICBpZiAoIV9jYWxs
YmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBfY2FsbGJhY2stPmFwcGxpY2F0
aW9uV2lsbEVudGVyRm9yZWdyb3VuZChpc1N1c3BlbmRlZFVuZGVyTG9jayk7CisgICAgY2FsbE9u
V2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RG
TW92ZShzZWxmKSwgaXNTdXNwZW5kZWRVbmRlckxvY2tdKCkgbXV0YWJsZSB7CisgICAgICAgIGlm
IChhdXRvKiBjYWxsYmFjayA9IHByb3RlY3RlZFNlbGYtPl9jYWxsYmFjaykKKyAgICAgICAgICAg
IGNhbGxiYWNrLT5hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoaXNTdXNwZW5kZWRVbmRl
ckxvY2spOwogICAgIH0pOwogfQogCkBAIC01MTEsMTEgKzQ3MSw5IEBAIHN0YXRpYyB2b2lkIHNh
ZmVseVRlYXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcsIFJldGFpblB0
cjxNUEFWUm91CiAKICAgICBMT0coTWVkaWEsICItW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBhcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZV0iKTsKIAotICAgIFdlYlRocmVhZFJ1biheewotICAgICAg
ICBpZiAoIV9jYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBfY2FsbGJh
Y2stPmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7CisgICAgY2FsbE9uV2ViVGhyZWFkT3JE
aXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShzZWxmKV0o
KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVkU2VsZi0+
X2NhbGxiYWNrKQorICAgICAgICAgICAgY2FsbGJhY2stPmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0
aXZlKCk7CiAgICAgfSk7CiB9CiAKQEAgLTUyOCwxMSArNDg2LDkgQEAgc3RhdGljIHZvaWQgc2Fm
ZWx5VGVhckRvd24oUmV0YWluUHRyPE1QVm9sdW1lVmlldz4gdm9sdW1lVmlldywgUmV0YWluUHRy
PE1QQVZSb3UKIAogICAgIExPRyhNZWRpYSwgIi1bV2ViTWVkaWFTZXNzaW9uSGVscGVyIGFwcGxp
Y2F0aW9uV2lsbFJlc2lnbkFjdGl2ZV0iKTsKIAotICAgIFdlYlRocmVhZFJ1biheewotICAgICAg
ICBpZiAoIV9jYWxsYmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBfY2FsbGJh
Y2stPmFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCk7CisgICAgY2FsbE9uV2ViVGhyZWFk
T3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShzZWxm
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVkU2Vs
Zi0+X2NhbGxiYWNrKQorICAgICAgICAgICAgY2FsbGJhY2stPmFwcGxpY2F0aW9uV2lsbEJlY29t
ZUluYWN0aXZlKCk7CiAgICAgfSk7CiB9CiAKQEAgLTU0MCwxNiArNDk2LDE0IEBAIHN0YXRpYyB2
b2lkIHNhZmVseVRlYXJEb3duKFJldGFpblB0cjxNUFZvbHVtZVZpZXc+IHZvbHVtZVZpZXcsIFJl
dGFpblB0cjxNUEFWUm91CiB7CiAgICAgVU5VU0VEX1BBUkFNKG5vdGlmaWNhdGlvbik7CiAKLSAg
ICBpZiAoIV9jYWxsYmFjaykKKyAgICBpZiAoIV9jYWxsYmFjayB8fCAhX21vbml0b3JpbmdBaXJQ
bGF5Um91dGVzKQogICAgICAgICByZXR1cm47CiAKICAgICBMT0coTWVkaWEsICItW1dlYk1lZGlh
U2Vzc2lvbkhlbHBlciB3aXJlbGVzc1JvdXRlc0F2YWlsYWJsZURpZENoYW5nZV0iKTsKIAotICAg
IFdlYlRocmVhZFJ1biheewotICAgICAgICBpZiAoIV9jYWxsYmFjaykKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBfY2FsbGJhY2stPmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxl
RGlkQ2hhbmdlKCk7CisgICAgY2FsbE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhy
ZWFkKFtwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShzZWxmKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
aWYgKGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVkU2VsZi0+X2NhbGxiYWNrKQorICAgICAgICAg
ICAgY2FsbGJhY2stPmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCk7CiAg
ICAgfSk7CiB9CiAKQEAgLTU2MSwxMiArNTE1LDkgQEAgc3RhdGljIHZvaWQgc2FmZWx5VGVhckRv
d24oUmV0YWluUHRyPE1QVm9sdW1lVmlldz4gdm9sdW1lVmlldywgUmV0YWluUHRyPE1QQVZSb3UK
ICAgICBMT0coTWVkaWEsICItW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBhcHBsaWNhdGlvbkRpZEVu
dGVyQmFja2dyb3VuZF0iKTsKIAogICAgIEJPT0wgaXNTdXNwZW5kZWRVbmRlckxvY2sgPSBbW1tu
b3RpZmljYXRpb24gdXNlckluZm9dIG9iamVjdEZvcktleTpAImlzU3VzcGVuZGVkVW5kZXJMb2Nr
Il0gYm9vbFZhbHVlXTsKLQotICAgIFdlYlRocmVhZFJ1biheewotICAgICAgICBpZiAoIV9jYWxs
YmFjaykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBfY2FsbGJhY2stPmFwcGxpY2F0
aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKGlzU3VzcGVuZGVkVW5kZXJMb2NrKTsKKyAgICBjYWxsT25X
ZWJUaHJlYWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFNlbGYgPSBXVEZN
b3ZlKHNlbGYpLCBpc1N1c3BlbmRlZFVuZGVyTG9ja10oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYg
KGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVkU2VsZi0+X2NhbGxiYWNrKQorICAgICAgICAgICAg
Y2FsbGJhY2stPmFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKGlzU3VzcGVuZGVkVW5kZXJM
b2NrKTsKICAgICB9KTsKIH0KIEBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340638</attachid>
            <date>2018-05-17 14:10:05 -0700</date>
            <delta_ts>2018-05-17 14:48:54 -0700</delta_ts>
            <desc>Build fix.</desc>
            <filename>bug-185706-20180517141004.patch</filename>
            <type>text/plain</type>
            <size>3949</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxOTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFkOWI1MzhkNWM0ZTQ5
ODRlNDJiNjJkZTc2ZmY5OWFlOGE2ZWUxMi4uODIzOTljODMwYzZhMTYzZDA5MjY5ZmZlYjhhN2Iy
MWFhMTEzZDQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA1LTE3ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVwZGF0
ZSBBaXJQbGF5IHJvdXRlIG1vbml0b3JpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTcwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDAyMzA2
Nzc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgZml4IGV4dHJhIHpvb20gbW9kZSBidWlsZCBhZnRl
ciByMjMxOTEzLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MubW06CisgICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBkZWFsbG9jXSk6
CisgICAgICAgICgtW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBoYXNXaXJlbGVzc1RhcmdldHNBdmFp
bGFibGVdKToKKwogMjAxOC0wNS0xNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbRXh0cmEgem9vbSBtb2RlXSBEaXNhYmxlZCBhZGFwdGF0aW9ucyBh
cmUgbm90IHJlc2V0IHVwb24gbWFpbmZyYW1lIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1Mu
bW0KaW5kZXggNzQ5ZTUxOThlYjgzNTM5ZjY4YWE2NTI2OGE4NjAzNWM4NGIwYjFhYi4uNTM0MTE1
NDhjNjM3ODdmNjU2NjljNGVkMjU1OWQ1NGFiNTMwMmRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1Mu
bW0KQEAgLTUxLDEyICs1MSwxNSBAQAogCiBTT0ZUX0xJTktfRlJBTUVXT1JLKEFWRm91bmRhdGlv
bikKIFNPRlRfTElOS19DTEFTUyhBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uKQotU09GVF9M
SU5LX0NMQVNTKEFWRm91bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yKQogU09GVF9MSU5LX1BPSU5U
RVIoQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiwg
TlNTdHJpbmcgKikKIFNPRlRfTElOS19QT0lOVEVSKEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Np
b25JbnRlcnJ1cHRpb25UeXBlS2V5LCBOU1N0cmluZyAqKQogU09GVF9MSU5LX1BPSU5URVIoQVZG
b3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9wdGlvbktleSwgTlNTdHJpbmcg
KikKIFNPRlRfTElOS19QT0lOVEVSKEFWRm91bmRhdGlvbiwgQVZSb3V0ZURldGVjdG9yTXVsdGlw
bGVSb3V0ZXNEZXRlY3RlZERpZENoYW5nZU5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKikKIAorI2lm
IEhBVkUoTUVESUFfUExBWUVSKSAmJiAhRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKK1NPRlRfTElO
S19DTEFTUyhBVkZvdW5kYXRpb24sIEFWUm91dGVEZXRlY3RvcikKKyNlbmRpZgorCiAjZGVmaW5l
IEFWQXVkaW9TZXNzaW9uIGdldEFWQXVkaW9TZXNzaW9uQ2xhc3MoKQogI2RlZmluZSBBVkF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiBnZXRBVkF1ZGlvU2Vzc2lvbkludGVycnVw
dGlvbk5vdGlmaWNhdGlvbigpCiAjZGVmaW5lIEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uVHlw
ZUtleSBnZXRBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvblR5cGVLZXkoKQpAQCAtMTAxLDcgKzEw
NCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJNZWRpYVNlc3Np
b25IZWxwZXIgOiBOU09iamVjdCB7CiAgICAgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUyogX2NhbGxi
YWNrOwogCisjaWYgSEFWRShNRURJQV9QTEFZRVIpICYmICFFTkFCTEUoRVhUUkFfWk9PTV9NT0RF
KQogICAgIFJldGFpblB0cjxBVlJvdXRlRGV0ZWN0b3I+IF9yb3V0ZURldGVjdG9yOworI2VuZGlm
CiAgICAgYm9vbCBfbW9uaXRvcmluZ0FpclBsYXlSb3V0ZXM7CiAgICAgYm9vbCBfc3RhcnRNb25p
dG9yaW5nQWlyUGxheVJvdXRlc1BlbmRpbmc7CiB9CkBAIC0xMTUsNyArMTIwLDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAtICh2b2lkKWFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5k
OihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbjsKIC0gKEJPT0wpaGFzV2lyZWxlc3NUYXJn
ZXRzQXZhaWxhYmxlOwogCi0jaWYgSEFWRShNRURJQV9QTEFZRVIpCisjaWYgSEFWRShNRURJQV9Q
TEFZRVIpICYmICFFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogLSAodm9pZClzdGFydE1vbml0b3Jp
bmdBaXJQbGF5Um91dGVzOwogLSAodm9pZClzdG9wTW9uaXRvcmluZ0FpclBsYXlSb3V0ZXM7CiAj
ZW5kaWYKQEAgLTM0NSw3ICszNTAsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6OmV4
dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCkKIHsKICAgICBMT0coTWVkaWEs
ICItW1dlYk1lZGlhU2Vzc2lvbkhlbHBlciBkZWFsbG9jXSIpOwogCi0jaWYgSEFWRShNRURJQV9Q
TEFZRVIpCisjaWYgSEFWRShNRURJQV9QTEFZRVIpICYmICFFTkFCTEUoRVhUUkFfWk9PTV9NT0RF
KQogICAgIGlmICghcHRocmVhZF9tYWluX25wKCkpIHsKICAgICAgICAgZGlzcGF0Y2hfYXN5bmMo
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgW3JvdXRlRGV0ZWN0b3IgPSBXVEZNb3ZlKF9yb3V0
ZURldGVjdG9yKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBMT0coTWVkaWEsICJzYWZlbHlU
ZWFyRG93biAtIGRpcGF0Y2hlZCB0byBVSSB0aHJlYWQuIik7CkBAIC0zNzEsMTAgKzM3NiwxNCBA
QCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJpT1M6OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxh
YmxlRGlkQ2hhbmdlKCkKIC0gKEJPT0wpaGFzV2lyZWxlc3NUYXJnZXRzQXZhaWxhYmxlCiB7CiAg
ICAgTE9HKE1lZGlhLCAiLVtXZWJNZWRpYVNlc3Npb25IZWxwZXIgaGFzV2lyZWxlc3NUYXJnZXRz
QXZhaWxhYmxlXSIpOworI2lmIEhBVkUoTUVESUFfUExBWUVSKSAmJiAhRU5BQkxFKEVYVFJBX1pP
T01fTU9ERSkKICAgICByZXR1cm4gX3JvdXRlRGV0ZWN0b3IuZ2V0KCkubXVsdGlwbGVSb3V0ZXNE
ZXRlY3RlZDsKKyNlbHNlCisgICAgcmV0dXJuIE5POworI2VuZGlmCiB9CiAKLSNpZiBIQVZFKE1F
RElBX1BMQVlFUikKKyNpZiBIQVZFKE1FRElBX1BMQVlFUikgJiYgIUVOQUJMRShFWFRSQV9aT09N
X01PREUpCiAtICh2b2lkKXN0YXJ0TW9uaXRvcmluZ0FpclBsYXlSb3V0ZXMKIHsKICAgICBpZiAo
X21vbml0b3JpbmdBaXJQbGF5Um91dGVzKQpAQCAtNDE5LDcgKzQyOCw3IEBAIHZvaWQgTWVkaWFT
ZXNzaW9uTWFuYWdlcmlPUzo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2Uo
KQogICAgIF9tb25pdG9yaW5nQWlyUGxheVJvdXRlcyA9IGZhbHNlOwogICAgIF9yb3V0ZURldGVj
dG9yLmdldCgpLnJvdXRlRGV0ZWN0aW9uRW5hYmxlZCA9IE5POwogfQotI2VuZGlmIC8vIEhBVkUo
TUVESUFfUExBWUVSKQorI2VuZGlmIC8vIEhBVkUoTUVESUFfUExBWUVSKSAmJiAhRU5BQkxFKEVY
VFJBX1pPT01fTU9ERSkKIAogLSAodm9pZClpbnRlcnJ1cHRpb246KE5TTm90aWZpY2F0aW9uICop
bm90aWZpY2F0aW9uCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>