<?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>217060</bug_id>
          
          <creation_ts>2020-09-28 11:36:16 -0700</creation_ts>
          <short_desc>Fullscreen mode on mlb.com shows white letterboxing when video aspect ratio does not match screen</short_desc>
          <delta_ts>2022-11-24 17:03:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=248323</see_also>
          <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>
          
          <blocked>248323</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692622</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 11:36:16 -0700</bug_when>
    <thetext>Fullscreen mode on mlb.com shows white letterboxing when video aspect ratio does not match screen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692623</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 11:36:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/68936043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692626</commentid>
    <comment_count>2</comment_count>
      <attachid>409908</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 11:48:20 -0700</bug_when>
    <thetext>Created attachment 409908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692628</commentid>
    <comment_count>3</comment_count>
      <attachid>409908</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-28 11:53:18 -0700</bug_when>
    <thetext>Comment on attachment 409908
Patch

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

&gt; Source/WebCore/page/Quirks.cpp:1074
&gt; +bool Quirks::needsBlackFullscreenBackgroundQuirk() const

Frustrating that unlike per-app quirks that at least have &quot;linked on or after&quot; rules, per-website quirks don’t come with an expiration date or any plan to eventually remove them. Do we need a comment explaining something about the context of why the quirk is added to help future people know when to remove a quirk?

&gt; Source/WebCore/page/Quirks.cpp:1081
&gt; +        m_needsBlackFullscreenBackgroundQuirk = equalLettersIgnoringASCIICase(host, &quot;mlb.com&quot;) || host.endsWithIgnoringASCIICase(&quot;.mlb.com&quot;);

I wonder if this &quot;equals or ends with (preceded by dot)&quot; idiom should finally get its own helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692636</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 11:59:50 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 409908 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409908&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Quirks.cpp:1074
&gt; &gt; +bool Quirks::needsBlackFullscreenBackgroundQuirk() const
&gt; 
&gt; Frustrating that unlike per-app quirks that at least have &quot;linked on or
&gt; after&quot; rules, per-website quirks don’t come with an expiration date or any
&gt; plan to eventually remove them. Do we need a comment explaining something
&gt; about the context of why the quirk is added to help future people know when
&gt; to remove a quirk?

That&apos;s a good point; it looks like this specific problem would be mitigated if we supported the :background pseudo-element; I&apos;ll add a comment to that effect.

&gt; &gt; Source/WebCore/page/Quirks.cpp:1081
&gt; &gt; +        m_needsBlackFullscreenBackgroundQuirk = equalLettersIgnoringASCIICase(host, &quot;mlb.com&quot;) || host.endsWithIgnoringASCIICase(&quot;.mlb.com&quot;);
&gt; 
&gt; I wonder if this &quot;equals or ends with (preceded by dot)&quot; idiom should
&gt; finally get its own helper function.

It totally should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692644</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 12:11:09 -0700</bug_when>
    <thetext>s/:background/:backdrop/g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692661</commentid>
    <comment_count>6</comment_count>
      <attachid>409916</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 13:49:17 -0700</bug_when>
    <thetext>Created attachment 409916
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692674</commentid>
    <comment_count>7</comment_count>
      <attachid>409916</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-28 14:36:06 -0700</bug_when>
    <thetext>Comment on attachment 409916
Patch for landing

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

&gt; Source/WebCore/page/Quirks.cpp:77
&gt; +static inline bool hostMatchesDomainOrSubdomains(const StringView&amp; host, const StringView&amp; domain)

Should just be StringView, not const StringView&amp;.

&gt; Source/WebCore/page/Quirks.cpp:739
&gt; +    m_needsPreloadAutoQuirk = hostMatchesDomainOrSubdomains(m_document-&gt;url().host(), &quot;vimeo.com&quot;);

Missing &quot;.&quot; here. Don’t land this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692678</commentid>
    <comment_count>8</comment_count>
      <attachid>409916</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-28 14:46:38 -0700</bug_when>
    <thetext>Comment on attachment 409916
Patch for landing

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

&gt; Source/WebCore/page/Quirks.cpp:77
&gt; +static inline bool hostMatchesDomainOrSubdomains(const StringView&amp; host, const StringView&amp; domain)

Should just be StringView, not const StringView&amp;.

No need to say inline here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692680</commentid>
    <comment_count>9</comment_count>
      <attachid>409916</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-28 14:52:24 -0700</bug_when>
    <thetext>Comment on attachment 409916
Patch for landing

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

&gt; Source/WebCore/page/Quirks.cpp:192
&gt; +    return hostMatchesDomainOrSubdomains(m_document-&gt;topDocument().url().host(), &quot;youtube.com&quot;);

Missing &quot;.&quot; as well? :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692684</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-28 15:17:30 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 409916 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409916&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Quirks.cpp:77
&gt; &gt; +static inline bool hostMatchesDomainOrSubdomains(const StringView&amp; host, const StringView&amp; domain)
&gt; 
&gt; Should just be StringView, not const StringView&amp;.
&gt; 
&gt; &gt; Source/WebCore/page/Quirks.cpp:739
&gt; &gt; +    m_needsPreloadAutoQuirk = hostMatchesDomainOrSubdomains(m_document-&gt;url().host(), &quot;vimeo.com&quot;);
&gt; 
&gt; Missing &quot;.&quot; here. Don’t land this!

Ack! I&apos;ll re-author this to make this a static assert. This should be something that can be caught at compilation time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693018</commentid>
    <comment_count>11</comment_count>
      <attachid>410020</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-29 11:05:06 -0700</bug_when>
    <thetext>Created attachment 410020
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693020</commentid>
    <comment_count>12</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-29 11:08:08 -0700</bug_when>
    <thetext>I banged my head against C++17&apos;s support for constexpr string literals, static_assert&apos;s requirements, (lack of) support for strings as template arguments, and could not come up with a reasonable solution for doing compile-time checking of string contents.

This should get better in C++20, maybe. Until then, I rewrote the hostMatchesDomainOrSubdomains() function to not require a domain parameter starting with a period, which in addition to not imposing a weird requirement on the domain parameter, should also make the comparison faster by only doing a string equality check once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693023</commentid>
    <comment_count>13</comment_count>
      <attachid>410020</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-29 11:11:43 -0700</bug_when>
    <thetext>Comment on attachment 410020
Patch for landing

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

&gt; Source/WebCore/page/Quirks.cpp:361
&gt; -        auto host = url.host().convertToASCIILowercase();
&gt; +        auto host = url.host();

Please do not land. This breaks a bunch of the code below, including the &quot;trailers.apple.com&quot; check and the &quot;.naver.com&quot; check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693024</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-29 11:12:03 -0700</bug_when>
    <thetext>Can we separate this one new quirk from the refactoring, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693103</commentid>
    <comment_count>15</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-29 13:14:40 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #14)
&gt; Can we separate this one new quirk from the refactoring, please?

Sure, we can just land the original reviewed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693143</commentid>
    <comment_count>16</comment_count>
      <attachid>410049</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-09-29 14:10:56 -0700</bug_when>
    <thetext>Created attachment 410049
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693237</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-29 17:13:19 -0700</bug_when>
    <thetext>Committed r267773: &lt;https://trac.webkit.org/changeset/267773&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410049.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409908</attachid>
            <date>2020-09-28 11:48:20 -0700</date>
            <delta_ts>2020-09-28 11:53:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217060-20200928114820.patch</filename>
            <type>text/plain</type>
            <size>3454</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI3ZWQzMWMxZDM2NTAx
NDA4ODVlYjg5NzJiZGVjNzM5MzQzN2YzZS4uYTc0MDNhZTYyYzhiN2IyNGNiMmZhNWE2NDlkYWUy
OWUxMTRhNWVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4gbW9kZSBv
biBtbGIuY29tIHNob3dzIHdoaXRlIGxldHRlcmJveGluZyB3aGVuIHZpZGVvIGFzcGVjdCByYXRp
byBkb2VzIG5vdCBtYXRjaCBzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNzA2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg5MzYwNDM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
UXVpcmsgd2hpY2ggc2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiBmdWxsc2NyZWVuIGVsZW1l
bnRzIG9uIG1sYi5jb20gdG8gYmxhY2suCisKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1
aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorICAgICAgICAqIHN0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHls
ZTo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudCk6CisKIDIwMjAtMDktMjMgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gUm91dGluZyBh
cmJpdHJhdGlvbiBkb2VzIG5vdCBiZWdpbiBhZnRlciBhIHJvdXRlIGhpamFjawpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9R
dWlya3MuY3BwCmluZGV4IGFjZDZmNzE2MGNmMGVjN2Q1MDIxMzk4OGNmNmIwMmUxZDliMzk2NGYu
LmY5ZjQ4ZDc4MTlmNGQ2ODU3NTA2YWE4MDE4ZjVlYjBhZWRkODU3OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1
aXJrcy5jcHAKQEAgLTEwNzEsNCArMTA3MSwxNyBAQCBib29sIFF1aXJrczo6bmVlZHNBa2FtYWlN
ZWRpYVBsYXllclF1aXJrKGNvbnN0IEhUTUxWaWRlb0VsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiAj
ZW5kaWYKIH0KIAorYm9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1
aXJrKCkgY29uc3QKK3sKKyAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmICghbV9uZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaykg
eworICAgICAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT51cmwoKS5ob3N0KCk7CisgICAgICAg
IG1fbmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcmsgPSBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShob3N0LCAibWxiLmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FT
Q0lJQ2FzZSgiLm1sYi5jb20iKTsKKyAgICB9CisKKyAgICByZXR1cm4gKm1fbmVlZHNCbGFja0Z1
bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcms7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IDUz
MzllNjk0YzJlNTM1MjU4NmRiM2QyMzdhZTdhOWUyOTJjZjY2NzMuLjM5NWU2MGI4ZGVmYTU4Mjc0
YWY2YTg1OGQzZDI2M2E1ZTMyMjI2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UXVpcmtzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtMTE5LDYgKzEx
OSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIG5lZWRzQWthbWFpTWVkaWFQbGF5ZXJRdWly
ayhjb25zdCBIVE1MVmlkZW9FbGVtZW50JikgY29uc3Q7CiAKKyAgICBib29sIG5lZWRzQmxhY2tG
dWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgYm9vbCBu
ZWVkc1F1aXJrcygpIGNvbnN0OwogCkBAIC0xNDksNiArMTUxLDcgQEAgcHJpdmF0ZToKICAgICBt
dXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fc2hvdWxkQnlwYXNzQXN5bmNTY3JpcHREZWZlcnJpbmc7
CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25lZWRzVlA5RnVsbFJhbmdlRmxhZ1F1aXJr
OwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc0hEUlBpeGVsRGVwdGhRdWlyazsK
KyAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3Jv
dW5kUXVpcms7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2Vy
QWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAK
aW5kZXggNjc1M2Q5OWExMGQ2YmYzYjMzMjU4NzU3OTY3YzAwZmFjZjc4YzJlZS4uNTE1Y2U4NDUx
ZjYzMGQ3ZTA5M2NmMTIyMWJmOTI3OWViMjg5ODgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmNwcApAQCAtMjg5LDYgKzI4OSw4IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6
OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICAgICAgU3RyaW5nQnVpbGRlciBmdWxsc2NyZWVuUnVsZXM7CiAgICAgICAgIGZ1bGxz
Y3JlZW5SdWxlcy5hcHBlbmRDaGFyYWN0ZXJzKGZ1bGxzY3JlZW5Vc2VyQWdlbnRTdHlsZVNoZWV0
LCBzaXplb2YoZnVsbHNjcmVlblVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKICAgICAgICAgZnVsbHNj
cmVlblJ1bGVzLmFwcGVuZChSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZXh0cmFGdWxsU2NyZWVu
U3R5bGVTaGVldCgpKTsKKyAgICAgICAgaWYgKGVsZW1lbnQuZG9jdW1lbnQoKS5xdWlya3MoKS5u
ZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaygpKQorICAgICAgICAgICAgZnVsbHNj
cmVlblJ1bGVzLmFwcGVuZCgiOi13ZWJraXQtZnVsbC1zY3JlZW4geyBiYWNrZ3JvdW5kLWNvbG9y
OiBibGFjazsgfSJfcyk7CiAgICAgICAgIGZ1bGxzY3JlZW5TdHlsZVNoZWV0ID0gcGFyc2VVQVNo
ZWV0KGZ1bGxzY3JlZW5SdWxlcy50b1N0cmluZygpKTsKICAgICAgICAgYWRkVG9EZWZhdWx0U3R5
bGUoKmZ1bGxzY3JlZW5TdHlsZVNoZWV0KTsKICAgICB9Cg==
</data>
<flag name="review"
          id="425730"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409916</attachid>
            <date>2020-09-28 13:49:17 -0700</date>
            <delta_ts>2020-09-29 11:05:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217060-20200928134916.patch</filename>
            <type>text/plain</type>
            <size>18686</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI3ZWQzMWMxZDM2NTAx
