<?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>217928</bug_id>
          
          <creation_ts>2020-10-19 16:25:14 -0700</creation_ts>
          <short_desc>%TypedArray%#sort helper functions should be globalPrivate</short_desc>
          <delta_ts>2020-10-19 23:41:19 -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>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=217854</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=217168</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1699506</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 16:25:14 -0700</bug_when>
    <thetext>%TypedArray%#sort helper functions should be globalPrivate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699507</commentid>
    <comment_count>1</comment_count>
      <attachid>411810</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 16:28:26 -0700</bug_when>
    <thetext>Created attachment 411810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699509</commentid>
    <comment_count>2</comment_count>
      <attachid>411810</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-10-19 16:30:59 -0700</bug_when>
    <thetext>Comment on attachment 411810
Patch

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

r=me

&gt; Source/JavaScriptCore/builtins/TypedArrayPrototype.js:212
&gt; +    var buffer = [];
&gt; +    buffer.length = valueCount;

Use `var buffer = @newArrayWithSize(valueCount)`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699511</commentid>
    <comment_count>3</comment_count>
      <attachid>411812</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 16:36:23 -0700</bug_when>
    <thetext>Created attachment 411812
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699512</commentid>
    <comment_count>4</comment_count>
      <attachid>411810</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-10-19 16:38:49 -0700</bug_when>
    <thetext>Comment on attachment 411810
Patch

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

&gt; Source/JavaScriptCore/builtins/GlobalOperations.js:132
&gt; +function sortMin(a, b)

In future, we may consider replacing this (and maxWithPositives() of ArrayPrototype.js) with exposed Math.{min,max} built-ins as they have fast path for 2 arguments.

&gt; Source/JavaScriptCore/builtins/TypedArrayPrototype.js:227
&gt; +        for(var i = 0; i &lt; valueCount; i++)