NDA4ODVlYjg5NzJiZGVjNzM5MzQzN2YzZS4uOGE1NGUwNWJhZjU1M2FlNjdmNzliMDdjMDE2MzA3
MDI4ZTM2YjllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA5LTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4gbW9kZSBv
biBtbGIuY29tIHNob3dzIHdoaXRlIGxldHRlcmJveGluZyB3aGVuIHZpZGVvIGFzcGVjdCByYXRp
byBkb2VzIG5vdCBtYXRjaCBzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNzA2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg5MzYwNDM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGEgUXVp
cmsgd2hpY2ggc2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiBmdWxsc2NyZWVuIGVsZW1lbnRz
IG9uIG1sYi5jb20gdG8gYmxhY2suCisKKyAgICAgICAgQWRkZWQgYSBuZXcgaGVscGVyIGZ1bmN0
aW9uLCBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucygpLCB3aGljaCBpbXBsZW1lbnRzIHRo
ZSBwYXR0ZXJuIHdoZXJlIGEKKyAgICAgICAgZ2l2ZW4gaG9zdG5hbWUgZWl0aGVyIG1hdGNoZXMg
YSBUTEQgb3IgZW5kcyB3aXRoIHRoYXQgVExELiBVc2UgdGhpcyBuZXcgaGVscGVyIGZ1bmN0aW9u
IGluIGFsbCB0aGUgcGxhY2VzCisgICAgICAgIHdoZXJlIHRoYXQgcGF0dGVybiBpcyB1c2VkIGlu
c2lkZSBRdWlya3MuY3BwLgorCisgICAgICAgICogcGFnZS9RdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6aG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UXVpcmtzOjpuZWVkc0Zvcm1Db250cm9sVG9CZU1vdXNlRm9jdXNhYmxlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNTZWVraW5nU3VwcG9ydERpc2FibGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNQZXJEb2N1bWVudEF1dG9wbGF5QmVo
YXZpb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRBdXRvcGxheUZv
ckFyYml0cmFyeVVzZXJHZXN0dXJlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6
aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UXVpcmtzOjpzaG91bGREaXNhYmxlQ29udGVudENoYW5nZU9ic2VydmVyVG91Y2hF
dmVudEFkanVzdG1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRE
aXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VF
dmVudHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaW11bGF0ZWRNb3VzZUV2
ZW50VHlwZUZvclRhcmdldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3Vs
ZFByZXZlbnRQb2ludGVyTWVkaWFRdWVyeUZyb21FdmFsdWF0aW5nVG9Db2Fyc2UgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRBdm9pZFJlc2l6aW5nV2hlbklucHV0Vmll
d0JvdW5kc0NoYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZERp
c2FibGVQb2ludGVyRXZlbnRzUXVpcmsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtz
OjpuZWVkc0Z1bGxzY3JlZW5EaXNwbGF5Tm9uZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlF1aXJrczo6c2hvdWxkU2lsZW5jZVdpbmRvd1Jlc2l6ZUV2ZW50cyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZFNpbGVuY2VNZWRpYVF1ZXJ5TGlzdENoYW5nZUV2
ZW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZFVzZUxlZ2FjeVNl
bGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhhdmlvckluRGF0YUFjdGl2YXRpb24gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UXVpcmtzOjpuZWVkc1ByZWxvYWRBdXRvUXVpcmsgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGREaXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5RdWly
ayBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzQ2FuUGxheUFmdGVyU2Vl
a2VkUXVpcmsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRJZ25vcmVD
b250ZW50T2JzZXJ2YXRpb25Gb3JTeW50aGV0aWNDbGljayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrIGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHlsZTo6ZW5zdXJlRGVm
YXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudCk6CisKIDIwMjAtMDktMjMgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gUm91dGluZyBhcmJpdHJhdGlvbiBk
b2VzIG5vdCBiZWdpbiBhZnRlciBhIHJvdXRlIGhpamFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmlu
ZGV4IGFjZDZmNzE2MGNmMGVjN2Q1MDIxMzk4OGNmNmIwMmUxZDliMzk2NGYuLjhlNmM2MGIyYTIy
N2JjZDM4MjJkZTRkOGJiNWEyMGU3MmVkMTRhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAg
LTc0LDYgKzc0LDEyIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1lhaG9vTWFpbChEb2N1bWVudCYg
ZG9jdW1lbnQpCiB9CiAjZW5kaWYKIAorc3RhdGljIGlubGluZSBib29sIGhvc3RNYXRjaGVzRG9t
YWluT3JTdWJkb21haW5zKGNvbnN0IFN0cmluZ1ZpZXcmIGhvc3QsIGNvbnN0IFN0cmluZ1ZpZXcm
IGRvbWFpbikKK3sKKyAgICBBU1NFUlQoZG9tYWluLnN0YXJ0c1dpdGgoJy4nKSk7CisgICAgcmV0
dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgZG9tYWluLnN1YnN0cmluZygxKSkgfHwg
aG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKGRvbWFpbik7Cit9CisKIFF1aXJrczo6UXVp
cmtzKERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQobWFrZVdlYWtQdHIoZG9j
dW1lbnQpKQogewpAQCAtOTcsOCArMTAzLDcgQEAgYm9vbCBRdWlya3M6Om5lZWRzRm9ybUNvbnRy
b2xUb0JlTW91c2VGb2N1c2FibGUoKSBjb25zdAogICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dXJsKCku
aG9zdCgpOwotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAi
Y2VhYy5zdGF0ZS5nb3YiKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5jZWFj
LnN0YXRlLmdvdiIpOworICAgIHJldHVybiBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyht
X2RvY3VtZW50LT51cmwoKS5ob3N0KCksICIuY2VhYy5zdGF0ZS5nb3YiKTsKICNlbHNlCiAgICAg
cmV0dXJuIGZhbHNlOwogI2VuZGlmCkBAIC0xMjAsOCArMTI1LDcgQEAgYm9vbCBRdWlya3M6Om5l
ZWRzU2Vla2luZ1N1cHBvcnREaXNhYmxlZCgpIGNvbnN0CiAgICAgaWYgKCFuZWVkc1F1aXJrcygp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50
b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UoaG9zdCwgIm5ldGZsaXguY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5n
QVNDSUlDYXNlKCIubmV0ZmxpeC5jb20iKTsKKyAgICByZXR1cm4gaG9zdE1hdGNoZXNEb21haW5P
clN1YmRvbWFpbnMobV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKS5ob3N0KCksICIubmV0
ZmxpeC5jb20iKTsKIH0KIAogYm9vbCBRdWlya3M6Om5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJl
aGF2aW9yKCkgY29uc3QKQEAgLTEzMyw4ICsxMzcsNyBAQCBib29sIFF1aXJrczo6bmVlZHNQZXJE
b2N1bWVudEF1dG9wbGF5QmVoYXZpb3IoKSBjb25zdAogICAgIGlmICghbmVlZHNRdWlya3MoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dG9w
RG9jdW1lbnQoKS51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGhvc3QsICJuZXRmbGl4LmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FT
Q0lJQ2FzZSgiLm5ldGZsaXguY29tIik7CisgICAgcmV0dXJuIGhvc3RNYXRjaGVzRG9tYWluT3JT
dWJkb21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpLCAiLm5ldGZs
aXguY29tIik7CiAjZW5kaWYKIH0KIApAQCAtMTQ2LDggKzE0OSw3IEBAIGJvb2wgUXVpcmtzOjpz
aG91bGRBdXRvcGxheUZvckFyYml0cmFyeVVzZXJHZXN0dXJlKCkgY29uc3QKICAgICBpZiAoIW5l
ZWRzUXVpcmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gaG9zdCA9IG1f
ZG9jdW1lbnQtPnVybCgpLmhvc3QoKTsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoaG9zdCwgInR3aXR0ZXIuY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVND
SUlDYXNlKCIudHdpdHRlci5jb20iKTsKKyAgICByZXR1cm4gaG9zdE1hdGNoZXNEb21haW5PclN1
YmRvbWFpbnMobV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpLCAiLnR3aXR0ZXIuY29tIik7CiAjZW5k
aWYKIH0KIApAQCAtMTY4LDE0ICsxNzAsMTEgQEAgYm9vbCBRdWlya3M6Omhhc0Jyb2tlbkVuY3J5
cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkgY29uc3QKICAgICBpZiAobV9oYXNCcm9rZW5FbmNy
eXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaykKICAgICAgICAgcmV0dXJuIG1faGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsudmFsdWUoKTsKIAotICAgIGF1dG8gZG9tYWluID0g
bV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5kb21haW4oKS5jb252ZXJ0VG9BU0NJSUxvd2Vy
Y2FzZSgpOworICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZG9t
YWluKCk7CiAKLSAgICBtX2hhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrID0g
ZG9tYWluID09ICJzdGFyei5jb20iCi0gICAgICAgIHx8IGRvbWFpbi5lbmRzV2l0aCgiLnN0YXJ6
LmNvbSIpCi0gICAgICAgIHx8IGRvbWFpbiA9PSAieW91dHViZS5jb20iCi0gICAgICAgIHx8IGRv
bWFpbi5lbmRzV2l0aCgiLnlvdXR1YmUuY29tIikKLSAgICAgICAgfHwgZG9tYWluID09ICJodWx1
LmNvbSIKLSAgICAgICAgfHwgZG9tYWluLmVuZHNXaXRoKCJodWx1LmNvbSIpOworICAgIG1faGFz
QnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsgPSBob3N0TWF0Y2hlc0RvbWFpbk9y
U3ViZG9tYWlucyhob3N0LCAiLnN0YXJ6LmNvbSIpCisgICAgICAgIHx8IGhvc3RNYXRjaGVzRG9t
YWluT3JTdWJkb21haW5zKGhvc3QsICIueW91dHViZS5jb20iKQorICAgICAgICB8fCBob3N0TWF0
Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiLmh1bHUuY29tIik7CiAKICAgICByZXR1cm4g
bV9oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyay52YWx1ZSgpOwogfQpAQCAt
MTkwLDggKzE4OSw3IEBAIGJvb2wgUXVpcmtzOjpzaG91bGREaXNhYmxlQ29udGVudENoYW5nZU9i
c2VydmVyVG91Y2hFdmVudEFkanVzdG1lbnQoKSBjb25zdAogICAgIGlmICghdG9wRG9jdW1lbnRM
b2FkZXIgfHwgIXRvcERvY3VtZW50TG9hZGVyLT5hbGxvd0NvbnRlbnRDaGFuZ2VPYnNlcnZlclF1
aXJrKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1l
bnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOwotICAgIHJldHVybiBob3N0LmVuZHNXaXRo
KCIueW91dHViZS5jb20iKSB8fCBob3N0ID09ICJ5b3V0dWJlLmNvbSI7CisgICAgcmV0dXJuIGhv
c3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJs
KCkuaG9zdCgpLCAieW91dHViZS5jb20iKTsKIH0KIAogYm9vbCBRdWlya3M6Om5lZWRzTWlsbGlz
ZWNvbmRSZXNvbHV0aW9uRm9ySGlnaFJlc1RpbWVTdGFtcCgpIGNvbnN0CkBAIC0yNzIsMTAgKzI3
MCwxMCBAQCBib29sIFF1aXJrczo6c2hvdWxkRGlzcGF0Y2hTeW50aGV0aWNNb3VzZUV2ZW50c1do
ZW5Nb2RpZnlpbmdTZWxlY3Rpb24oKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgIm1lZGl1bS5jb20iKSB8
fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5tZWRpdW0uY29tIikpCisgICAgaWYg
KGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICIubWVkaXVtLmNvbSIpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShob3N0LCAid2VlYmx5LmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgi
LndlZWJseS5jb20iKSkKKyAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9z
dCwgIi53ZWVibHkuY29tIikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMzQ4LDI2ICszNDYsMjYgQEAgYm9vbCBRdWlya3M6OnNob3VsZERpc3BhdGNoU2lt
dWxhdGVkTW91c2VFdmVudHMoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAg
ICAgICAgYXV0byYgdXJsID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKTsKLSAgICAg
ICAgYXV0byBob3N0ID0gdXJsLmhvc3QoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOworICAg
ICAgICBhdXRvIGhvc3QgPSB1cmwuaG9zdCgpOwogCi0gICAgICAgIGlmIChob3N0ID09ICJ3aXgu
Y29tIiB8fCBob3N0LmVuZHNXaXRoKCIud2l4LmNvbSIpKSB7CisgICAgICAgIGlmIChob3N0TWF0
Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiLndpeC5jb20iKSkgewogICAgICAgICAgICAg
Ly8gRGlzYWJsZSBzaW11bGF0ZWQgbW91c2UgZGlzcGF0Y2hpbmcgZm9yIHRlbXBsYXRlIHNlbGVj
dGlvbi4KICAgICAgICAgICAgIHJldHVybiAhdXJsLnBhdGgoKS5zdGFydHNXaXRoSWdub3JpbmdB
U0NJSUNhc2UoIi93ZWJzaXRlL3RlbXBsYXRlcy8iKTsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICgoaG9zdCA9PSAiZGVzbW9zLmNvbSIgfHwgaG9zdC5lbmRzV2l0aCgiLmRlc21vcy5jb20iKSkg
JiYgdXJsLnBhdGgoKS5zdGFydHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi9jYWxjdWxhdG9yLyIp
KQorICAgICAgICBpZiAoKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICIuZGVz
bW9zLmNvbSIpKSAmJiB1cmwucGF0aCgpLnN0YXJ0c1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiL2Nh
bGN1bGF0b3IvIikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYgKGhvc3Qg
PT0gImZpZ21hLmNvbSIgfHwgaG9zdC5lbmRzV2l0aCgiLmZpZ21hLmNvbSIpKQorICAgICAgICBp
ZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgIi5maWdtYS5jb20iKSkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoaG9zdCA9PSAidHJlbGxvLmNvbSIg
fHwgaG9zdC5lbmRzV2l0aCgiLnRyZWxsby5jb20iKSkKKyAgICAgICAgaWYgKGhvc3RNYXRjaGVz
RG9tYWluT3JTdWJkb21haW5zKGhvc3QsICIudHJlbGxvLmNvbSIpKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIGlmIChob3N0ID09ICJhaXJ0YWJsZS5jb20iIHx8IGhvc3QuZW5k
c1dpdGgoIi5haXJ0YWJsZS5jb20iKSkKKyAgICAgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JT
dWJkb21haW5zKGhvc3QsICIuYWlydGFibGUuY29tIikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgaWYgKGhvc3QgPT0gIm1zbi5jb20iIHx8IGhvc3QuZW5kc1dpdGgoIi5tc24u
Y29tIikpCisgICAgICAgIGlmIChob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAi
Lm1zbi5jb20iKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoaG9zdCA9
PSAiZmxpcGthcnQuY29tIiB8fCBob3N0LmVuZHNXaXRoKCIuZmxpcGthcnQuY29tIikpCisgICAg
ICAgIGlmIChob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiLmZsaXBrYXJ0LmNv
bSIpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChob3N0ID09ICJpcWl5
aS5jb20iIHx8IGhvc3QuZW5kc1dpdGgoIi5pcWl5aS5jb20iKSkKKyAgICAgICAgaWYgKGhvc3RN
YXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICIuaXFpeWkuY29tIikpCiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKGhvc3QgPT0gInRyYWlsZXJzLmFwcGxlLmNvbSIp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM3Nyw3ICszNzUsNyBAQCBib29sIFF1aXJr
czo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZWRNb3VzZUV2ZW50cygpIGNvbnN0CiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKGhvc3QgPT0gIm5obC5jb20iIHx8IChob3N0LmVu
ZHNXaXRoKCIubmhsLmNvbSIpICYmICFob3N0LnN0YXJ0c1dpdGgoImFjY291bnQuIikpKQogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChob3N0ID09ICJuYmEuY29tIiB8fCBo
b3N0LmVuZHNXaXRoKCIubmJhLmNvbSIpKQorICAgICAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5P
clN1YmRvbWFpbnMoaG9zdCwgIi5uYmEuY29tIikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgaWYgKGhvc3QuZW5kc1dpdGgoIi5uYXZlci5jb20iKSkgewogICAgICAgICAgICAg
Ly8gRGlzYWJsZSB0aGUgcXVpcmsgZm9yIHR2Lm5hdmVyLmNvbSBzdWJkb21haW4gdG8gYmUgYWJs
ZSB0byBzaW11bGF0ZSBob3ZlciBvbiB2aWRlb3MuCkBAIC00MzQsMTAgKzQzMiwxMCBAQCBPcHRp
b25hbDxFdmVudDo6SXNDYW5jZWxhYmxlPiBRdWlya3M6OnNpbXVsYXRlZE1vdXNlRXZlbnRUeXBl
Rm9yVGFyZ2V0KEV2ZW50VGFyZwogICAgIH0KIAogICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1lbnQt
PnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShob3N0LCAiZGVzbW9zLmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FT
Q0lJQ2FzZSgiLmRlc21vcy5jb20iKSkKKyAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRv
bWFpbnMoaG9zdCwgIi5kZXNtb3MuY29tIikpCiAgICAgICAgIHJldHVybiBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpObzsKIAotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0
LCAiYWlydGFibGUuY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuYWly
dGFibGUuY29tIikpIHsKKyAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9z
dCwgIi5haXJ0YWJsZS5jb20iKSkgewogICAgICAgICAvLyBXZSB3YW50IHRvIGxpbWl0IHNpbXVs
YXRlZCBtb3VzZSBldmVudHMgdG8gZWxlbWVudHMgdW5kZXIgPGRpdiBpZD0icGFuZUNvbnRhaW5l
ciI+IHRvIGFsbG93IGZvciBjb2x1bW4gcmUtb3JkZXJpbmcgYW5kIG11bHRpcGxlIGNlbGwgc2Vs
ZWN0aW9uLgogICAgICAgICBpZiAoaXM8Tm9kZT4odGFyZ2V0KSkgewogICAgICAgICAgICAgYXV0
byogbm9kZSA9IGRvd25jYXN0PE5vZGU+KHRhcmdldCk7CkBAIC00NzcsOCArNDc1LDcgQEAgYm9v
bCBRdWlya3M6OnNob3VsZFByZXZlbnRQb2ludGVyTWVkaWFRdWVyeUZyb21FdmFsdWF0aW5nVG9D
b2Fyc2UoKSBjb25zdAogICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKS5o
b3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJz
aHV0dGVyc3RvY2suY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuc2h1
dHRlcnN0b2NrLmNvbSIpOworICAgIHJldHVybiBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlu
cyhtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKSwgIi5zaHV0dGVyc3RvY2su
Y29tIik7CiB9CiAKIGJvb2wgUXVpcmtzOjpzaG91bGRQcmV2ZW50RGlzcGF0Y2hPZlRvdWNoRXZl
bnQoY29uc3QgQXRvbVN0cmluZyYgdG91Y2hFdmVudFR5cGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQp
IGNvbnN0CkBAIC01MTYsMTMgKzUxMywxMyBAQCBib29sIFF1aXJrczo6c2hvdWxkQXZvaWRSZXNp
emluZ1doZW5JbnB1dFZpZXdCb3VuZHNDaGFuZ2UoKSBjb25zdAogICAgIGF1dG8mIHVybCA9IG1f
ZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCk7CiAgICAgYXV0byBob3N0ID0gdXJsLmhvc3Qo
KTsKIAotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAibGl2ZS5j
b20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5saXZlLmNvbSIpKQorICAg
IGlmIChob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiLmxpdmUuY29tIikpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGhvc3QsICJ0d2l0dGVyLmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2Fz
ZSgiLnR3aXR0ZXIuY29tIikpCisgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5z
KGhvc3QsICIudHdpdHRlci5jb20iKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAo
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJnb29nbGUuY29tIikgfHwgaG9z
dC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuZ29vZ2xlLmNvbSIpKSAmJiB1cmwucGF0aCgp
LnN0YXJ0c1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiL21hcHMvIikpCisgICAgaWYgKGhvc3RNYXRj
aGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICIuZ29vZ2xlLmNvbSIpICYmIHVybC5wYXRoKCku
c3RhcnRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIvbWFwcy8iKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKICAgICBpZiAoaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuc2hhcmVwb2lu
dC5jb20iKSkKQEAgLTUzNyw5ICs1MzQsNyBAQCBib29sIFF1aXJrczo6c2hvdWxkRGlzYWJsZVBv
aW50ZXJFdmVudHNRdWlyaygpIGNvbnN0CiAgICAgaWYgKCFuZWVkc1F1aXJrcygpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvJiB1cmwgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVu
dCgpLnVybCgpOwotICAgIGF1dG8gaG9zdCA9IHVybC5ob3N0KCk7Ci0gICAgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJtYWlsY2hpbXAuY29tIikgfHwgaG9zdC5lbmRz
V2l0aElnbm9yaW5nQVNDSUlDYXNlKCIubWFpbGNoaW1wLmNvbSIpKQorICAgIGlmIChob3N0TWF0
Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhv
c3QoKSwgIi5tYWlsY2hpbXAuY29tIikpCiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtNjMyLDEwICs2MjcsOCBAQCBib29sIFF1aXJrczo6bmVlZHNG
dWxsc2NyZWVuRGlzcGxheU5vbmVRdWlyaygpIGNvbnN0CiAgICAgaWYgKCFuZWVkc1F1aXJrcygp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIW1fbmVlZHNGdWxsc2NyZWVuRGlz
cGxheU5vbmVRdWlyaykgewotICAgICAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1
bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICAgICAgbV9uZWVkc0Z1bGxzY3JlZW5EaXNwbGF5Tm9u
ZVF1aXJrID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImdpem1vZG8uY29t
IikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuZ2l6bW9kby5jb20iKTsKLSAg
ICB9CisgICAgaWYgKCFtX25lZWRzRnVsbHNjcmVlbkRpc3BsYXlOb25lUXVpcmspCisgICAgICAg
IG1fbmVlZHNGdWxsc2NyZWVuRGlzcGxheU5vbmVRdWlyayA9IGhvc3RNYXRjaGVzRG9tYWluT3JT
dWJkb21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpLCAiLmdpem1v
ZG8uY29tIik7CiAKICAgICByZXR1cm4gKm1fbmVlZHNGdWxsc2NyZWVuRGlzcGxheU5vbmVRdWly
azsKICNlbHNlCkBAIC02NTcsOCArNjUwLDggQEAgYm9vbCBRdWlya3M6OnNob3VsZFNpbGVuY2VX
aW5kb3dSZXNpemVFdmVudHMoKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBh
dXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICBy
ZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgIm55dGltZXMuY29tIikg
fHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIubnl0aW1lcy5jb20iKQotICAgICAg
ICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHdpdHRlci5jb20iKSB8
fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi50d2l0dGVyLmNvbSIpOworICAgIHJl
dHVybiBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiLm55dGltZXMuY29tIikK
KyAgICAgICAgfHwgaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgIi50d2l0dGVy
LmNvbSIpOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKQEAgLTY3Niw4ICs2Njks
NyBAQCBib29sIFF1aXJrczo6c2hvdWxkU2lsZW5jZU1lZGlhUXVlcnlMaXN0Q2hhbmdlRXZlbnRz
KCkgY29uc3QKICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmlzVGFraW5nU25hcHNob3RzRm9yQXBw
bGljYXRpb25TdXNwZW5zaW9uKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8g
aG9zdCA9IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOwotICAgIHJldHVy
biBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHdpdHRlci5jb20iKSB8fCBo
b3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi50d2l0dGVyLmNvbSIpOworICAgIHJldHVy
biBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCks
ICIudHdpdHRlci5jb20iKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCkBAIC02
OTYsOCArNjg4LDcgQEAgYm9vbCBRdWlya3M6OnNob3VsZFVzZUxlZ2FjeVNlbGVjdFBvcG92ZXJE
aXNtaXNzYWxCZWhhdmlvckluRGF0YUFjdGl2YXRpb24oKSBjb24KICAgICBpZiAoIW5lZWRzUXVp
cmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1l
bnQtPnVybCgpLmhvc3QoKTsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoaG9zdCwgImF0dC5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5h
dHQuY29tIik7CisgICAgcmV0dXJuIGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9j
dW1lbnQtPnVybCgpLmhvc3QoKSwgIi5hdHQuY29tIik7CiB9CiAKIGJvb2wgUXVpcmtzOjpzaG91
bGRJZ25vcmVBcmlhRm9yRmFzdFBhdGhDb250ZW50T2JzZXJ2YXRpb25DaGVjaygpIGNvbnN0CkBA
IC03NDUsOSArNzM2LDcgQEAgYm9vbCBRdWlya3M6Om5lZWRzUHJlbG9hZEF1dG9RdWlyaygpIGNv
bnN0CiAgICAgaWYgKG1fbmVlZHNQcmVsb2FkQXV0b1F1aXJrKQogICAgICAgICByZXR1cm4gbV9u
ZWVkc1ByZWxvYWRBdXRvUXVpcmsudmFsdWUoKTsKIAotICAgIGF1dG8gZG9tYWluID0gbV9kb2N1
bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5kb21haW4oKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgp
OwotCi0gICAgbV9uZWVkc1ByZWxvYWRBdXRvUXVpcmsgPSBkb21haW4gPT0gInZpbWVvLmNvbSIg
fHwgZG9tYWluLmVuZHNXaXRoKCJ2aW1lby5jb20iKTsKKyAgICBtX25lZWRzUHJlbG9hZEF1dG9R
dWlyayA9IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnVybCgpLmhv
c3QoKSwgInZpbWVvLmNvbSIpOwogCiAgICAgcmV0dXJuIG1fbmVlZHNQcmVsb2FkQXV0b1F1aXJr
LnZhbHVlKCk7CiAjZWxzZQpAQCAtODU3LDkgKzg0Niw3IEBAIGJvb2wgUXVpcmtzOjpzaG91bGRE
aXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5RdWlyaygpIGNvbnN0CiAgICAgaWYgKG1fc2hvdWxkRGlz
YWJsZUVsZW1lbnRGdWxsc2NyZWVuUXVpcmspCiAgICAgICAgIHJldHVybiBtX3Nob3VsZERpc2Fi
bGVFbGVtZW50RnVsbHNjcmVlblF1aXJrLnZhbHVlKCk7CiAKLSAgICBhdXRvIGRvbWFpbiA9IG1f
ZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZG9tYWluKCkuY29udmVydFRvQVNDSUlMb3dlcmNh
c2UoKTsKLQotICAgIG1fc2hvdWxkRGlzYWJsZUVsZW1lbnRGdWxsc2NyZWVuUXVpcmsgPSBkb21h
aW4gPT0gIm5mbC5jb20iIHx8IGRvbWFpbi5lbmRzV2l0aCgiLm5mbC5jb20iKTsKKyAgICBtX3No
b3VsZERpc2FibGVFbGVtZW50RnVsbHNjcmVlblF1aXJrID0gaG9zdE1hdGNoZXNEb21haW5PclN1
YmRvbWFpbnMobV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpLCAiLm5mbC5jb20iKTsKIAogICAgIHJl
dHVybiBtX3Nob3VsZERpc2FibGVFbGVtZW50RnVsbHNjcmVlblF1aXJrLnZhbHVlKCk7CiAjZWxz
ZQpAQCAtODc1LDkgKzg2Miw3IEBAIGJvb2wgUXVpcmtzOjpuZWVkc0NhblBsYXlBZnRlclNlZWtl
ZFF1aXJrKCkgY29uc3QKICAgICBpZiAobV9uZWVkc0NhblBsYXlBZnRlclNlZWtlZFF1aXJrKQog
ICAgICAgICByZXR1cm4gKm1fbmVlZHNDYW5QbGF5QWZ0ZXJTZWVrZWRRdWlyazsKIAotICAgIGF1
dG8gZG9tYWluID0gbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS5kb21haW4oKS5jb252ZXJ0
VG9BU0NJSUxvd2VyY2FzZSgpOwotCi0gICAgbV9uZWVkc0NhblBsYXlBZnRlclNlZWtlZFF1aXJr
ID0gZG9tYWluID09ICJodWx1LmNvbSIgfHwgZG9tYWluLmVuZHNXaXRoKCIuaHVsdS5jb20iKTsK
KyAgICBtX25lZWRzQ2FuUGxheUFmdGVyU2Vla2VkUXVpcmsgPSBob3N0TWF0Y2hlc0RvbWFpbk9y
U3ViZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICIuaHVsdS5jb20iKTsKIAogICAg
IHJldHVybiBtX25lZWRzQ2FuUGxheUFmdGVyU2Vla2VkUXVpcmsudmFsdWUoKTsKIH0KQEAgLTg5
Nyw4ICs4ODIsNyBAQCBib29sIFF1aXJrczo6c2hvdWxkSWdub3JlQ29udGVudE9ic2VydmF0aW9u
Rm9yU3ludGhldGljQ2xpY2soYm9vbCBpc0ZpcnN0U3ludGhldAogICAgIGlmICghbmVlZHNRdWly
a3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVu
dC0+dXJsKCkuaG9zdCgpOwotICAgIHJldHVybiBpc0ZpcnN0U3ludGhldGljQ2xpY2tPblBhZ2Ug
JiYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJzaHV0dGVyc3RvY2suY29t
IikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuc2h1dHRlcnN0b2NrLmNvbSIp
KTsKKyAgICByZXR1cm4gaXNGaXJzdFN5bnRoZXRpY0NsaWNrT25QYWdlICYmIGhvc3RNYXRjaGVz
RG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnVybCgpLmhvc3QoKSwgIi5zaHV0dGVyc3Rv
Y2suY29tIik7CiB9CiAKIGJvb2wgUXVpcmtzOjpzaG91bGRBdm9pZFBhc3RpbmdJbWFnZXNBc1dl
YkNvbnRlbnQoKSBjb25zdApAQCAtMTA3MSw0ICsxMDU1LDE3IEBAIGJvb2wgUXVpcmtzOjpuZWVk
c0FrYW1haU1lZGlhUGxheWVyUXVpcmsoY29uc3QgSFRNTFZpZGVvRWxlbWVudCYgZWxlbWVudCkg
Y29uc3QKICNlbmRpZgogfQogCitib29sIFF1aXJrczo6bmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNr
Z3JvdW5kUXVpcmsoKSBjb25zdAoreworICAgIC8vIE1MQi5jb20gc2V0cyBhIGJsYWNrIGJhY2tn
cm91bmQtY29sb3Igb24gdGhlIDpiYWNrZHJvcCBwc2V1ZG8gZWxlbWVudCwgd2hpY2ggV2ViS2l0
IGRvZXMgbm90IHlldCBzdXBwb3J0LiBUaGlzCisgICAgLy8gcXVpcmsgY2FuIGJlIHJlbW92ZWQg
b25jZSBzdXBwb3J0IGZvciA6YmFja2Ryb3AgcHNlZHVlIGVsZW1lbnQgaXMgYWRkZWQuCisgICAg
aWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1f
bmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcmspCisgICAgICAgIG1fbmVlZHNCbGFj
a0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcmsgPSBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlu
cyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICIubWxiLmNvbSIpOworCisgICAgcmV0dXJuICpt
X25lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrOworfQorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWly
a3MuaAppbmRleCA1MzM5ZTY5NGMyZTUzNTI1ODZkYjNkMjM3YWU3YTllMjkyY2Y2NjczLi4zOTVl
NjBiOGRlZmE1ODI3NGFmNmE4NThkM2QyNjNhNWUzMjIyNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgK
QEAgLTExOSw2ICsxMTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBuZWVkc0FrYW1haU1l
ZGlhUGxheWVyUXVpcmsoY29uc3QgSFRNTFZpZGVvRWxlbWVudCYpIGNvbnN0OwogCisgICAgYm9v
bCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaygpIGNvbnN0OworCiBwcml2YXRl
OgogICAgIGJvb2wgbmVlZHNRdWlya3MoKSBjb25zdDsKIApAQCAtMTQ5LDYgKzE1MSw3IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX3Nob3VsZEJ5cGFzc0FzeW5jU2Ny
aXB0RGVmZXJyaW5nOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc1ZQOUZ1bGxS
YW5nZUZsYWdRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNIRFJQaXhl
bERlcHRoUXVpcms7CisgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25lZWRzQmxhY2tGdWxs
c2NyZWVuQmFja2dyb3VuZFF1aXJrOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuY3BwCmluZGV4IDY3NTNkOTlhMTBkNmJmM2IzMzI1ODc1Nzk2N2MwMGZhY2Y3OGMy
ZWUuLjUxNWNlODQ1MWY2MzBkN2UwOTNjZjEyMjFiZjkyNzllYjI4OTg4MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTI4OSw2ICsyODksOCBAQCB2b2lkIFVz
ZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIFN0cmluZ0J1aWxkZXIgZnVsbHNjcmVlblJ1bGVzOwog
ICAgICAgICBmdWxsc2NyZWVuUnVsZXMuYXBwZW5kQ2hhcmFjdGVycyhmdWxsc2NyZWVuVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKGZ1bGxzY3JlZW5Vc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiAg
ICAgICAgIGZ1bGxzY3JlZW5SdWxlcy5hcHBlbmQoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4
dHJhRnVsbFNjcmVlblN0eWxlU2hlZXQoKSk7CisgICAgICAgIGlmIChlbGVtZW50LmRvY3VtZW50
KCkucXVpcmtzKCkubmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcmsoKSkKKyAgICAg
ICAgICAgIGZ1bGxzY3JlZW5SdWxlcy5hcHBlbmQoIjotd2Via2l0LWZ1bGwtc2NyZWVuIHsgYmFj
a2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iX3MpOwogICAgICAgICBmdWxsc2NyZWVuU3R5bGVTaGVl
dCA9IHBhcnNlVUFTaGVldChmdWxsc2NyZWVuUnVsZXMudG9TdHJpbmcoKSk7CiAgICAgICAgIGFk
ZFRvRGVmYXVsdFN0eWxlKCpmdWxsc2NyZWVuU3R5bGVTaGVldCk7CiAgICAgfQo=
</data>
<flag name="commit-queue"
          id="425752"
          type_id="3"
          status="-"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410020</attachid>
            <date>2020-09-29 11:05:06 -0700</date>
            <delta_ts>2020-09-29 14:10:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217060-20200929110505.patch</filename>
            <type>text/plain</type>
            <size>20102</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVkZjg0YjA0MTNkMjA0
ZmVlNzBlN2QyMDI3M2U0YzZmZjZiYjQyNS4uN2I2Nzk5ZTVlYTI1Y2JlN2U2YWVhMTQwNzliZmY0
NjliZTc2NDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTA5LTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4gbW9kZSBv
biBtbGIuY29tIHNob3dzIHdoaXRlIGxldHRlcmJveGluZyB3aGVuIHZpZGVvIGFzcGVjdCByYXRp
byBkb2VzIG5vdCBtYXRjaCBzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNzA2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg5MzYwNDM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGEgUXVp
cmsgd2hpY2ggc2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiBmdWxsc2NyZWVuIGVsZW1lbnRz
IG9uIG1sYi5jb20gdG8gYmxhY2suCisKKyAgICAgICAgQWRkZWQgYSBuZXcgaGVscGVyIGZ1bmN0
aW9uLCBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucygpLCB3aGljaCBpbXBsZW1lbnRzIHRo
ZSBwYXR0ZXJuIHdoZXJlIGEKKyAgICAgICAgZ2l2ZW4gaG9zdG5hbWUgZWl0aGVyIG1hdGNoZXMg
YSBUTEQgb3IgZW5kcyB3aXRoIHRoYXQgVExELiBVc2UgdGhpcyBuZXcgaGVscGVyIGZ1bmN0aW9u
IGluIGFsbCB0aGUgcGxhY2VzCisgICAgICAgIHdoZXJlIHRoYXQgcGF0dGVybiBpcyB1c2VkIGlu
c2lkZSBRdWlya3MuY3BwLgorCisgICAgICAgICogcGFnZS9RdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6aG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UXVpcmtzOjpuZWVkc0Zvcm1Db250cm9sVG9CZU1vdXNlRm9jdXNhYmxlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNTZWVraW5nU3VwcG9ydERpc2FibGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNQZXJEb2N1bWVudEF1dG9wbGF5QmVo
YXZpb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRBdXRvcGxheUZv
ckFyYml0cmFyeVVzZXJHZXN0dXJlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6
aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UXVpcmtzOjpzaG91bGREaXNhYmxlQ29udGVudENoYW5nZU9ic2VydmVyVG91Y2hF
dmVudEFkanVzdG1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRE
aXNwYXRjaFN5bnRoZXRpY01vdXNlRXZlbnRzV2hlbk1vZGlmeWluZ1NlbGVjdGlvbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VF
dmVudHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaW11bGF0ZWRNb3VzZUV2
ZW50VHlwZUZvclRhcmdldCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3Vs
ZFByZXZlbnRQb2ludGVyTWVkaWFRdWVyeUZyb21FdmFsdWF0aW5nVG9Db2Fyc2UgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRBdm9pZFJlc2l6aW5nV2hlbklucHV0Vmll
d0JvdW5kc0NoYW5nZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZERp
c2FibGVQb2ludGVyRXZlbnRzUXVpcmsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtz
OjpuZWVkc0Z1bGxzY3JlZW5EaXNwbGF5Tm9uZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlF1aXJrczo6c2hvdWxkU2lsZW5jZVdpbmRvd1Jlc2l6ZUV2ZW50cyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZFNpbGVuY2VNZWRpYVF1ZXJ5TGlzdENoYW5nZUV2
ZW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZFVzZUxlZ2FjeVNl
bGVjdFBvcG92ZXJEaXNtaXNzYWxCZWhhdmlvckluRGF0YUFjdGl2YXRpb24gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UXVpcmtzOjpuZWVkc1ByZWxvYWRBdXRvUXVpcmsgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGREaXNhYmxlRWxlbWVudEZ1bGxzY3JlZW5RdWly
ayBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzQ2FuUGxheUFmdGVyU2Vl
a2VkUXVpcmsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpzaG91bGRJZ25vcmVD
b250ZW50T2JzZXJ2YXRpb25Gb3JTeW50aGV0aWNDbGljayBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrIGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHlsZTo6ZW5zdXJlRGVm
YXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudCk6CisKIDIwMjAtMDktMjMgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gUm91dGluZyBhcmJpdHJhdGlvbiBk
b2VzIG5vdCBiZWdpbiBhZnRlciBhIHJvdXRlIGhpamFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmlu
ZGV4IGFjZDZmNzE2MGNmMGVjN2Q1MDIxMzk4OGNmNmIwMmUxZDliMzk2NGYuLjA5MmU3NzcwOGVk
OGUzMTJlMjlhOWEyNjdhMWZiYzk4OTJhNWY0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAg
LTc0LDYgKzc0LDI0IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1lhaG9vTWFpbChEb2N1bWVudCYg
ZG9jdW1lbnQpCiB9CiAjZW5kaWYKIAorc3RhdGljIGJvb2wgaG9zdE1hdGNoZXNEb21haW5PclN1
YmRvbWFpbnMoU3RyaW5nVmlldyBob3N0LCBTdHJpbmdWaWV3IGRvbWFpbikKK3sKKyAgICAvLyBU
aGlzIG1ldGhvZCBjaGVja3MgZm9yIHN1YmRvbWFpbnMgaXRzZWxmOyBkbyBub3QgY2FsbCB3aXRo
IGEgZG9tYWluCisgICAgLy8gYXJndW1lbnQgc3RhcnRpbmcgd2l0aCAnLicuCisgICAgQVNTRVJU
KCFkb21haW4uc3RhcnRzV2l0aCgnLicpKTsKKworICAgIGlmICghaG9zdC5lbmRzV2l0aElnbm9y
aW5nQVNDSUlDYXNlKGRvbWFpbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIEVu
ZHMgd2l0aCBhbmQgc2FtZSBsZW5ndGggbWVhbnMgc3RyaW5nIGVxdWFsaXR5CisgICAgaWYgKGhv
c3QubGVuZ3RoKCkgPT0gZG9tYWluLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIC8vIGBob3N0YCBjYW5ub3QgYm90aCBlbmQgd2l0aCBgZG9tYWluYCBhbmQgYWxzbyBiZSBz
aG9ydGVyIHRoYW4gYGRvbWFpbmAgc28KKyAgICAvLyBhY2Nlc3NpbmcgYGhvc3RgcyBgZG9tYWlu
Lmxlbmd0aCgpICsgMWAtdGggY2hhcmFjdGVyIGZyb20gZW5kIGlzIHNhZmUuCisgICAgcmV0dXJu
IGhvc3QuY2hhcmFjdGVyQXQoaG9zdC5sZW5ndGgoKSAtIGRvbWFpbi5sZW5ndGgoKSAtIDEpID09
ICcuJzsKK30KKwogUXVpcmtzOjpRdWlya3MoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIDogbV9k
b2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CkBAIC05Nyw4ICsxMTUsNyBAQCBib29s
IFF1aXJrczo6bmVlZHNGb3JtQ29udHJvbFRvQmVNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAgICAg
aWYgKCFuZWVkc1F1aXJrcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvIGhv
c3QgPSBtX2RvY3VtZW50LT51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKGhvc3QsICJjZWFjLnN0YXRlLmdvdiIpIHx8IGhvc3QuZW5kc1dpdGhJ
Z25vcmluZ0FTQ0lJQ2FzZSgiLmNlYWMuc3RhdGUuZ292Iik7CisgICAgcmV0dXJuIGhvc3RNYXRj
aGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnVybCgpLmhvc3QoKSwgImNlYWMuc3Rh
dGUuZ292Iik7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpAQCAtMTIwLDggKzEz
Nyw3IEBAIGJvb2wgUXVpcmtzOjpuZWVkc1NlZWtpbmdTdXBwb3J0RGlzYWJsZWQoKSBjb25zdAog
ICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0
byBob3N0ID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKS5ob3N0KCk7Ci0gICAgcmV0
dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJuZXRmbGl4LmNvbSIpIHx8
IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXguY29tIik7CisgICAgcmV0
dXJuIGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50
KCkudXJsKCkuaG9zdCgpLCAibmV0ZmxpeC5jb20iKTsKIH0KIAogYm9vbCBRdWlya3M6Om5lZWRz
UGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yKCkgY29uc3QKQEAgLTEzMyw4ICsxNDksNyBAQCBi
b29sIFF1aXJrczo6bmVlZHNQZXJEb2N1bWVudEF1dG9wbGF5QmVoYXZpb3IoKSBjb25zdAogICAg
IGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBo
b3N0ID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJu
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJuZXRmbGl4LmNvbSIpIHx8IGhv
c3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXguY29tIik7CisgICAgcmV0dXJu
IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCku
dXJsKCkuaG9zdCgpLCAibmV0ZmxpeC5jb20iKTsKICNlbmRpZgogfQogCkBAIC0xNDYsOCArMTYx
LDcgQEAgYm9vbCBRdWlya3M6OnNob3VsZEF1dG9wbGF5Rm9yQXJiaXRyYXJ5VXNlckdlc3R1cmUo
KSBjb25zdAogICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpOwotICAgIHJldHVybiBl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHdpdHRlci5jb20iKSB8fCBob3N0
LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi50d2l0dGVyLmNvbSIpOworICAgIHJldHVybiBo
b3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICJ0
d2l0dGVyLmNvbSIpOwogI2VuZGlmCiB9CiAKQEAgLTE2OCwxNCArMTgyLDExIEBAIGJvb2wgUXVp
cmtzOjpoYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpIGNvbnN0CiAgICAg
aWYgKG1faGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmspCiAgICAgICAgIHJl
dHVybiBtX2hhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrLnZhbHVlKCk7CiAK
LSAgICBhdXRvIGRvbWFpbiA9IG1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZG9tYWluKCku
Y29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKKyAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLmRvbWFpbigpOwogCi0gICAgbV9oYXNCcm9rZW5FbmNyeXB0ZWRNZWRp
YUFQSVN1cHBvcnRRdWlyayA9IGRvbWFpbiA9PSAic3RhcnouY29tIgotICAgICAgICB8fCBkb21h
aW4uZW5kc1dpdGgoIi5zdGFyei5jb20iKQotICAgICAgICB8fCBkb21haW4gPT0gInlvdXR1YmUu
Y29tIgotICAgICAgICB8fCBkb21haW4uZW5kc1dpdGgoIi55b3V0dWJlLmNvbSIpCi0gICAgICAg
IHx8IGRvbWFpbiA9PSAiaHVsdS5jb20iCi0gICAgICAgIHx8IGRvbWFpbi5lbmRzV2l0aCgiaHVs
dS5jb20iKTsKKyAgICBtX2hhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrID0g
aG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgInN0YXJ6LmNvbSIpCisgICAgICAg
IHx8IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJ5b3V0dWJlLmNvbSIpCisg
ICAgICAgIHx8IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJodWx1LmNvbSIp
OwogCiAgICAgcmV0dXJuIG1faGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsu
dmFsdWUoKTsKIH0KQEAgLTE5MCw4ICsyMDEsNyBAQCBib29sIFF1aXJrczo6c2hvdWxkRGlzYWJs
ZUNvbnRlbnRDaGFuZ2VPYnNlcnZlclRvdWNoRXZlbnRBZGp1c3RtZW50KCkgY29uc3QKICAgICBp
ZiAoIXRvcERvY3VtZW50TG9hZGVyIHx8ICF0b3BEb2N1bWVudExvYWRlci0+YWxsb3dDb250ZW50
Q2hhbmdlT2JzZXJ2ZXJRdWlyaygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRv
IGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICByZXR1
cm4gaG9zdC5lbmRzV2l0aCgiLnlvdXR1YmUuY29tIikgfHwgaG9zdCA9PSAieW91dHViZS5jb20i
OworICAgIHJldHVybiBob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT50
b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKSwgIm91dHViZS5jb20iKTsKIH0KIAogYm9vbCBRdWly
a3M6Om5lZWRzTWlsbGlzZWNvbmRSZXNvbHV0aW9uRm9ySGlnaFJlc1RpbWVTdGFtcCgpIGNvbnN0
CkBAIC0yNzIsMTAgKzI4MiwxMCBAQCBib29sIFF1aXJrczo6c2hvdWxkRGlzcGF0Y2hTeW50aGV0
aWNNb3VzZUV2ZW50c1doZW5Nb2RpZnlpbmdTZWxlY3Rpb24oKSBjb25zdAogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVy
bCgpLmhvc3QoKTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwg
Im1lZGl1bS5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5tZWRpdW0u
Y29tIikpCisgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJtZWRp
dW0uY29tIikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ3ZWVibHkuY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9y
aW5nQVNDSUlDYXNlKCIud2VlYmx5LmNvbSIpKQorICAgIGlmIChob3N0TWF0Y2hlc0RvbWFpbk9y
U3ViZG9tYWlucyhob3N0LCAid2VlYmx5LmNvbSIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIHJldHVybiBmYWxzZTsKQEAgLTM0OCwyNiArMzU4LDI2IEBAIGJvb2wgUXVpcmtzOjpzaG91
bGREaXNwYXRjaFNpbXVsYXRlZE1vdXNlRXZlbnRzKCkgY29uc3QKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgICAgIGF1dG8mIHVybCA9IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCku
dXJsKCk7Ci0gICAgICAgIGF1dG8gaG9zdCA9IHVybC5ob3N0KCkuY29udmVydFRvQVNDSUlMb3dl
cmNhc2UoKTsKKyAgICAgICAgYXV0byBob3N0ID0gdXJsLmhvc3QoKTsKIAotICAgICAgICBpZiAo
aG9zdCA9PSAid2l4LmNvbSIgfHwgaG9zdC5lbmRzV2l0aCgiLndpeC5jb20iKSkgeworICAgICAg
ICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgIndpeC5jb20iKSkgewog
ICAgICAgICAgICAgLy8gRGlzYWJsZSBzaW11bGF0ZWQgbW91c2UgZGlzcGF0Y2hpbmcgZm9yIHRl
bXBsYXRlIHNlbGVjdGlvbi4KICAgICAgICAgICAgIHJldHVybiAhdXJsLnBhdGgoKS5zdGFydHNX
aXRoSWdub3JpbmdBU0NJSUNhc2UoIi93ZWJzaXRlL3RlbXBsYXRlcy8iKTsKICAgICAgICAgfQog
Ci0gICAgICAgIGlmICgoaG9zdCA9PSAiZGVzbW9zLmNvbSIgfHwgaG9zdC5lbmRzV2l0aCgiLmRl
c21vcy5jb20iKSkgJiYgdXJsLnBhdGgoKS5zdGFydHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi9j
YWxjdWxhdG9yLyIpKQorICAgICAgICBpZiAoKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5z
KGhvc3QsICJkZXNtb3MuY29tIikpICYmIHVybC5wYXRoKCkuc3RhcnRzV2l0aElnbm9yaW5nQVND
SUlDYXNlKCIvY2FsY3VsYXRvci8iKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICBpZiAoaG9zdCA9PSAiZmlnbWEuY29tIiB8fCBob3N0LmVuZHNXaXRoKCIuZmlnbWEuY29tIikp
CisgICAgICAgIGlmIChob3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAiZmlnbWEu
Y29tIikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYgKGhvc3QgPT0gInRy
ZWxsby5jb20iIHx8IGhvc3QuZW5kc1dpdGgoIi50cmVsbG8uY29tIikpCisgICAgICAgIGlmICho
b3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhob3N0LCAidHJlbGxvLmNvbSIpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChob3N0ID09ICJhaXJ0YWJsZS5jb20iIHx8
IGhvc3QuZW5kc1dpdGgoIi5haXJ0YWJsZS5jb20iKSkKKyAgICAgICAgaWYgKGhvc3RNYXRjaGVz
RG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJhaXJ0YWJsZS5jb20iKSkKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICBpZiAoaG9zdCA9PSAibXNuLmNvbSIgfHwgaG9zdC5lbmRzV2l0
aCgiLm1zbi5jb20iKSkKKyAgICAgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5z
KGhvc3QsICJtc24uY29tIikpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYg
KGhvc3QgPT0gImZsaXBrYXJ0LmNvbSIgfHwgaG9zdC5lbmRzV2l0aCgiLmZsaXBrYXJ0LmNvbSIp
KQorICAgICAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgImZsaXBr
YXJ0LmNvbSIpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChob3N0ID09
ICJpcWl5aS5jb20iIHx8IGhvc3QuZW5kc1dpdGgoIi5pcWl5aS5jb20iKSkKKyAgICAgICAgaWYg
KGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJpcWl5aS5jb20iKSkKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoaG9zdCA9PSAidHJhaWxlcnMuYXBwbGUu
Y29tIikKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMzc3LDcgKzM4Nyw3IEBAIGJvb2wg
UXVpcmtzOjpzaG91bGREaXNwYXRjaFNpbXVsYXRlZE1vdXNlRXZlbnRzKCkgY29uc3QKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoaG9zdCA9PSAibmhsLmNvbSIgfHwgKGhv
c3QuZW5kc1dpdGgoIi5uaGwuY29tIikgJiYgIWhvc3Quc3RhcnRzV2l0aCgiYWNjb3VudC4iKSkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWYgKGhvc3QgPT0gIm5iYS5jb20i
IHx8IGhvc3QuZW5kc1dpdGgoIi5uYmEuY29tIikpCisgICAgICAgIGlmIChob3N0TWF0Y2hlc0Rv
bWFpbk9yU3ViZG9tYWlucyhob3N0LCAibmJhLmNvbSIpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGlmIChob3N0LmVuZHNXaXRoKCIubmF2ZXIuY29tIikpIHsKICAgICAgICAg
ICAgIC8vIERpc2FibGUgdGhlIHF1aXJrIGZvciB0di5uYXZlci5jb20gc3ViZG9tYWluIHRvIGJl
IGFibGUgdG8gc2ltdWxhdGUgaG92ZXIgb24gdmlkZW9zLgpAQCAtNDM0LDEwICs0NDQsMTAgQEAg
T3B0aW9uYWw8RXZlbnQ6OklzQ2FuY2VsYWJsZT4gUXVpcmtzOjpzaW11bGF0ZWRNb3VzZUV2ZW50
VHlwZUZvclRhcmdldChFdmVudFRhcmcKICAgICB9CiAKICAgICBhdXRvIGhvc3QgPSBtX2RvY3Vt
ZW50LT50b3BEb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoaG9zdCwgImRlc21vcy5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3Jp
bmdBU0NJSUNhc2UoIi5kZXNtb3MuY29tIikpCisgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JT
dWJkb21haW5zKGhvc3QsICJkZXNtb3MuY29tIikpCiAgICAgICAgIHJldHVybiBFdmVudDo6SXND
YW5jZWxhYmxlOjpObzsKIAotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZSho
b3N0LCAiYWlydGFibGUuY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIu
YWlydGFibGUuY29tIikpIHsKKyAgICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMo
aG9zdCwgImFpcnRhYmxlLmNvbSIpKSB7CiAgICAgICAgIC8vIFdlIHdhbnQgdG8gbGltaXQgc2lt
dWxhdGVkIG1vdXNlIGV2ZW50cyB0byBlbGVtZW50cyB1bmRlciA8ZGl2IGlkPSJwYW5lQ29udGFp
bmVyIj4gdG8gYWxsb3cgZm9yIGNvbHVtbiByZS1vcmRlcmluZyBhbmQgbXVsdGlwbGUgY2VsbCBz
ZWxlY3Rpb24uCiAgICAgICAgIGlmIChpczxOb2RlPih0YXJnZXQpKSB7CiAgICAgICAgICAgICBh
dXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4odGFyZ2V0KTsKQEAgLTQ3Nyw4ICs0ODcsNyBAQCBi
b29sIFF1aXJrczo6c2hvdWxkUHJldmVudFBvaW50ZXJNZWRpYVF1ZXJ5RnJvbUV2YWx1YXRpbmdU
b0NvYXJzZSgpIGNvbnN0CiAgICAgaWYgKCFuZWVkc1F1aXJrcygpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgp
Lmhvc3QoKTsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwg
InNodXR0ZXJzdG9jay5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5z
aHV0dGVyc3RvY2suY29tIik7CisgICAgcmV0dXJuIGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21h
aW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpLCAic2h1dHRlcnN0b2Nr
LmNvbSIpOwogfQogCiBib29sIFF1aXJrczo6c2hvdWxkUHJldmVudERpc3BhdGNoT2ZUb3VjaEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmIHRvdWNoRXZlbnRUeXBlLCBFdmVudFRhcmdldCogdGFyZ2V0
KSBjb25zdApAQCAtNTE2LDEzICs1MjUsMTMgQEAgYm9vbCBRdWlya3M6OnNob3VsZEF2b2lkUmVz
aXppbmdXaGVuSW5wdXRWaWV3Qm91bmRzQ2hhbmdlKCkgY29uc3QKICAgICBhdXRvJiB1cmwgPSBt
X2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpOwogICAgIGF1dG8gaG9zdCA9IHVybC5ob3N0
KCk7CiAKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImxpdmUu
Y29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIubGl2ZS5jb20iKSkKKyAg
ICBpZiAoaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgImxpdmUuY29tIikpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGhvc3QsICJ0d2l0dGVyLmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2Fz
ZSgiLnR3aXR0ZXIuY29tIikpCisgICAgaWYgKGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5z
KGhvc3QsICJ0d2l0dGVyLmNvbSIpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmICgo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImdvb2dsZS5jb20iKSB8fCBob3N0
LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5nb29nbGUuY29tIikpICYmIHVybC5wYXRoKCku
c3RhcnRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIvbWFwcy8iKSkKKyAgICBpZiAoaG9zdE1hdGNo
ZXNEb21haW5PclN1YmRvbWFpbnMoaG9zdCwgImdvb2dsZS5jb20iKSAmJiB1cmwucGF0aCgpLnN0
YXJ0c1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiL21hcHMvIikpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgaWYgKGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnNoYXJlcG9pbnQu
Y29tIikpCkBAIC01MzcsOSArNTQ2LDcgQEAgYm9vbCBRdWlya3M6OnNob3VsZERpc2FibGVQb2lu
dGVyRXZlbnRzUXVpcmsoKSBjb25zdAogICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byYgdXJsID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQo
KS51cmwoKTsKLSAgICBhdXRvIGhvc3QgPSB1cmwuaG9zdCgpOwotICAgIGlmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAibWFpbGNoaW1wLmNvbSIpIHx8IGhvc3QuZW5kc1dp
dGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm1haWxjaGltcC5jb20iKSkKKyAgICBpZiAoaG9zdE1hdGNo
ZXNEb21haW5PclN1YmRvbWFpbnMobV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKS5ob3N0
KCksICJtYWlsY2hpbXAuY29tIikpCiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtNjMyLDEwICs2MzksOCBAQCBib29sIFF1aXJrczo6bmVlZHNGdWxs
c2NyZWVuRGlzcGxheU5vbmVRdWlyaygpIGNvbnN0CiAgICAgaWYgKCFuZWVkc1F1aXJrcygpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIW1fbmVlZHNGdWxsc2NyZWVuRGlzcGxh
eU5vbmVRdWlyaykgewotICAgICAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVu
dCgpLnVybCgpLmhvc3QoKTsKLSAgICAgICAgbV9uZWVkc0Z1bGxzY3JlZW5EaXNwbGF5Tm9uZVF1
aXJrID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImdpem1vZG8uY29tIikg
fHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuZ2l6bW9kby5jb20iKTsKLSAgICB9
CisgICAgaWYgKCFtX25lZWRzRnVsbHNjcmVlbkRpc3BsYXlOb25lUXVpcmspCisgICAgICAgIG1f
bmVlZHNGdWxsc2NyZWVuRGlzcGxheU5vbmVRdWlyayA9IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJk
b21haW5zKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpLCAiZ2l6bW9kby5j
b20iKTsKIAogICAgIHJldHVybiAqbV9uZWVkc0Z1bGxzY3JlZW5EaXNwbGF5Tm9uZVF1aXJrOwog
I2Vsc2UKQEAgLTY1Nyw4ICs2NjIsOCBAQCBib29sIFF1aXJrczo6c2hvdWxkU2lsZW5jZVdpbmRv
d1Jlc2l6ZUV2ZW50cygpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8g
aG9zdCA9IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOwotICAgIHJldHVy
biBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAibnl0aW1lcy5jb20iKSB8fCBo
b3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5ueXRpbWVzLmNvbSIpCi0gICAgICAgIHx8
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ0d2l0dGVyLmNvbSIpIHx8IGhv
c3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnR3aXR0ZXIuY29tIik7CisgICAgcmV0dXJu
IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJueXRpbWVzLmNvbSIpCisgICAg
ICAgIHx8IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5zKGhvc3QsICJ0d2l0dGVyLmNvbSIp
OwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKQEAgLTY3Niw4ICs2ODEsNyBAQCBi
b29sIFF1aXJrczo6c2hvdWxkU2lsZW5jZU1lZGlhUXVlcnlMaXN0Q2hhbmdlRXZlbnRzKCkgY29u
c3QKICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmlzVGFraW5nU25hcHNob3RzRm9yQXBwbGljYXRp
b25TdXNwZW5zaW9uKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gaG9zdCA9
IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOwotICAgIHJldHVybiBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHdpdHRlci5jb20iKSB8fCBob3N0LmVu
ZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi50d2l0dGVyLmNvbSIpOworICAgIHJldHVybiBob3N0
TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICJ0d2l0
dGVyLmNvbSIpOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKQEAgLTY5Niw4ICs3
MDAsNyBAQCBib29sIFF1aXJrczo6c2hvdWxkVXNlTGVnYWN5U2VsZWN0UG9wb3ZlckRpc21pc3Nh
bEJlaGF2aW9ySW5EYXRhQWN0aXZhdGlvbigpIGNvbgogICAgIGlmICghbmVlZHNRdWlya3MoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dXJs
KCkuaG9zdCgpOwotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0
LCAiYXR0LmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmF0dC5jb20i
KTsKKyAgICByZXR1cm4gaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMobV9kb2N1bWVudC0+
dXJsKCkuaG9zdCgpLCAiYXR0LmNvbSIpOwogfQogCiBib29sIFF1aXJrczo6c2hvdWxkSWdub3Jl
QXJpYUZvckZhc3RQYXRoQ29udGVudE9ic2VydmF0aW9uQ2hlY2soKSBjb25zdApAQCAtNzQ1LDkg
Kzc0OCw3IEBAIGJvb2wgUXVpcmtzOjpuZWVkc1ByZWxvYWRBdXRvUXVpcmsoKSBjb25zdAogICAg
IGlmIChtX25lZWRzUHJlbG9hZEF1dG9RdWlyaykKICAgICAgICAgcmV0dXJuIG1fbmVlZHNQcmVs
b2FkQXV0b1F1aXJrLnZhbHVlKCk7CiAKLSAgICBhdXRvIGRvbWFpbiA9IG1fZG9jdW1lbnQtPnNl
Y3VyaXR5T3JpZ2luKCkuZG9tYWluKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKLQotICAg
IG1fbmVlZHNQcmVsb2FkQXV0b1F1aXJrID0gZG9tYWluID09ICJ2aW1lby5jb20iIHx8IGRvbWFp
bi5lbmRzV2l0aCgidmltZW8uY29tIik7CisgICAgbV9uZWVkc1ByZWxvYWRBdXRvUXVpcmsgPSBo
b3N0TWF0Y2hlc0RvbWFpbk9yU3ViZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICJp
bWVvLmNvbSIpOwogCiAgICAgcmV0dXJuIG1fbmVlZHNQcmVsb2FkQXV0b1F1aXJrLnZhbHVlKCk7
CiAjZWxzZQpAQCAtODU3LDkgKzg1OCw3IEBAIGJvb2wgUXVpcmtzOjpzaG91bGREaXNhYmxlRWxl
bWVudEZ1bGxzY3JlZW5RdWlyaygpIGNvbnN0CiAgICAgaWYgKG1fc2hvdWxkRGlzYWJsZUVsZW1l
bnRGdWxsc2NyZWVuUXVpcmspCiAgICAgICAgIHJldHVybiBtX3Nob3VsZERpc2FibGVFbGVtZW50
RnVsbHNjcmVlblF1aXJrLnZhbHVlKCk7CiAKLSAgICBhdXRvIGRvbWFpbiA9IG1fZG9jdW1lbnQt
PnNlY3VyaXR5T3JpZ2luKCkuZG9tYWluKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKLQot
ICAgIG1fc2hvdWxkRGlzYWJsZUVsZW1lbnRGdWxsc2NyZWVuUXVpcmsgPSBkb21haW4gPT0gIm5m
bC5jb20iIHx8IGRvbWFpbi5lbmRzV2l0aCgiLm5mbC5jb20iKTsKKyAgICBtX3Nob3VsZERpc2Fi
bGVFbGVtZW50RnVsbHNjcmVlblF1aXJrID0gaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMo
bV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpLCAibmZsLmNvbSIpOwogCiAgICAgcmV0dXJuIG1fc2hv
dWxkRGlzYWJsZUVsZW1lbnRGdWxsc2NyZWVuUXVpcmsudmFsdWUoKTsKICNlbHNlCkBAIC04NzUs
OSArODc0LDcgQEAgYm9vbCBRdWlya3M6Om5lZWRzQ2FuUGxheUFmdGVyU2Vla2VkUXVpcmsoKSBj
b25zdAogICAgIGlmIChtX25lZWRzQ2FuUGxheUFmdGVyU2Vla2VkUXVpcmspCiAgICAgICAgIHJl
dHVybiAqbV9uZWVkc0NhblBsYXlBZnRlclNlZWtlZFF1aXJrOwogCi0gICAgYXV0byBkb21haW4g
PSBtX2RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLmRvbWFpbigpLmNvbnZlcnRUb0FTQ0lJTG93
ZXJjYXNlKCk7Ci0KLSAgICBtX25lZWRzQ2FuUGxheUFmdGVyU2Vla2VkUXVpcmsgPSBkb21haW4g
PT0gImh1bHUuY29tIiB8fCBkb21haW4uZW5kc1dpdGgoIi5odWx1LmNvbSIpOworICAgIG1fbmVl
ZHNDYW5QbGF5QWZ0ZXJTZWVrZWRRdWlyayA9IGhvc3RNYXRjaGVzRG9tYWluT3JTdWJkb21haW5z
KG1fZG9jdW1lbnQtPnVybCgpLmhvc3QoKSwgImh1bHUuY29tIik7CiAKICAgICByZXR1cm4gbV9u
ZWVkc0NhblBsYXlBZnRlclNlZWtlZFF1aXJrLnZhbHVlKCk7CiB9CkBAIC04OTcsOCArODk0LDcg
QEAgYm9vbCBRdWlya3M6OnNob3VsZElnbm9yZUNvbnRlbnRPYnNlcnZhdGlvbkZvclN5bnRoZXRp
Y0NsaWNrKGJvb2wgaXNGaXJzdFN5bnRoZXQKICAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1lbnQtPnVybCgpLmhv
c3QoKTsKLSAgICByZXR1cm4gaXNGaXJzdFN5bnRoZXRpY0NsaWNrT25QYWdlICYmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAic2h1dHRlcnN0b2NrLmNvbSIpIHx8IGhvc3Qu
ZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnNodXR0ZXJzdG9jay5jb20iKSk7CisgICAgcmV0
dXJuIGlzRmlyc3RTeW50aGV0aWNDbGlja09uUGFnZSAmJiBob3N0TWF0Y2hlc0RvbWFpbk9yU3Vi
ZG9tYWlucyhtX2RvY3VtZW50LT51cmwoKS5ob3N0KCksICJzaHV0dGVyc3RvY2suY29tIik7CiB9
CiAKIGJvb2wgUXVpcmtzOjpzaG91bGRBdm9pZFBhc3RpbmdJbWFnZXNBc1dlYkNvbnRlbnQoKSBj
b25zdApAQCAtOTcyLDcgKzk2OCw3IEBAIFF1aXJrczo6U3RvcmFnZUFjY2Vzc1Jlc3VsdCBRdWly
a3M6OnRyaWdnZXJPcHRpb25hbFN0b3JhZ2VBY2Nlc3NRdWlyayhjb25zdCBFbGVtCiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFJlZ2lzdHJhYmxlRG9tYWluPiBraW5qYURvbWFpbiB7IGtpbmph
VVJMIH07CiAKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVnaXN0cmFibGVEb21haW4+IHlv
dVR1YmVEb21haW4gPSBSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lz
dHJhYmxlRG9tYWluU3RyaW5nKCJ5b3V0dWJlLmNvbSJfcyk7Ci0gICAgCisKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBsb2dpblBvcHVwV2luZG93RmVhdHVyZVN0cmluZyA9ICJ0
b29sYmFyPW5vLGxvY2F0aW9uPXllcyxkaXJlY3Rvcmllcz1ubyxzdGF0dXM9bm8sbWVudWJhcj1u
byxzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLGNvcHloaXN0b3J5PW5vLHdpZHRoPTU5OSxo
ZWlnaHQ9NjAwLHRvcD00MjAsbGVmdD05ODAuNSJfczsKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxVc2VyU2NyaXB0PiBraW5qYUxvZ2luVXNlclNjcmlwdCB7ICJmdW5jdGlvbiB0cmlnZ2Vy
TG9naW5Gb3JtKCkgeyBsZXQgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NO
YW1lKCdqc19oZWFkZXItdXNlcmJ1dHRvbicpOyBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHNbMF0p
IHsgZWxlbWVudHNbMF0uY2xpY2soKTsgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7IH0gfSBsZXQg
aW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCh0cmlnZ2VyTG9naW5Gb3JtLCAyMDApOyIsIFVSTChhYm91
dEJsYW5rVVJMKCkpLCBWZWN0b3I8U3RyaW5nPigpLCBWZWN0b3I8U3RyaW5nPigpLCBVc2VyU2Ny
aXB0SW5qZWN0aW9uVGltZTo6RG9jdW1lbnRFbmQsIFVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXM6
OkluamVjdEluVG9wRnJhbWVPbmx5LCBXYWl0Rm9yTm90aWZpY2F0aW9uQmVmb3JlSW5qZWN0aW5n
OjpZZXMgfTsKQEAgLTEwNzEsNCArMTA2NywxNyBAQCBib29sIFF1aXJrczo6bmVlZHNBa2FtYWlN
ZWRpYVBsYXllclF1aXJrKGNvbnN0IEhUTUxWaWRlb0VsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiAj
ZW5kaWYKIH0KIAorYm9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1
aXJrKCkgY29uc3QKK3sKKyAgICAvLyBNTEIuY29tIHNldHMgYSBibGFjayBiYWNrZ3JvdW5kLWNv
bG9yIG9uIHRoZSA6YmFja2Ryb3AgcHNldWRvIGVsZW1lbnQsIHdoaWNoIFdlYktpdCBkb2VzIG5v
dCB5ZXQgc3VwcG9ydC4gVGhpcworICAgIC8vIHF1aXJrIGNhbiBiZSByZW1vdmVkIG9uY2Ugc3Vw
cG9ydCBmb3IgOmJhY2tkcm9wIHBzZWR1ZSBlbGVtZW50IGlzIGFkZGVkLgorICAgIGlmICghbmVl
ZHNRdWlya3MoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFtX25lZWRzQmxh
Y2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrKQorICAgICAgICBtX25lZWRzQmxhY2tGdWxsc2Ny
ZWVuQmFja2dyb3VuZFF1aXJrID0gaG9zdE1hdGNoZXNEb21haW5PclN1YmRvbWFpbnMobV9kb2N1
bWVudC0+dXJsKCkuaG9zdCgpLCAibWxiLmNvbSIpOworCisgICAgcmV0dXJuICptX25lZWRzQmxh
Y2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAppbmRl
eCA1MzM5ZTY5NGMyZTUzNTI1ODZkYjNkMjM3YWU3YTllMjkyY2Y2NjczLi4zOTVlNjBiOGRlZmE1
ODI3NGFmNmE4NThkM2QyNjNhNWUzMjIyNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAgLTExOSw2
ICsxMTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBuZWVkc0FrYW1haU1lZGlhUGxheWVy
UXVpcmsoY29uc3QgSFRNTFZpZGVvRWxlbWVudCYpIGNvbnN0OwogCisgICAgYm9vbCBuZWVkc0Js
YWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGJv
b2wgbmVlZHNRdWlya3MoKSBjb25zdDsKIApAQCAtMTQ5LDYgKzE1MSw3IEBAIHByaXZhdGU6CiAg
ICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX3Nob3VsZEJ5cGFzc0FzeW5jU2NyaXB0RGVmZXJy
aW5nOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc1ZQOUZ1bGxSYW5nZUZsYWdR
dWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNIRFJQaXhlbERlcHRoUXVp
cms7CisgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25lZWRzQmxhY2tGdWxsc2NyZWVuQmFj
a2dyb3VuZFF1aXJrOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUu
Y3BwCmluZGV4IDY3NTNkOTlhMTBkNmJmM2IzMzI1ODc1Nzk2N2MwMGZhY2Y3OGMyZWUuLjUxNWNl
ODQ1MWY2MzBkN2UwOTNjZjEyMjFiZjkyNzllYjI4OTg4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTI4OSw2ICsyODksOCBAQCB2b2lkIFVzZXJBZ2VudFN0
eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVs
ZW1lbnQpCiAgICAgICAgIFN0cmluZ0J1aWxkZXIgZnVsbHNjcmVlblJ1bGVzOwogICAgICAgICBm
dWxsc2NyZWVuUnVsZXMuYXBwZW5kQ2hhcmFjdGVycyhmdWxsc2NyZWVuVXNlckFnZW50U3R5bGVT
aGVldCwgc2l6ZW9mKGZ1bGxzY3JlZW5Vc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiAgICAgICAgIGZ1
bGxzY3JlZW5SdWxlcy5hcHBlbmQoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJhRnVsbFNj
cmVlblN0eWxlU2hlZXQoKSk7CisgICAgICAgIGlmIChlbGVtZW50LmRvY3VtZW50KCkucXVpcmtz
KCkubmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcmsoKSkKKyAgICAgICAgICAgIGZ1
bGxzY3JlZW5SdWxlcy5hcHBlbmQoIjotd2Via2l0LWZ1bGwtc2NyZWVuIHsgYmFja2dyb3VuZC1j
b2xvcjogYmxhY2s7IH0iX3MpOwogICAgICAgICBmdWxsc2NyZWVuU3R5bGVTaGVldCA9IHBhcnNl
VUFTaGVldChmdWxsc2NyZWVuUnVsZXMudG9TdHJpbmcoKSk7CiAgICAgICAgIGFkZFRvRGVmYXVs
dFN0eWxlKCpmdWxsc2NyZWVuU3R5bGVTaGVldCk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410049</attachid>
            <date>2020-09-29 14:10:56 -0700</date>
            <delta_ts>2020-09-29 17:13:20 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217060-20200929141055.patch</filename>
            <type>text/plain</type>
            <size>3665</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVkZjg0YjA0MTNkMjA0