nit: space before a parentheses and using pre-increment instead of post-increment (based on https://bugs.webkit.org/show_bug.cgi?id=202582#c12).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699556</commentid>
    <comment_count>5</comment_count>
      <attachid>411821</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 18:04:39 -0700</bug_when>
    <thetext>Created attachment 411821
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699559</commentid>
    <comment_count>6</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 18:11:21 -0700</bug_when>
    <thetext>Thanks for the double review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699566</commentid>
    <comment_count>7</comment_count>
      <attachid>411821</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-10-19 18:35:20 -0700</bug_when>
    <thetext>Comment on attachment 411821
Patch for landing

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

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:1231
&gt; +            init.set(JSFunction::create(init.vm, jsCast&lt;JSGlobalObject*&gt;(init.owner), 0, String(), mathProtoFuncMin, TruncIntrinsic));

If there isn&apos;t a &quot;race condition&quot; during built-in objects init, we can reuse this JSFunction in MathObject::finishCreation() via `globalObject-&gt;linkTimeConstant(LinkTimeConstant::min);` to avoid creating the second one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699581</commentid>
    <comment_count>8</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 19:21:34 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #7)
&gt; Comment on attachment 411821 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411821&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:1231
&gt; &gt; +            init.set(JSFunction::create(init.vm, jsCast&lt;JSGlobalObject*&gt;(init.owner), 0, String(), mathProtoFuncMin, TruncIntrinsic));
&gt; 
&gt; If there isn&apos;t a &quot;race condition&quot; during built-in objects init, we can reuse
&gt; this JSFunction in MathObject::finishCreation() via
&gt; `globalObject-&gt;linkTimeConstant(LinkTimeConstant::min);` to avoid creating
&gt; the second one?

Is there a precedent for that? I was just mimicking mathProtoFuncTrunc here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699585</commentid>
    <comment_count>9</comment_count>
      <attachid>411821</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-10-19 19:48:25 -0700</bug_when>
    <thetext>Comment on attachment 411821
Patch for landing

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:1231
&gt;&gt;&gt; +            init.set(JSFunction::create(init.vm, jsCast&lt;JSGlobalObject*&gt;(init.owner), 0, String(), mathProtoFuncMin, TruncIntrinsic));
&gt;&gt; 
&gt;&gt; If there isn&apos;t a &quot;race condition&quot; during built-in objects init, we can reuse this JSFunction in MathObject::finishCreation() via `globalObject-&gt;linkTimeConstant(LinkTimeConstant::min);` to avoid creating the second one?
&gt; 
&gt; Is there a precedent for that? I was just mimicking mathProtoFuncTrunc here.

Not that I can find; it might be better to do this optimization in a separate patch, for all link-time-constants possible.
Oh, and please set the correct intrinsic (TruncIntrinsic =&gt; MinIntrinsic), as it&apos;s what DFG uses to emit the fast path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699594</commentid>
    <comment_count>10</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 20:34:11 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #9)
&gt; Oh, and please set the correct intrinsic (TruncIntrinsic =&gt; MinIntrinsic),
&gt; as it&apos;s what DFG uses to emit the fast path.

Oh geez, what a silly mistake. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699595</commentid>
    <comment_count>11</comment_count>
      <attachid>411834</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-19 20:35:14 -0700</bug_when>
    <thetext>Created attachment 411834
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699618</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-19 23:40:48 -0700</bug_when>
    <thetext>Committed r268715: &lt;https://trac.webkit.org/changeset/268715&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411834.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1699619</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-19 23:41:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/70472747&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411810</attachid>
            <date>2020-10-19 16:28:26 -0700</date>
            <delta_ts>2020-10-19 18:04:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217928-20201019162825.patch</filename>
            <type>text/plain</type>
            <size>6367</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZTM4NTMwOWQxODc4YjQ1MTU5M2MxMmM2ZjMxY2MzMmRmZGUwMDE3Li45YzE5ZWI0Zjg2ZTAwNDMy
OWQ1NTUxZjMyZWU1NjM4OTliNzI5ZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0xMC0xOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklI3NvcnQgaGVscGVyIGZ1bmN0aW9ucyBzaG91
bGQgYmUgZ2xvYmFsUHJpdmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE3OTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRm9sbG93aW5nIHIyNjc4MjcsIHRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0ICVU
eXBlZEFycmF5JS5wcm90b3R5cGUuc29ydCdzIGhlbHBlciBmdW5jdGlvbnM6CisgICAgICAgICAg
MS4gdXNlIHBhcmFtZXRlcnMgaW5zdGVhZCBvZiBjYXB0dXJpbmcgdmFyaWFibGVzCisgICAgICAg
ICAgMi4gYXJlIGNvbnZlcnRlZCBmcm9tIGxvY2FsIGZ1bmN0aW9ucyB0byBnbG9iYWxQcml2YXRl
IG9uZXMKKworICAgICAgICAqIGJ1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzOgorICAgICAgICAo
Z2xvYmFsUHJpdmF0ZS5zb3J0TWluKTogRGVsZXRlZC4KKyAgICAgICAgKiBidWlsdGlucy9HbG9i
YWxPcGVyYXRpb25zLmpzOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5zb3J0TWluKTogQWRkZWQu
CisgICAgICAgICogYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qczoKKyAgICAgICAgKGds
b2JhbFByaXZhdGUudHlwZWRBcnJheUVsZW1lbnRDb21wYXJlKTogQWRkZWQuCisgICAgICAgIChn
bG9iYWxQcml2YXRlLnR5cGVkQXJyYXlNZXJnZSk6IEFkZGVkLgorICAgICAgICAoZ2xvYmFsUHJp
dmF0ZS50eXBlZEFycmF5TWVyZ2VTb3J0KTogQWRkZWQuCisgICAgICAgIChzb3J0KToKKyAgICAg
ICAgKHNvcnQubWluKTogRGVsZXRlZC4KKyAgICAgICAgKHNvcnQubWVyZ2UpOiBEZWxldGVkLgor
ICAgICAgICAoc29ydC5tZXJnZVNvcnQpOiBEZWxldGVkLgorCiAyMDIwLTEwLTE5ICBNYXJrIENv
aGVuICA8bUBtcGMuc2g+CiAKICAgICAgICAgdGVzdDI2MjogdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jb25kaXRpb25hbC9pbi1icmFuY2gtMS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCmluZGV4IDE4NDE5ZDNiZWYxMGI0Yjk5ODAx
Njc1ODQ1ZGRmOGEwNTNjNWI4N2QuLjJhZTA2MzQ4Y2M4ZjEwMzUyMWY5OTJlYmMzZTRmYjUwYmYw
NzMxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVBy
b3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90
b3R5cGUuanMKQEAgLTMwNiwxNCArMzA2LDYgQEAgZnVuY3Rpb24gaW5jbHVkZXMoc2VhcmNoRWxl
bWVudCAvKiwgZnJvbUluZGV4Ki8pCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1AZ2xvYmFsUHJp
dmF0ZQotZnVuY3Rpb24gc29ydE1pbihhLCBiKQotewotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAg
IHJldHVybiBhIDwgYiA/IGEgOiBiOwotfQotCiBAZ2xvYmFsUHJpdmF0ZQogZnVuY3Rpb24gc29y
dFN0cmluZ0NvbXBhcmF0b3IoYSwgYikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9HbG9iYWxPcGVyYXRpb25zLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMKaW5kZXggZjM0NjFlZDc4MjhkZWM5OTQwMWQ4
ODdjZjM1NDJkNTA0NGIyMjdjZi4uYjI3MDBhMDZiOGUyZWVjMmFkZjA1ZTk2YTE4MGJkYzBiOTA0
Mzc4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9w
ZXJhdGlvbnMuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9w
ZXJhdGlvbnMuanMKQEAgLTEyNywzICsxMjcsMTEgQEAgZnVuY3Rpb24gY29weURhdGFQcm9wZXJ0
aWVzTm9FeGNsdXNpb25zKHRhcmdldCwgc291cmNlKQogCiAgICAgcmV0dXJuIHRhcmdldDsKIH0K
KworQGdsb2JhbFByaXZhdGUKK2Z1bmN0aW9uIHNvcnRNaW4oYSwgYikKK3sKKyAgICAidXNlIHN0
cmljdCI7CisKKyAgICByZXR1cm4gYSA8IGIgPyBhIDogYjsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMKaW5kZXggNzYy
MTNjMjc5OTA1Nzg1Mjk3NzhlZmVkMGYwNGMwMjU4YjI5YzAwZS4uNGY5YWIzZmZiYTU4YzA5NTA0
NzVlM2QzMzIyNzBlYzE4ODIwMmY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMKQEAgLTE2OCw2NiArMTY4LDcwIEBA
IGZ1bmN0aW9uIHNvbWUoY2FsbGJhY2sgLyogWywgdGhpc0FyZ10gKi8pCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1mdW5jdGlvbiBzb3J0KGNvbXBhcmF0b3IpCitAZ2xvYmFsUHJpdmF0ZQorZnVu
Y3Rpb24gdHlwZWRBcnJheUVsZW1lbnRDb21wYXJlKGFycmF5LCBhLCBiLCBjb21wYXJhdG9yKQog
ewotICAgIC8vIDIyLjIuMy4yNQogICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGZ1bmN0aW9uIG1p
bihhLCBiKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGEgPCBiID8gYSA6IGI7Ci0gICAgfQorICAg
IHZhciByZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFyYXRvcihhLCBiKSk7CiAKLSAgICB2YXIgY29t
cGFyZSA9IChhLCBiKSA9PiB7Ci0gICAgICAgIHZhciByZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFy
YXRvcihhLCBiKSk7CisgICAgaWYgKEBpc05ldXRlcmVkKGFycmF5KSkKKyAgICAgICAgQHRocm93
VHlwZUVycm9yKCJVbmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20g
dGhlIHZpZXciKTsKIAotICAgICAgICBpZiAoQGlzTmV1dGVyZWQodGhpcykpCi0gICAgICAgICAg
ICBAdGhyb3dUeXBlRXJyb3IoIlVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNo
ZWQgZnJvbSB0aGUgdmlldyIpOworICAgIHJldHVybiByZXN1bHQ7Cit9CiAKLSAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICB9OworQGdsb2JhbFByaXZhdGUKK2Z1bmN0aW9uIHR5cGVkQXJyYXlN
ZXJnZShhcnJheSwgZHN0LCBzcmMsIHNyY0luZGV4LCBzcmNFbmQsIHdpZHRoLCBjb21wYXJhdG9y
KQoreworICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGZ1bmN0aW9uIG1lcmdlKGRzdCwgc3JjLCBz
cmNJbmRleCwgc3JjRW5kLCB3aWR0aCkKLSAgICB7Ci0gICAgICAgIHZhciBsZWZ0ID0gc3JjSW5k
ZXg7Ci0gICAgICAgIHZhciBsZWZ0RW5kID0gbWluKGxlZnQgKyB3aWR0aCwgc3JjRW5kKTsKLSAg
ICAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICAgICAgdmFyIHJpZ2h0RW5kID0gbWluKHJp
Z2h0ICsgd2lkdGgsIHNyY0VuZCk7CisgICAgdmFyIGxlZnQgPSBzcmNJbmRleDsKKyAgICB2YXIg
bGVmdEVuZCA9IEBzb3J0TWluKGxlZnQgKyB3aWR0aCwgc3JjRW5kKTsKKyAgICB2YXIgcmlnaHQg
PSBsZWZ0RW5kOworICAgIHZhciByaWdodEVuZCA9IEBzb3J0TWluKHJpZ2h0ICsgd2lkdGgsIHNy
Y0VuZCk7CiAKLSAgICAgICAgZm9yICh2YXIgZHN0SW5kZXggPSBsZWZ0OyBkc3RJbmRleCA8IHJp
Z2h0RW5kOyArK2RzdEluZGV4KSB7Ci0gICAgICAgICAgICBpZiAocmlnaHQgPCByaWdodEVuZCkg
ewotICAgICAgICAgICAgICAgIGlmIChsZWZ0ID49IGxlZnRFbmQgfHwgY29tcGFyZShzcmNbcmln
aHRdLCBzcmNbbGVmdF0pIDwgMCkgewotICAgICAgICAgICAgICAgICAgICBkc3RbZHN0SW5kZXhd
ID0gc3JjW3JpZ2h0KytdOwotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgICAgICB9CisgICAgZm9yICh2YXIgZHN0SW5kZXggPSBsZWZ0OyBkc3RJbmRleCA8IHJpZ2h0
RW5kOyArK2RzdEluZGV4KSB7CisgICAgICAgIGlmIChyaWdodCA8IHJpZ2h0RW5kKSB7CisgICAg
ICAgICAgICBpZiAobGVmdCA+PSBsZWZ0RW5kIHx8IEB0eXBlZEFycmF5RWxlbWVudENvbXBhcmUo
YXJyYXksIHNyY1tyaWdodF0sIHNyY1tsZWZ0XSwgY29tcGFyYXRvcikgPCAwKSB7CisgICAgICAg
ICAgICAgICAgZHN0W2RzdEluZGV4XSA9IHNyY1tyaWdodCsrXTsKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZHN0W2RzdEluZGV4XSA9IHNy
Y1tsZWZ0KytdOwogICAgICAgICB9CisKKyAgICAgICAgZHN0W2RzdEluZGV4XSA9IHNyY1tsZWZ0
KytdOwogICAgIH0KK30KIAotICAgIGZ1bmN0aW9uIG1lcmdlU29ydChhcnJheSwgdmFsdWVDb3Vu
dCkKLSAgICB7Ci0gICAgICAgIHZhciBidWZmZXIgPSBbIF07Ci0gICAgICAgIGJ1ZmZlci5sZW5n
dGggPSB2YWx1ZUNvdW50OworQGdsb2JhbFByaXZhdGUKK2Z1bmN0aW9uIHR5cGVkQXJyYXlNZXJn
ZVNvcnQoYXJyYXksIHZhbHVlQ291bnQsIGNvbXBhcmF0b3IpCit7CisgICAgInVzZSBzdHJpY3Qi
OwogCi0gICAgICAgIHZhciBkc3QgPSBidWZmZXI7Ci0gICAgICAgIHZhciBzcmMgPSBhcnJheTsK
KyAgICB2YXIgYnVmZmVyID0gW107CisgICAgYnVmZmVyLmxlbmd0aCA9IHZhbHVlQ291bnQ7CiAK
LSAgICAgICAgZm9yICh2YXIgd2lkdGggPSAxOyB3aWR0aCA8IHZhbHVlQ291bnQ7IHdpZHRoICo9
IDIpIHsKLSAgICAgICAgICAgIGZvciAodmFyIHNyY0luZGV4ID0gMDsgc3JjSW5kZXggPCB2YWx1
ZUNvdW50OyBzcmNJbmRleCArPSAyICogd2lkdGgpCi0gICAgICAgICAgICAgICAgbWVyZ2UoZHN0
LCBzcmMsIHNyY0luZGV4LCB2YWx1ZUNvdW50LCB3aWR0aCk7CisgICAgdmFyIGRzdCA9IGJ1ZmZl
cjsKKyAgICB2YXIgc3JjID0gYXJyYXk7CiAKLSAgICAgICAgICAgIHZhciB0bXAgPSBzcmM7Ci0g
ICAgICAgICAgICBzcmMgPSBkc3Q7Ci0gICAgICAgICAgICBkc3QgPSB0bXA7Ci0gICAgICAgIH0K
KyAgICBmb3IgKHZhciB3aWR0aCA9IDE7IHdpZHRoIDwgdmFsdWVDb3VudDsgd2lkdGggKj0gMikg
eworICAgICAgICBmb3IgKHZhciBzcmNJbmRleCA9IDA7IHNyY0luZGV4IDwgdmFsdWVDb3VudDsg
c3JjSW5kZXggKz0gMiAqIHdpZHRoKQorICAgICAgICAgICAgQHR5cGVkQXJyYXlNZXJnZShhcnJh
eSwgZHN0LCBzcmMsIHNyY0luZGV4LCB2YWx1ZUNvdW50LCB3aWR0aCwgY29tcGFyYXRvcik7CiAK
LSAgICAgICAgaWYgKHNyYyAhPSBhcnJheSkgewotICAgICAgICAgICAgZm9yKHZhciBpID0gMDsg
aSA8IHZhbHVlQ291bnQ7IGkrKykKLSAgICAgICAgICAgICAgICBhcnJheVtpXSA9IHNyY1tpXTsK
LSAgICAgICAgfQorICAgICAgICB2YXIgdG1wID0gc3JjOworICAgICAgICBzcmMgPSBkc3Q7Cisg
ICAgICAgIGRzdCA9IHRtcDsKKyAgICB9CisKKyAgICBpZiAoc3JjICE9IGFycmF5KSB7CisgICAg
ICAgIGZvcih2YXIgaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyBpKyspCisgICAgICAgICAgICBhcnJh
eVtpXSA9IHNyY1tpXTsKICAgICB9Cit9CisKK2Z1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKK3sK
KyAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAoY29tcGFyYXRvciAhPT0gQHVuZGVmaW5lZCAm
JiAhQGlzQ2FsbGFibGUoY29tcGFyYXRvcikpCiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlw
ZWRBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29tcGFyYXRvciBhcmd1bWVudCB0
byBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZCIpOwpAQCAtMjM3LDcgKzI0MSw3IEBAIGZ1bmN0
aW9uIHNvcnQoY29tcGFyYXRvcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNvbXBhcmF0
b3IgIT09IEB1bmRlZmluZWQpCi0gICAgICAgIG1lcmdlU29ydCh0aGlzLCBsZW5ndGgpOworICAg
ICAgICBAdHlwZWRBcnJheU1lcmdlU29ydCh0aGlzLCBsZW5ndGgsIGNvbXBhcmF0b3IpOwogICAg
IGVsc2UKICAgICAgICAgQHR5cGVkQXJyYXlTb3J0KHRoaXMpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411812</attachid>
            <date>2020-10-19 16:36:23 -0700</date>
            <delta_ts>2020-10-19 18:04:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217928-20201019163622.patch</filename>
            <type>text/plain</type>
            <size>6358</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZTM4NTMwOWQxODc4YjQ1MTU5M2MxMmM2ZjMxY2MzMmRmZGUwMDE3Li5iNjE2M2YyZGEzY2UxM2Rh
YTgxYjliMDNiZmRjMjVjNDk3MTllYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0xMC0xOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklI3NvcnQgaGVscGVyIGZ1bmN0aW9ucyBzaG91
bGQgYmUgZ2xvYmFsUHJpdmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE3OTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4K
KworICAgICAgICBGb2xsb3dpbmcgcjI2NzgyNywgdGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgJVR5
cGVkQXJyYXklLnByb3RvdHlwZS5zb3J0J3MgaGVscGVyIGZ1bmN0aW9uczoKKyAgICAgICAgICAx
LiB1c2UgcGFyYW1ldGVycyBpbnN0ZWFkIG9mIGNhcHR1cmluZyB2YXJpYWJsZXMKKyAgICAgICAg
ICAyLiBhcmUgY29udmVydGVkIGZyb20gbG9jYWwgZnVuY3Rpb25zIHRvIGdsb2JhbFByaXZhdGUg
b25lcworCisgICAgICAgICogYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChn
bG9iYWxQcml2YXRlLnNvcnRNaW4pOiBEZWxldGVkLgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2Jh
bE9wZXJhdGlvbnMuanM6CisgICAgICAgIChnbG9iYWxQcml2YXRlLnNvcnRNaW4pOiBBZGRlZC4K
KyAgICAgICAgKiBidWlsdGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzOgorICAgICAgICAoZ2xv
YmFsUHJpdmF0ZS50eXBlZEFycmF5RWxlbWVudENvbXBhcmUpOiBBZGRlZC4KKyAgICAgICAgKGds
b2JhbFByaXZhdGUudHlwZWRBcnJheU1lcmdlKTogQWRkZWQuCisgICAgICAgIChnbG9iYWxQcml2
YXRlLnR5cGVkQXJyYXlNZXJnZVNvcnQpOiBBZGRlZC4KKyAgICAgICAgKHNvcnQpOgorICAgICAg
ICAoc29ydC5taW4pOiBEZWxldGVkLgorICAgICAgICAoc29ydC5tZXJnZSk6IERlbGV0ZWQuCisg
ICAgICAgIChzb3J0Lm1lcmdlU29ydCk6IERlbGV0ZWQuCisKIDIwMjAtMTAtMTkgIE1hcmsgQ29o
ZW4gIDxtQG1wYy5zaD4KIAogICAgICAgICB0ZXN0MjYyOiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NvbmRpdGlvbmFsL2luLWJyYW5jaC0xLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMKaW5kZXggMTg0MTlkM2JlZjEwYjRiOTk4MDE2
NzU4NDVkZGY4YTA1M2M1Yjg3ZC4uMmFlMDYzNDhjYzhmMTAzNTIxZjk5MmViYzNlNGZiNTBiZjA3
MzFhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVByb3Rv
dHlwZS5qcwpAQCAtMzA2LDE0ICszMDYsNiBAQCBmdW5jdGlvbiBpbmNsdWRlcyhzZWFyY2hFbGVt
ZW50IC8qLCBmcm9tSW5kZXgqLykKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUBnbG9iYWxQcml2
YXRlCi1mdW5jdGlvbiBzb3J0TWluKGEsIGIpCi17Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAg
cmV0dXJuIGEgPCBiID8gYSA6IGI7Ci19Ci0KIEBnbG9iYWxQcml2YXRlCiBmdW5jdGlvbiBzb3J0
U3RyaW5nQ29tcGFyYXRvcihhLCBiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvR2xvYmFsT3BlcmF0aW9ucy5qcwppbmRleCBmMzQ2MWVkNzgyOGRlYzk5NDAxZDg4
N2NmMzU0MmQ1MDQ0YjIyN2NmLi5iMjcwMGEwNmI4ZTJlZWMyYWRmMDVlOTZhMTgwYmRjMGI5MDQz
NzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT3Bl
cmF0aW9ucy5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2xvYmFsT3Bl
cmF0aW9ucy5qcwpAQCAtMTI3LDMgKzEyNywxMSBAQCBmdW5jdGlvbiBjb3B5RGF0YVByb3BlcnRp
ZXNOb0V4Y2x1c2lvbnModGFyZ2V0LCBzb3VyY2UpCiAKICAgICByZXR1cm4gdGFyZ2V0OwogfQor
CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gc29ydE1pbihhLCBiKQoreworICAgICJ1c2Ugc3Ry
aWN0IjsKKworICAgIHJldHVybiBhIDwgYiA/IGEgOiBiOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwppbmRleCA3NjIx
M2MyNzk5MDU3ODUyOTc3OGVmZWQwZjA0YzAyNThiMjljMDBlLi45MDU3ZmYzY2RlYWE1NmUzYzdm
YTVjNjNlNDZjZGFmYzA2ODU0ZTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwpAQCAtMTY4LDY2ICsxNjgsNjggQEAg
ZnVuY3Rpb24gc29tZShjYWxsYmFjayAvKiBbLCB0aGlzQXJnXSAqLykKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLWZ1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKK0BnbG9iYWxQcml2YXRlCitmdW5j
dGlvbiB0eXBlZEFycmF5RWxlbWVudENvbXBhcmUoYXJyYXksIGEsIGIsIGNvbXBhcmF0b3IpCiB7
Ci0gICAgLy8gMjIuMi4zLjI1CiAgICAgInVzZSBzdHJpY3QiOwogCi0gICAgZnVuY3Rpb24gbWlu
KGEsIGIpCi0gICAgewotICAgICAgICByZXR1cm4gYSA8IGIgPyBhIDogYjsKLSAgICB9CisgICAg
dmFyIHJlc3VsdCA9IEB0b051bWJlcihjb21wYXJhdG9yKGEsIGIpKTsKIAotICAgIHZhciBjb21w
YXJlID0gKGEsIGIpID0+IHsKLSAgICAgICAgdmFyIHJlc3VsdCA9IEB0b051bWJlcihjb21wYXJh
dG9yKGEsIGIpKTsKKyAgICBpZiAoQGlzTmV1dGVyZWQoYXJyYXkpKQorICAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIlVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0
aGUgdmlldyIpOwogCi0gICAgICAgIGlmIChAaXNOZXV0ZXJlZCh0aGlzKSkKLSAgICAgICAgICAg
IEB0aHJvd1R5cGVFcnJvcigiVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hl
ZCBmcm9tIHRoZSB2aWV3Iik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAotICAgICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH07CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdHlwZWRBcnJheU1l
cmdlKGFycmF5LCBkc3QsIHNyYywgc3JjSW5kZXgsIHNyY0VuZCwgd2lkdGgsIGNvbXBhcmF0b3Ip
Cit7CisgICAgInVzZSBzdHJpY3QiOwogCi0gICAgZnVuY3Rpb24gbWVyZ2UoZHN0LCBzcmMsIHNy
Y0luZGV4LCBzcmNFbmQsIHdpZHRoKQotICAgIHsKLSAgICAgICAgdmFyIGxlZnQgPSBzcmNJbmRl
eDsKLSAgICAgICAgdmFyIGxlZnRFbmQgPSBtaW4obGVmdCArIHdpZHRoLCBzcmNFbmQpOwotICAg
ICAgICB2YXIgcmlnaHQgPSBsZWZ0RW5kOwotICAgICAgICB2YXIgcmlnaHRFbmQgPSBtaW4ocmln
aHQgKyB3aWR0aCwgc3JjRW5kKTsKKyAgICB2YXIgbGVmdCA9IHNyY0luZGV4OworICAgIHZhciBs
ZWZ0RW5kID0gQHNvcnRNaW4obGVmdCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciByaWdodCA9
IGxlZnRFbmQ7CisgICAgdmFyIHJpZ2h0RW5kID0gQHNvcnRNaW4ocmlnaHQgKyB3aWR0aCwgc3Jj
RW5kKTsKIAotICAgICAgICBmb3IgKHZhciBkc3RJbmRleCA9IGxlZnQ7IGRzdEluZGV4IDwgcmln
aHRFbmQ7ICsrZHN0SW5kZXgpIHsKLSAgICAgICAgICAgIGlmIChyaWdodCA8IHJpZ2h0RW5kKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGxlZnQgPj0gbGVmdEVuZCB8fCBjb21wYXJlKHNyY1tyaWdo
dF0sIHNyY1tsZWZ0XSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRzdFtkc3RJbmRleF0g
PSBzcmNbcmlnaHQrK107Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgICAgIH0KKyAgICBmb3IgKHZhciBkc3RJbmRleCA9IGxlZnQ7IGRzdEluZGV4IDwgcmlnaHRF
bmQ7ICsrZHN0SW5kZXgpIHsKKyAgICAgICAgaWYgKHJpZ2h0IDwgcmlnaHRFbmQpIHsKKyAgICAg
ICAgICAgIGlmIChsZWZ0ID49IGxlZnRFbmQgfHwgQHR5cGVkQXJyYXlFbGVtZW50Q29tcGFyZShh
cnJheSwgc3JjW3JpZ2h0XSwgc3JjW2xlZnRdLCBjb21wYXJhdG9yKSA8IDApIHsKKyAgICAgICAg
ICAgICAgICBkc3RbZHN0SW5kZXhdID0gc3JjW3JpZ2h0KytdOworICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBkc3RbZHN0SW5kZXhdID0gc3Jj
W2xlZnQrK107CiAgICAgICAgIH0KKworICAgICAgICBkc3RbZHN0SW5kZXhdID0gc3JjW2xlZnQr
K107CiAgICAgfQorfQogCi0gICAgZnVuY3Rpb24gbWVyZ2VTb3J0KGFycmF5LCB2YWx1ZUNvdW50
KQotICAgIHsKLSAgICAgICAgdmFyIGJ1ZmZlciA9IFsgXTsKLSAgICAgICAgYnVmZmVyLmxlbmd0
aCA9IHZhbHVlQ291bnQ7CitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdHlwZWRBcnJheU1lcmdl
U29ydChhcnJheSwgdmFsdWVDb3VudCwgY29tcGFyYXRvcikKK3sKKyAgICAidXNlIHN0cmljdCI7
CiAKLSAgICAgICAgdmFyIGRzdCA9IGJ1ZmZlcjsKLSAgICAgICAgdmFyIHNyYyA9IGFycmF5Owor
ICAgIHZhciBidWZmZXIgPSBAbmV3QXJyYXlXaXRoU2l6ZSh2YWx1ZUNvdW50KTsKKyAgICB2YXIg
ZHN0ID0gYnVmZmVyOworICAgIHZhciBzcmMgPSBhcnJheTsKIAotICAgICAgICBmb3IgKHZhciB3
aWR0aCA9IDE7IHdpZHRoIDwgdmFsdWVDb3VudDsgd2lkdGggKj0gMikgewotICAgICAgICAgICAg
Zm9yICh2YXIgc3JjSW5kZXggPSAwOyBzcmNJbmRleCA8IHZhbHVlQ291bnQ7IHNyY0luZGV4ICs9
IDIgKiB3aWR0aCkKLSAgICAgICAgICAgICAgICBtZXJnZShkc3QsIHNyYywgc3JjSW5kZXgsIHZh
bHVlQ291bnQsIHdpZHRoKTsKKyAgICBmb3IgKHZhciB3aWR0aCA9IDE7IHdpZHRoIDwgdmFsdWVD
b3VudDsgd2lkdGggKj0gMikgeworICAgICAgICBmb3IgKHZhciBzcmNJbmRleCA9IDA7IHNyY0lu
ZGV4IDwgdmFsdWVDb3VudDsgc3JjSW5kZXggKz0gMiAqIHdpZHRoKQorICAgICAgICAgICAgQHR5
cGVkQXJyYXlNZXJnZShhcnJheSwgZHN0LCBzcmMsIHNyY0luZGV4LCB2YWx1ZUNvdW50LCB3aWR0
aCwgY29tcGFyYXRvcik7CiAKLSAgICAgICAgICAgIHZhciB0bXAgPSBzcmM7Ci0gICAgICAgICAg
ICBzcmMgPSBkc3Q7Ci0gICAgICAgICAgICBkc3QgPSB0bXA7Ci0gICAgICAgIH0KKyAgICAgICAg
dmFyIHRtcCA9IHNyYzsKKyAgICAgICAgc3JjID0gZHN0OworICAgICAgICBkc3QgPSB0bXA7Cisg
ICAgfQogCi0gICAgICAgIGlmIChzcmMgIT0gYXJyYXkpIHsKLSAgICAgICAgICAgIGZvcih2YXIg
aSA9IDA7IGkgPCB2YWx1ZUNvdW50OyBpKyspCi0gICAgICAgICAgICAgICAgYXJyYXlbaV0gPSBz
cmNbaV07Ci0gICAgICAgIH0KKyAgICBpZiAoc3JjICE9IGFycmF5KSB7CisgICAgICAgIGZvcih2
YXIgaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyBpKyspCisgICAgICAgICAgICBhcnJheVtpXSA9IHNy
Y1tpXTsKICAgICB9Cit9CisKK2Z1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKK3sKKyAgICAidXNl
IHN0cmljdCI7CiAKICAgICBpZiAoY29tcGFyYXRvciAhPT0gQHVuZGVmaW5lZCAmJiAhQGlzQ2Fs
bGFibGUoY29tcGFyYXRvcikpCiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRBcnJheS5w
cm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29tcGFyYXRvciBhcmd1bWVudCB0byBiZSBhIGZ1
bmN0aW9uIG9yIHVuZGVmaW5lZCIpOwpAQCAtMjM3LDcgKzIzOSw3IEBAIGZ1bmN0aW9uIHNvcnQo
Y29tcGFyYXRvcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNvbXBhcmF0b3IgIT09IEB1
bmRlZmluZWQpCi0gICAgICAgIG1lcmdlU29ydCh0aGlzLCBsZW5ndGgpOworICAgICAgICBAdHlw
ZWRBcnJheU1lcmdlU29ydCh0aGlzLCBsZW5ndGgsIGNvbXBhcmF0b3IpOwogICAgIGVsc2UKICAg
ICAgICAgQHR5cGVkQXJyYXlTb3J0KHRoaXMpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411821</attachid>
            <date>2020-10-19 18:04:39 -0700</date>
            <delta_ts>2020-10-19 20:35:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217928-20201019180438.patch</filename>
            <type>text/plain</type>
            <size>10208</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZTM4NTMwOWQxODc4YjQ1MTU5M2MxMmM2ZjMxY2MzMmRmZGUwMDE3Li5iYjExNmI3NjEyN2JlYzE0
MjAzMmI0YjBjNGI1YThjN2UyNTNjMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMC0xMC0xOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklI3NvcnQgaGVscGVyIGZ1bmN0aW9ucyBzaG91
bGQgYmUgZ2xvYmFsUHJpdmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE3OTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraSBh
bmQgQWxleGV5IFNodmF5a2EuCisKKyAgICAgICAgRm9sbG93aW5nIHIyNjc4MjcsIHRoaXMgcGF0
Y2ggZW5zdXJlcyB0aGF0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc29ydCdzIGhlbHBlciBmdW5j
dGlvbnM6CisgICAgICAgICAgMS4gdXNlIHBhcmFtZXRlcnMgaW5zdGVhZCBvZiBjYXB0dXJpbmcg
dmFyaWFibGVzCisgICAgICAgICAgMi4gYXJlIGNvbnZlcnRlZCBmcm9tIGxvY2FsIGZ1bmN0aW9u
cyB0byBnbG9iYWxQcml2YXRlIG9uZXMKKworICAgICAgICBUbyB0aGlzIGVuZCwgYWxzbyBleHBv
c2UgTWF0aC5taW4gYXMgYSBsaW5rLXRpbWUgY29uc3RhbnQuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheVByb3RvdHlwZS5qczoKKyAgICAgICAgKGdsb2JhbFByaXZhdGUuc29ydE1lcmdlKToK
KyAgICAgICAgKGdsb2JhbFByaXZhdGUuc29ydE1pbik6IERlbGV0ZWQuCisgICAgICAgICogYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogYnVpbHRpbnMvVHlwZWRBcnJheVByb3Rv
dHlwZS5qczoKKyAgICAgICAgKGdsb2JhbFByaXZhdGUudHlwZWRBcnJheUVsZW1lbnRDb21wYXJl
KTogQWRkZWQuCisgICAgICAgIChnbG9iYWxQcml2YXRlLnR5cGVkQXJyYXlNZXJnZSk6IEFkZGVk
LgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS50eXBlZEFycmF5TWVyZ2VTb3J0KTogQWRkZWQuCisg
ICAgICAgIChzb3J0KToKKyAgICAgICAgKHNvcnQubWluKTogRGVsZXRlZC4KKyAgICAgICAgKHNv
cnQubWVyZ2UpOiBEZWxldGVkLgorICAgICAgICAoc29ydC5tZXJnZVNvcnQpOiBEZWxldGVkLgor
ICAgICAgICAqIGJ5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQp
OgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9N
YXRoT2JqZWN0Lmg6CisKIDIwMjAtMTAtMTkgIE1hcmsgQ29oZW4gIDxtQG1wYy5zaD4KIAogICAg
ICAgICB0ZXN0MjYyOiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbmRpdGlvbmFsL2luLWJy
YW5jaC0xLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJy
YXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90
b3R5cGUuanMKaW5kZXggMTg0MTlkM2JlZjEwYjRiOTk4MDE2NzU4NDVkZGY4YTA1M2M1Yjg3ZC4u
ZWMzYTk3MWRkMTJmYTIxZWRjZWRiZmFlOGM2OTQ1YTE2MTY5NjYwYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVByb3RvdHlwZS5qcwpAQCAtMzA2LDE0ICsz
MDYsNiBAQCBmdW5jdGlvbiBpbmNsdWRlcyhzZWFyY2hFbGVtZW50IC8qLCBmcm9tSW5kZXgqLykK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUBnbG9iYWxQcml2YXRlCi1mdW5jdGlvbiBzb3J0TWlu
KGEsIGIpCi17Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgcmV0dXJuIGEgPCBiID8gYSA6IGI7
Ci19Ci0KIEBnbG9iYWxQcml2YXRlCiBmdW5jdGlvbiBzb3J0U3RyaW5nQ29tcGFyYXRvcihhLCBi
KQogewpAQCAtMzc5LDE2ICszNzEsMTUgQEAgZnVuY3Rpb24gc29ydENvbW1pdChyZWNlaXZlciwg
cmVjZWl2ZXJMZW5ndGgsIHNvcnRlZCwgdW5kZWZpbmVkQ291bnQpCiAgICAgICAgIGRlbGV0ZSBy
ZWNlaXZlcltpXTsKIH0KIAotCiBAZ2xvYmFsUHJpdmF0ZQogZnVuY3Rpb24gc29ydE1lcmdlKGRz
dCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCwgY29tcGFyYXRvcikKIHsKICAgICAidXNl
IHN0cmljdCI7CiAKICAgICB2YXIgbGVmdCA9IHNyY0luZGV4OwotICAgIHZhciBsZWZ0RW5kID0g
QHNvcnRNaW4obGVmdCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciBsZWZ0RW5kID0gQG1pbihs
ZWZ0ICsgd2lkdGgsIHNyY0VuZCk7CiAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICB2YXIg
cmlnaHRFbmQgPSBAc29ydE1pbihyaWdodCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciByaWdo
dEVuZCA9IEBtaW4ocmlnaHQgKyB3aWR0aCwgc3JjRW5kKTsKIAogICAgIGZvciAodmFyIGRzdElu
ZGV4ID0gbGVmdDsgZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgewogICAgICAgICBp
ZiAocmlnaHQgPCByaWdodEVuZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0J1aWx0aW5OYW1lcy5oCmluZGV4IDI4NjNhNTdiYzNmNDNlYzMwZjFiZDkwYzgwOWZiYjBjNGQ5
ZmRmMDQuLmMxZDVkOTA0NmFhYmZkNmZlNWNiMzkzZDk1Y2UwN2E3MTExNzY2OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTYxLDYgKzYx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8oQXJyYXkpIFwKICAgICBtYWNybyhBcnJh
eUJ1ZmZlcikgXAogICAgIG1hY3JvKFJlZ0V4cCkgXAorICAgIG1hY3JvKG1pbikgXAogICAgIG1h
Y3JvKHRydW5jKSBcCiAgICAgbWFjcm8oY3JlYXRlKSBcCiAgICAgbWFjcm8oZGVmaW5lUHJvcGVy
dHkpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFy
cmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlQcm90b3R5cGUuanMKaW5kZXggNzYyMTNjMjc5OTA1Nzg1Mjk3NzhlZmVkMGYwNGMwMjU4YjI5
YzAwZS4uYTRhZjc2MGZjYjY4ZjIxMGQ5OTY1NmUzM2EzMzg2ZDMyMTJjNjM1YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUu
anMKQEAgLTE2OCw2NiArMTY4LDY4IEBAIGZ1bmN0aW9uIHNvbWUoY2FsbGJhY2sgLyogWywgdGhp
c0FyZ10gKi8pCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1mdW5jdGlvbiBzb3J0KGNvbXBhcmF0
b3IpCitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdHlwZWRBcnJheUVsZW1lbnRDb21wYXJlKGFy
cmF5LCBhLCBiLCBjb21wYXJhdG9yKQogewotICAgIC8vIDIyLjIuMy4yNQogICAgICJ1c2Ugc3Ry
aWN0IjsKIAotICAgIGZ1bmN0aW9uIG1pbihhLCBiKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGEg
PCBiID8gYSA6IGI7Ci0gICAgfQorICAgIHZhciByZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFyYXRv
cihhLCBiKSk7CiAKLSAgICB2YXIgY29tcGFyZSA9IChhLCBiKSA9PiB7Ci0gICAgICAgIHZhciBy
ZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFyYXRvcihhLCBiKSk7CisgICAgaWYgKEBpc05ldXRlcmVk
KGFycmF5KSkKKyAgICAgICAgQHRocm93VHlwZUVycm9yKCJVbmRlcmx5aW5nIEFycmF5QnVmZmVy
IGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXciKTsKIAotICAgICAgICBpZiAoQGlzTmV1
dGVyZWQodGhpcykpCi0gICAgICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlVuZGVybHlpbmcgQXJy
YXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyIpOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CiAKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OworQGdsb2JhbFByaXZh
dGUKK2Z1bmN0aW9uIHR5cGVkQXJyYXlNZXJnZShhcnJheSwgZHN0LCBzcmMsIHNyY0luZGV4LCBz
cmNFbmQsIHdpZHRoLCBjb21wYXJhdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGZ1
bmN0aW9uIG1lcmdlKGRzdCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCkKLSAgICB7Ci0g
ICAgICAgIHZhciBsZWZ0ID0gc3JjSW5kZXg7Ci0gICAgICAgIHZhciBsZWZ0RW5kID0gbWluKGxl
ZnQgKyB3aWR0aCwgc3JjRW5kKTsKLSAgICAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICAg
ICAgdmFyIHJpZ2h0RW5kID0gbWluKHJpZ2h0ICsgd2lkdGgsIHNyY0VuZCk7CisgICAgdmFyIGxl
ZnQgPSBzcmNJbmRleDsKKyAgICB2YXIgbGVmdEVuZCA9IEBtaW4obGVmdCArIHdpZHRoLCBzcmNF
bmQpOworICAgIHZhciByaWdodCA9IGxlZnRFbmQ7CisgICAgdmFyIHJpZ2h0RW5kID0gQG1pbihy
aWdodCArIHdpZHRoLCBzcmNFbmQpOwogCi0gICAgICAgIGZvciAodmFyIGRzdEluZGV4ID0gbGVm
dDsgZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgewotICAgICAgICAgICAgaWYgKHJp
Z2h0IDwgcmlnaHRFbmQpIHsKLSAgICAgICAgICAgICAgICBpZiAobGVmdCA+PSBsZWZ0RW5kIHx8
IGNvbXBhcmUoc3JjW3JpZ2h0XSwgc3JjW2xlZnRdKSA8IDApIHsKLSAgICAgICAgICAgICAgICAg
ICAgZHN0W2RzdEluZGV4XSA9IHNyY1tyaWdodCsrXTsKLSAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgfQorICAgIGZvciAodmFyIGRzdEluZGV4ID0gbGVmdDsg
ZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgeworICAgICAgICBpZiAocmlnaHQgPCBy
aWdodEVuZCkgeworICAgICAgICAgICAgaWYgKGxlZnQgPj0gbGVmdEVuZCB8fCBAdHlwZWRBcnJh
eUVsZW1lbnRDb21wYXJlKGFycmF5LCBzcmNbcmlnaHRdLCBzcmNbbGVmdF0sIGNvbXBhcmF0b3Ip
IDwgMCkgeworICAgICAgICAgICAgICAgIGRzdFtkc3RJbmRleF0gPSBzcmNbcmlnaHQrK107Cisg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGRz
dFtkc3RJbmRleF0gPSBzcmNbbGVmdCsrXTsKICAgICAgICAgfQorCisgICAgICAgIGRzdFtkc3RJ
bmRleF0gPSBzcmNbbGVmdCsrXTsKICAgICB9Cit9CiAKLSAgICBmdW5jdGlvbiBtZXJnZVNvcnQo
YXJyYXksIHZhbHVlQ291bnQpCi0gICAgewotICAgICAgICB2YXIgYnVmZmVyID0gWyBdOwotICAg
ICAgICBidWZmZXIubGVuZ3RoID0gdmFsdWVDb3VudDsKK0BnbG9iYWxQcml2YXRlCitmdW5jdGlv
biB0eXBlZEFycmF5TWVyZ2VTb3J0KGFycmF5LCB2YWx1ZUNvdW50LCBjb21wYXJhdG9yKQorewor
ICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgICAgICB2YXIgZHN0ID0gYnVmZmVyOwotICAgICAgICB2
YXIgc3JjID0gYXJyYXk7CisgICAgdmFyIGJ1ZmZlciA9IEBuZXdBcnJheVdpdGhTaXplKHZhbHVl
Q291bnQpOworICAgIHZhciBkc3QgPSBidWZmZXI7CisgICAgdmFyIHNyYyA9IGFycmF5OwogCi0g
ICAgICAgIGZvciAodmFyIHdpZHRoID0gMTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAy
KSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBzcmNJbmRleCA9IDA7IHNyY0luZGV4IDwgdmFsdWVD
b3VudDsgc3JjSW5kZXggKz0gMiAqIHdpZHRoKQotICAgICAgICAgICAgICAgIG1lcmdlKGRzdCwg
c3JjLCBzcmNJbmRleCwgdmFsdWVDb3VudCwgd2lkdGgpOworICAgIGZvciAodmFyIHdpZHRoID0g
MTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAyKSB7CisgICAgICAgIGZvciAodmFyIHNy
Y0luZGV4ID0gMDsgc3JjSW5kZXggPCB2YWx1ZUNvdW50OyBzcmNJbmRleCArPSAyICogd2lkdGgp
CisgICAgICAgICAgICBAdHlwZWRBcnJheU1lcmdlKGFycmF5LCBkc3QsIHNyYywgc3JjSW5kZXgs
IHZhbHVlQ291bnQsIHdpZHRoLCBjb21wYXJhdG9yKTsKIAotICAgICAgICAgICAgdmFyIHRtcCA9
IHNyYzsKLSAgICAgICAgICAgIHNyYyA9IGRzdDsKLSAgICAgICAgICAgIGRzdCA9IHRtcDsKLSAg
ICAgICAgfQorICAgICAgICB2YXIgdG1wID0gc3JjOworICAgICAgICBzcmMgPSBkc3Q7CisgICAg
ICAgIGRzdCA9IHRtcDsKKyAgICB9CiAKLSAgICAgICAgaWYgKHNyYyAhPSBhcnJheSkgewotICAg
ICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHZhbHVlQ291bnQ7IGkrKykKLSAgICAgICAgICAg
ICAgICBhcnJheVtpXSA9IHNyY1tpXTsKLSAgICAgICAgfQorICAgIGlmIChzcmMgIT0gYXJyYXkp
IHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyArK2kpCisgICAgICAg
ICAgICBhcnJheVtpXSA9IHNyY1tpXTsKICAgICB9Cit9CisKK2Z1bmN0aW9uIHNvcnQoY29tcGFy
YXRvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAoY29tcGFyYXRvciAhPT0gQHVu
ZGVmaW5lZCAmJiAhQGlzQ2FsbGFibGUoY29tcGFyYXRvcikpCiAgICAgICAgIEB0aHJvd1R5cGVF
cnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29tcGFyYXRvciBh
cmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZCIpOwpAQCAtMjM3LDcgKzIzOSw3
IEBAIGZ1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KGNvbXBhcmF0b3IgIT09IEB1bmRlZmluZWQpCi0gICAgICAgIG1lcmdlU29ydCh0aGlzLCBsZW5n
dGgpOworICAgICAgICBAdHlwZWRBcnJheU1lcmdlU29ydCh0aGlzLCBsZW5ndGgsIGNvbXBhcmF0
b3IpOwogICAgIGVsc2UKICAgICAgICAgQHR5cGVkQXJyYXlTb3J0KHRoaXMpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaAppbmRleCBl
MjFkOWZiYTFhMmYzMmMwN2E0OGEwYmJmZDYwZDlmM2M2ZThjZWRhLi42OGQ5Njg3ODQxNGExOGYx
NDY1ZjVlOTZkNTRkOTViY2VhMGNmNDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CiAgICAgdihCdWlsdGluTG9nLCBudWxscHRyKSBcCiAgICAgdihCdWlsdGlu
RGVzY3JpYmUsIG51bGxwdHIpIFwKICAgICB2KFJlZ0V4cCwgbnVsbHB0cikgXAorICAgIHYobWlu
LCBudWxscHRyKSBcCiAgICAgdih0cnVuYywgbnVsbHB0cikgXAogICAgIHYoUHJvbWlzZSwgbnVs
bHB0cikgXAogICAgIHYoSW50ZXJuYWxQcm9taXNlLCBudWxscHRyKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggOGZkMzQxMDdl
NzU3MzdhMmVhZGJmNmU2ZTYxN2U3OGYxYWZiNzZlMS4uMGMyYzEwM2NjZTIyMGJlYjVlNDFiOGZj
ZTllOTY1MjFkZGY1ZmM4OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTIyNyw2ICsxMjI3LDkgQEAgY2FwaXRhbE5hbWUgIyMg
Q29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2Fw
aXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihM
aW5rVGltZUNvbnN0YW50OjpCdWlsdGluRGVzY3JpYmUpXS5pbml0TGF0ZXIoW10gKGNvbnN0IElu
aXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rp
b246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwg
MSwgU3RyaW5nKCksIGdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUpKTsKICAgICAgICAgfSk7Cisg
ICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25z
dGFudDo6bWluKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0
KSB7CisgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganND
YXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAsIFN0cmluZygpLCBtYXRoUHJvdG9G
dW5jTWluLCBUcnVuY0ludHJpbnNpYykpOworICAgICAgICB9KTsKICAgICBtX2xpbmtUaW1lQ29u
c3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0cnVuYyldLmlu
aXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAgICAg
ICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9i
amVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJpbmcoKSwgbWF0aFByb3RvRnVuY1RydW5jLCBUcnVu
Y0ludHJpbnNpYykpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWF0aE9iamVjdC5jcHAKaW5kZXggYzliMTU4ZDQ3NGEwMTAwZDUyMThjNTUxZGQwMGQzMDJk
ZDVkYTg5YS4uMTc0ZGQxYjRhODU3MGFlNzI3OTM3YTJhZDY1ZjZhY2NiZjM5ODZhNSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAKQEAgLTUyLDcgKzUy
LDYgQEAgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jTG9nMXApOwogSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jTG9nMTApOwogSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jTG9nMik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNU
SU9OKG1hdGhQcm90b0Z1bmNNYXgpOwotSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJv
dG9GdW5jTWluKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY1Bvdyk7
CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKG1hdGhQcm90b0Z1bmNSYW5kb20pOwogSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jUm91bmQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCmluZGV4IDY3MmJjMTM2MGFiYzU5YmI2NDdmNzQy
MWI3MjYwNzExNjEzNjZmMzIuLmVhYzFiNmFjMzIxMmJjZTlmNjllN2E5MGQ3YzI3ZGRlNzZiMTQ0
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgKQEAgLTU2
LDYgKzU2LDcgQEAgcHJpdmF0ZToKIAogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJv
dG9GdW5jQWJzKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY0Zsb29y
KTsKK0pTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY01pbik7CiBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKG1hdGhQcm90b0Z1bmNUcnVuYyk7CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411834</attachid>
            <date>2020-10-19 20:35:14 -0700</date>
            <delta_ts>2020-10-19 23:40:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-217928-20201019203513.patch</filename>
            <type>text/plain</type>
            <size>10206</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZTM4NTMwOWQxODc4YjQ1MTU5M2MxMmM2ZjMxY2MzMmRmZGUwMDE3Li5iYjExNmI3NjEyN2JlYzE0
MjAzMmI0YjBjNGI1YThjN2UyNTNjMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMC0xMC0xOSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgJVR5cGVkQXJyYXklI3NvcnQgaGVscGVyIGZ1bmN0aW9ucyBzaG91
bGQgYmUgZ2xvYmFsUHJpdmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE3OTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraSBh
bmQgQWxleGV5IFNodmF5a2EuCisKKyAgICAgICAgRm9sbG93aW5nIHIyNjc4MjcsIHRoaXMgcGF0
Y2ggZW5zdXJlcyB0aGF0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc29ydCdzIGhlbHBlciBmdW5j
dGlvbnM6CisgICAgICAgICAgMS4gdXNlIHBhcmFtZXRlcnMgaW5zdGVhZCBvZiBjYXB0dXJpbmcg
dmFyaWFibGVzCisgICAgICAgICAgMi4gYXJlIGNvbnZlcnRlZCBmcm9tIGxvY2FsIGZ1bmN0aW9u
cyB0byBnbG9iYWxQcml2YXRlIG9uZXMKKworICAgICAgICBUbyB0aGlzIGVuZCwgYWxzbyBleHBv
c2UgTWF0aC5taW4gYXMgYSBsaW5rLXRpbWUgY29uc3RhbnQuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheVByb3RvdHlwZS5qczoKKyAgICAgICAgKGdsb2JhbFByaXZhdGUuc29ydE1lcmdlKToK
KyAgICAgICAgKGdsb2JhbFByaXZhdGUuc29ydE1pbik6IERlbGV0ZWQuCisgICAgICAgICogYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogYnVpbHRpbnMvVHlwZWRBcnJheVByb3Rv
dHlwZS5qczoKKyAgICAgICAgKGdsb2JhbFByaXZhdGUudHlwZWRBcnJheUVsZW1lbnRDb21wYXJl
KTogQWRkZWQuCisgICAgICAgIChnbG9iYWxQcml2YXRlLnR5cGVkQXJyYXlNZXJnZSk6IEFkZGVk
LgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS50eXBlZEFycmF5TWVyZ2VTb3J0KTogQWRkZWQuCisg
ICAgICAgIChzb3J0KToKKyAgICAgICAgKHNvcnQubWluKTogRGVsZXRlZC4KKyAgICAgICAgKHNv
cnQubWVyZ2UpOiBEZWxldGVkLgorICAgICAgICAoc29ydC5tZXJnZVNvcnQpOiBEZWxldGVkLgor
ICAgICAgICAqIGJ5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQp
OgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9N
YXRoT2JqZWN0Lmg6CisKIDIwMjAtMTAtMTkgIE1hcmsgQ29oZW4gIDxtQG1wYy5zaD4KIAogICAg
ICAgICB0ZXN0MjYyOiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbmRpdGlvbmFsL2luLWJy
YW5jaC0xLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJy
YXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90
b3R5cGUuanMKaW5kZXggMTg0MTlkM2JlZjEwYjRiOTk4MDE2NzU4NDVkZGY4YTA1M2M1Yjg3ZC4u
ZWMzYTk3MWRkMTJmYTIxZWRjZWRiZmFlOGM2OTQ1YTE2MTY5NjYwYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVByb3RvdHlwZS5qcwpAQCAtMzA2LDE0ICsz
MDYsNiBAQCBmdW5jdGlvbiBpbmNsdWRlcyhzZWFyY2hFbGVtZW50IC8qLCBmcm9tSW5kZXgqLykK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUBnbG9iYWxQcml2YXRlCi1mdW5jdGlvbiBzb3J0TWlu
KGEsIGIpCi17Ci0gICAgInVzZSBzdHJpY3QiOwotCi0gICAgcmV0dXJuIGEgPCBiID8gYSA6IGI7
Ci19Ci0KIEBnbG9iYWxQcml2YXRlCiBmdW5jdGlvbiBzb3J0U3RyaW5nQ29tcGFyYXRvcihhLCBi
KQogewpAQCAtMzc5LDE2ICszNzEsMTUgQEAgZnVuY3Rpb24gc29ydENvbW1pdChyZWNlaXZlciwg
cmVjZWl2ZXJMZW5ndGgsIHNvcnRlZCwgdW5kZWZpbmVkQ291bnQpCiAgICAgICAgIGRlbGV0ZSBy
ZWNlaXZlcltpXTsKIH0KIAotCiBAZ2xvYmFsUHJpdmF0ZQogZnVuY3Rpb24gc29ydE1lcmdlKGRz
dCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCwgY29tcGFyYXRvcikKIHsKICAgICAidXNl
IHN0cmljdCI7CiAKICAgICB2YXIgbGVmdCA9IHNyY0luZGV4OwotICAgIHZhciBsZWZ0RW5kID0g
QHNvcnRNaW4obGVmdCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciBsZWZ0RW5kID0gQG1pbihs
ZWZ0ICsgd2lkdGgsIHNyY0VuZCk7CiAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICB2YXIg
cmlnaHRFbmQgPSBAc29ydE1pbihyaWdodCArIHdpZHRoLCBzcmNFbmQpOworICAgIHZhciByaWdo
dEVuZCA9IEBtaW4ocmlnaHQgKyB3aWR0aCwgc3JjRW5kKTsKIAogICAgIGZvciAodmFyIGRzdElu
ZGV4ID0gbGVmdDsgZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgewogICAgICAgICBp
ZiAocmlnaHQgPCByaWdodEVuZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0J1aWx0aW5OYW1lcy5oCmluZGV4IDI4NjNhNTdiYzNmNDNlYzMwZjFiZDkwYzgwOWZiYjBjNGQ5
ZmRmMDQuLmMxZDVkOTA0NmFhYmZkNmZlNWNiMzkzZDk1Y2UwN2E3MTExNzY2OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKQEAgLTYxLDYgKzYx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8oQXJyYXkpIFwKICAgICBtYWNybyhBcnJh
eUJ1ZmZlcikgXAogICAgIG1hY3JvKFJlZ0V4cCkgXAorICAgIG1hY3JvKG1pbikgXAogICAgIG1h
Y3JvKHRydW5jKSBcCiAgICAgbWFjcm8oY3JlYXRlKSBcCiAgICAgbWFjcm8oZGVmaW5lUHJvcGVy
dHkpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFy
cmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlQcm90b3R5cGUuanMKaW5kZXggNzYyMTNjMjc5OTA1Nzg1Mjk3NzhlZmVkMGYwNGMwMjU4YjI5
YzAwZS4uYTRhZjc2MGZjYjY4ZjIxMGQ5OTY1NmUzM2EzMzg2ZDMyMTJjNjM1YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUu
anMKQEAgLTE2OCw2NiArMTY4LDY4IEBAIGZ1bmN0aW9uIHNvbWUoY2FsbGJhY2sgLyogWywgdGhp
c0FyZ10gKi8pCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1mdW5jdGlvbiBzb3J0KGNvbXBhcmF0
b3IpCitAZ2xvYmFsUHJpdmF0ZQorZnVuY3Rpb24gdHlwZWRBcnJheUVsZW1lbnRDb21wYXJlKGFy
cmF5LCBhLCBiLCBjb21wYXJhdG9yKQogewotICAgIC8vIDIyLjIuMy4yNQogICAgICJ1c2Ugc3Ry
aWN0IjsKIAotICAgIGZ1bmN0aW9uIG1pbihhLCBiKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGEg
PCBiID8gYSA6IGI7Ci0gICAgfQorICAgIHZhciByZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFyYXRv
cihhLCBiKSk7CiAKLSAgICB2YXIgY29tcGFyZSA9IChhLCBiKSA9PiB7Ci0gICAgICAgIHZhciBy
ZXN1bHQgPSBAdG9OdW1iZXIoY29tcGFyYXRvcihhLCBiKSk7CisgICAgaWYgKEBpc05ldXRlcmVk
KGFycmF5KSkKKyAgICAgICAgQHRocm93VHlwZUVycm9yKCJVbmRlcmx5aW5nIEFycmF5QnVmZmVy
IGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXciKTsKIAotICAgICAgICBpZiAoQGlzTmV1
dGVyZWQodGhpcykpCi0gICAgICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlVuZGVybHlpbmcgQXJy
YXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyIpOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CiAKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9OworQGdsb2JhbFByaXZh
dGUKK2Z1bmN0aW9uIHR5cGVkQXJyYXlNZXJnZShhcnJheSwgZHN0LCBzcmMsIHNyY0luZGV4LCBz
cmNFbmQsIHdpZHRoLCBjb21wYXJhdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgIGZ1
bmN0aW9uIG1lcmdlKGRzdCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCkKLSAgICB7Ci0g
ICAgICAgIHZhciBsZWZ0ID0gc3JjSW5kZXg7Ci0gICAgICAgIHZhciBsZWZ0RW5kID0gbWluKGxl
ZnQgKyB3aWR0aCwgc3JjRW5kKTsKLSAgICAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICAg
ICAgdmFyIHJpZ2h0RW5kID0gbWluKHJpZ2h0ICsgd2lkdGgsIHNyY0VuZCk7CisgICAgdmFyIGxl
ZnQgPSBzcmNJbmRleDsKKyAgICB2YXIgbGVmdEVuZCA9IEBtaW4obGVmdCArIHdpZHRoLCBzcmNF
bmQpOworICAgIHZhciByaWdodCA9IGxlZnRFbmQ7CisgICAgdmFyIHJpZ2h0RW5kID0gQG1pbihy
aWdodCArIHdpZHRoLCBzcmNFbmQpOwogCi0gICAgICAgIGZvciAodmFyIGRzdEluZGV4ID0gbGVm
dDsgZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgewotICAgICAgICAgICAgaWYgKHJp
Z2h0IDwgcmlnaHRFbmQpIHsKLSAgICAgICAgICAgICAgICBpZiAobGVmdCA+PSBsZWZ0RW5kIHx8
IGNvbXBhcmUoc3JjW3JpZ2h0XSwgc3JjW2xlZnRdKSA8IDApIHsKLSAgICAgICAgICAgICAgICAg
ICAgZHN0W2RzdEluZGV4XSA9IHNyY1tyaWdodCsrXTsKLSAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgfQorICAgIGZvciAodmFyIGRzdEluZGV4ID0gbGVmdDsg
ZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRleCkgeworICAgICAgICBpZiAocmlnaHQgPCBy
aWdodEVuZCkgeworICAgICAgICAgICAgaWYgKGxlZnQgPj0gbGVmdEVuZCB8fCBAdHlwZWRBcnJh
eUVsZW1lbnRDb21wYXJlKGFycmF5LCBzcmNbcmlnaHRdLCBzcmNbbGVmdF0sIGNvbXBhcmF0b3Ip
IDwgMCkgeworICAgICAgICAgICAgICAgIGRzdFtkc3RJbmRleF0gPSBzcmNbcmlnaHQrK107Cisg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGRz
dFtkc3RJbmRleF0gPSBzcmNbbGVmdCsrXTsKICAgICAgICAgfQorCisgICAgICAgIGRzdFtkc3RJ
bmRleF0gPSBzcmNbbGVmdCsrXTsKICAgICB9Cit9CiAKLSAgICBmdW5jdGlvbiBtZXJnZVNvcnQo
YXJyYXksIHZhbHVlQ291bnQpCi0gICAgewotICAgICAgICB2YXIgYnVmZmVyID0gWyBdOwotICAg
ICAgICBidWZmZXIubGVuZ3RoID0gdmFsdWVDb3VudDsKK0BnbG9iYWxQcml2YXRlCitmdW5jdGlv
biB0eXBlZEFycmF5TWVyZ2VTb3J0KGFycmF5LCB2YWx1ZUNvdW50LCBjb21wYXJhdG9yKQorewor
ICAgICJ1c2Ugc3RyaWN0IjsKIAotICAgICAgICB2YXIgZHN0ID0gYnVmZmVyOwotICAgICAgICB2
YXIgc3JjID0gYXJyYXk7CisgICAgdmFyIGJ1ZmZlciA9IEBuZXdBcnJheVdpdGhTaXplKHZhbHVl
Q291bnQpOworICAgIHZhciBkc3QgPSBidWZmZXI7CisgICAgdmFyIHNyYyA9IGFycmF5OwogCi0g
ICAgICAgIGZvciAodmFyIHdpZHRoID0gMTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAy
KSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBzcmNJbmRleCA9IDA7IHNyY0luZGV4IDwgdmFsdWVD
b3VudDsgc3JjSW5kZXggKz0gMiAqIHdpZHRoKQotICAgICAgICAgICAgICAgIG1lcmdlKGRzdCwg
c3JjLCBzcmNJbmRleCwgdmFsdWVDb3VudCwgd2lkdGgpOworICAgIGZvciAodmFyIHdpZHRoID0g
MTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAyKSB7CisgICAgICAgIGZvciAodmFyIHNy
Y0luZGV4ID0gMDsgc3JjSW5kZXggPCB2YWx1ZUNvdW50OyBzcmNJbmRleCArPSAyICogd2lkdGgp
CisgICAgICAgICAgICBAdHlwZWRBcnJheU1lcmdlKGFycmF5LCBkc3QsIHNyYywgc3JjSW5kZXgs
IHZhbHVlQ291bnQsIHdpZHRoLCBjb21wYXJhdG9yKTsKIAotICAgICAgICAgICAgdmFyIHRtcCA9
IHNyYzsKLSAgICAgICAgICAgIHNyYyA9IGRzdDsKLSAgICAgICAgICAgIGRzdCA9IHRtcDsKLSAg
ICAgICAgfQorICAgICAgICB2YXIgdG1wID0gc3JjOworICAgICAgICBzcmMgPSBkc3Q7CisgICAg
ICAgIGRzdCA9IHRtcDsKKyAgICB9CiAKLSAgICAgICAgaWYgKHNyYyAhPSBhcnJheSkgewotICAg
ICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHZhbHVlQ291bnQ7IGkrKykKLSAgICAgICAgICAg
ICAgICBhcnJheVtpXSA9IHNyY1tpXTsKLSAgICAgICAgfQorICAgIGlmIChzcmMgIT0gYXJyYXkp
IHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyArK2kpCisgICAgICAg
ICAgICBhcnJheVtpXSA9IHNyY1tpXTsKICAgICB9Cit9CisKK2Z1bmN0aW9uIHNvcnQoY29tcGFy
YXRvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CiAKICAgICBpZiAoY29tcGFyYXRvciAhPT0gQHVu
ZGVmaW5lZCAmJiAhQGlzQ2FsbGFibGUoY29tcGFyYXRvcikpCiAgICAgICAgIEB0aHJvd1R5cGVF
cnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29tcGFyYXRvciBh
cmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZCIpOwpAQCAtMjM3LDcgKzIzOSw3
IEBAIGZ1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KGNvbXBhcmF0b3IgIT09IEB1bmRlZmluZWQpCi0gICAgICAgIG1lcmdlU29ydCh0aGlzLCBsZW5n
dGgpOworICAgICAgICBAdHlwZWRBcnJheU1lcmdlU29ydCh0aGlzLCBsZW5ndGgsIGNvbXBhcmF0
b3IpOwogICAgIGVsc2UKICAgICAgICAgQHR5cGVkQXJyYXlTb3J0KHRoaXMpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaAppbmRleCBl
MjFkOWZiYTFhMmYzMmMwN2E0OGEwYmJmZDYwZDlmM2M2ZThjZWRhLi42OGQ5Njg3ODQxNGExOGYx
NDY1ZjVlOTZkNTRkOTViY2VhMGNmNDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CiAgICAgdihCdWlsdGluTG9nLCBudWxscHRyKSBcCiAgICAgdihCdWlsdGlu
RGVzY3JpYmUsIG51bGxwdHIpIFwKICAgICB2KFJlZ0V4cCwgbnVsbHB0cikgXAorICAgIHYobWlu
LCBudWxscHRyKSBcCiAgICAgdih0cnVuYywgbnVsbHB0cikgXAogICAgIHYoUHJvbWlzZSwgbnVs
bHB0cikgXAogICAgIHYoSW50ZXJuYWxQcm9taXNlLCBudWxscHRyKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggOGZkMzQxMDdl
NzU3MzdhMmVhZGJmNmU2ZTYxN2U3OGYxYWZiNzZlMS4uM2M1ZGRlYTA5MzM4MDIyMjQwYjEwMTEy
NjRkMzg5ZDNiMzMxNTllNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTIyNyw2ICsxMjI3LDkgQEAgY2FwaXRhbE5hbWUgIyMg
Q29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2Fw
aXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihM
aW5rVGltZUNvbnN0YW50OjpCdWlsdGluRGVzY3JpYmUpXS5pbml0TGF0ZXIoW10gKGNvbnN0IElu
aXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rp
b246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwg
MSwgU3RyaW5nKCksIGdsb2JhbEZ1bmNCdWlsdGluRGVzY3JpYmUpKTsKICAgICAgICAgfSk7Cisg
ICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25z
dGFudDo6bWluKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0
KSB7CisgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganND
YXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAsIFN0cmluZygpLCBtYXRoUHJvdG9G
dW5jTWluLCBNaW5JbnRyaW5zaWMpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0
YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHJ1bmMpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIG1hdGhQcm90b0Z1bmNUcnVuYywgVHJ1bmNJ
bnRyaW5zaWMpKTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hdGhPYmplY3QuY3BwCmluZGV4IGM5YjE1OGQ0NzRhMDEwMGQ1MjE4YzU1MWRkMDBkMzAyZGQ1
ZGE4OWEuLjE3NGRkMWI0YTg1NzBhZTcyNzkzN2EyYWQ2NWY2YWNjYmYzOTg2YTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBAIC01Miw3ICs1Miw2
IEBAIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY0xvZzFwKTsKIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY0xvZzEwKTsKIEpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY0xvZzIpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElP
TihtYXRoUHJvdG9GdW5jTWF4KTsKLUpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3Rv
RnVuY01pbik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKG1hdGhQcm90b0Z1bmNQb3cpOwog
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jUmFuZG9tKTsKIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3RvRnVuY1JvdW5kKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAppbmRleCA2NzJiYzEzNjBhYmM1OWJiNjQ3Zjc0MjFi
NzI2MDcxMTYxMzY2ZjMyLi5lYWMxYjZhYzMyMTJiY2U5ZjY5ZTdhOTBkN2MyN2RkZTc2YjE0NGNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5oCkBAIC01Niw2
ICs1Niw3IEBAIHByaXZhdGU6CiAKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWF0aFByb3Rv
RnVuY0Ficyk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKG1hdGhQcm90b0Z1bmNGbG9vcik7
CitKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKG1hdGhQcm90b0Z1bmNNaW4pOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihtYXRoUHJvdG9GdW5jVHJ1bmMpOwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MK
</data>

          </attachment>
      

    </bug>

</bugzilla>