ZmVlNzBlN2QyMDI3M2U0YzZmZjZiYjQyNS4uMzZjODdlMzFmMzEyY2NkNTg4N2YxZjA1N2I3NDc4
ZmM3MWYwMzMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA5LTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4gbW9kZSBv
biBtbGIuY29tIHNob3dzIHdoaXRlIGxldHRlcmJveGluZyB3aGVuIHZpZGVvIGFzcGVjdCByYXRp
byBkb2VzIG5vdCBtYXRjaCBzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNzA2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg5MzYwNDM+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGEgUXVp
cmsgd2hpY2ggc2V0cyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiBmdWxsc2NyZWVuIGVsZW1lbnRz
IG9uIG1sYi5jb20gdG8gYmxhY2suCisKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJr
IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorICAgICAgICAqIHN0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHlsZTo6
ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudCk6CisKIDIwMjAtMDktMjMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gUm91dGluZyBhcmJp
dHJhdGlvbiBkb2VzIG5vdCBiZWdpbiBhZnRlciBhIHJvdXRlIGhpamFjawpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWly
a3MuY3BwCmluZGV4IGFjZDZmNzE2MGNmMGVjN2Q1MDIxMzk4OGNmNmIwMmUxZDliMzk2NGYuLmFh
MDEwMTI3ZDZlZTZmNWY1ZWZmYjU1NzI5ZDk1NWE3MWZmOTEyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJr
cy5jcHAKQEAgLTEwNzEsNCArMTA3MSwxOSBAQCBib29sIFF1aXJrczo6bmVlZHNBa2FtYWlNZWRp
YVBsYXllclF1aXJrKGNvbnN0IEhUTUxWaWRlb0VsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiAjZW5k
aWYKIH0KIAorYm9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJr
KCkgY29uc3QKK3sKKyAgICAvLyBNTEIuY29tIHNldHMgYSBibGFjayBiYWNrZ3JvdW5kLWNvbG9y
IG9uIHRoZSA6YmFja2Ryb3AgcHNldWRvIGVsZW1lbnQsIHdoaWNoIFdlYktpdCBkb2VzIG5vdCB5
ZXQgc3VwcG9ydC4gVGhpcworICAgIC8vIHF1aXJrIGNhbiBiZSByZW1vdmVkIG9uY2Ugc3VwcG9y
dCBmb3IgOmJhY2tkcm9wIHBzZWR1ZSBlbGVtZW50IGlzIGFkZGVkLgorICAgIGlmICghbmVlZHNR
dWlya3MoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFtX25lZWRzQmxhY2tG
dWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrKSB7CisgICAgICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1l
bnQtPnRvcERvY3VtZW50KCkudXJsKCkuaG9zdCgpOworICAgICAgICBtX25lZWRzQmxhY2tGdWxs
c2NyZWVuQmFja2dyb3VuZFF1aXJrID0gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9z
dCwgIm1sYi5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5tbGIuY29t
Iik7CisgICAgfQorCisgICAgcmV0dXJuICptX25lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3Vu
ZFF1aXJrOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAppbmRleCA1MzM5ZTY5NGMyZTUzNTI1ODZk
YjNkMjM3YWU3YTllMjkyY2Y2NjczLi4zOTVlNjBiOGRlZmE1ODI3NGFmNmE4NThkM2QyNjNhNWUz
MjIyNmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAgLTExOSw2ICsxMTksOCBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgYm9vbCBuZWVkc0FrYW1haU1lZGlhUGxheWVyUXVpcmsoY29uc3QgSFRNTFZpZGVv
RWxlbWVudCYpIGNvbnN0OwogCisgICAgYm9vbCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91
bmRRdWlyaygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGJvb2wgbmVlZHNRdWlya3MoKSBjb25z
dDsKIApAQCAtMTQ5LDYgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxi
b29sPiBtX3Nob3VsZEJ5cGFzc0FzeW5jU2NyaXB0RGVmZXJyaW5nOwogICAgIG11dGFibGUgT3B0
aW9uYWw8Ym9vbD4gbV9uZWVkc1ZQOUZ1bGxSYW5nZUZsYWdRdWlyazsKICAgICBtdXRhYmxlIE9w
dGlvbmFsPGJvb2w+IG1fbmVlZHNIRFJQaXhlbERlcHRoUXVpcms7CisgICAgbXV0YWJsZSBPcHRp
b25hbDxib29sPiBtX25lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrOwogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCmluZGV4IDY3NTNkOTlhMTBk
NmJmM2IzMzI1ODc1Nzk2N2MwMGZhY2Y3OGMyZWUuLjUxNWNlODQ1MWY2MzBkN2UwOTNjZjEyMjFi
ZjkyNzllYjI4OTg4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2Vu
dFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAK
QEAgLTI4OSw2ICsyODksOCBAQCB2b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5
bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIFN0cmlu
Z0J1aWxkZXIgZnVsbHNjcmVlblJ1bGVzOwogICAgICAgICBmdWxsc2NyZWVuUnVsZXMuYXBwZW5k
Q2hhcmFjdGVycyhmdWxsc2NyZWVuVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGZ1bGxzY3Jl
ZW5Vc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiAgICAgICAgIGZ1bGxzY3JlZW5SdWxlcy5hcHBlbmQo
UmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJhRnVsbFNjcmVlblN0eWxlU2hlZXQoKSk7Cisg
ICAgICAgIGlmIChlbGVtZW50LmRvY3VtZW50KCkucXVpcmtzKCkubmVlZHNCbGFja0Z1bGxzY3Jl
ZW5CYWNrZ3JvdW5kUXVpcmsoKSkKKyAgICAgICAgICAgIGZ1bGxzY3JlZW5SdWxlcy5hcHBlbmQo
Ijotd2Via2l0LWZ1bGwtc2NyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0iX3MpOwog
ICAgICAgICBmdWxsc2NyZWVuU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChmdWxsc2NyZWVuUnVs
ZXMudG9TdHJpbmcoKSk7CiAgICAgICAgIGFkZFRvRGVmYXVsdFN0eWxlKCpmdWxsc2NyZWVuU3R5
bGVTaGVldCk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>