<?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>210631</bug_id>
          
          <creation_ts>2020-04-16 19:11:32 -0700</creation_ts>
          <short_desc>GetTypedArrayByteOffset is broken on arm64e</short_desc>
          <delta_ts>2020-04-17 14:49:16 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</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>1642541</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-16 19:11:32 -0700</bug_when>
    <thetext>- We compare against 0 instead of the &quot;null&quot; signed vector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642543</commentid>
    <comment_count>1</comment_count>
      <attachid>396733</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-16 19:26:30 -0700</bug_when>
    <thetext>Created attachment 396733
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642551</commentid>
    <comment_count>2</comment_count>
      <attachid>396733</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-04-16 19:43:53 -0700</bug_when>
    <thetext>Comment on attachment 396733
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642700</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-17 08:58:43 -0700</bug_when>
    <thetext>Seems like my change breaks byteOffset in C++. Question is: is that same branch also broken in JITCode or is DataView unreachable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642736</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-17 10:57:14 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Seems like my change breaks byteOffset in C++. Question is: is that same
&gt; branch also broken in JITCode or is DataView unreachable?

Yeah, not reachable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642740</commentid>
    <comment_count>5</comment_count>
      <attachid>396774</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-17 11:00:04 -0700</bug_when>
    <thetext>Created attachment 396774
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642741</commentid>
    <comment_count>6</comment_count>
      <attachid>396775</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-04-17 11:00:58 -0700</bug_when>
    <thetext>Created attachment 396775
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642853</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-17 14:48:26 -0700</bug_when>
    <thetext>Committed r260289: &lt;https://trac.webkit.org/changeset/260289&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396775.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642854</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-17 14:49:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/61951457&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396733</attachid>
            <date>2020-04-16 19:26:30 -0700</date>
            <delta_ts>2020-04-17 11:00:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>8965</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAyMzQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldFR5cGVkQXJyYXlCeXRlT2Zmc2V0IGlzIGJyb2tlbiBvbiBhcm02
NGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDYz
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Ry
ZXNzL2J5dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRlcmVkLWFybTY0ZS5qczogQWRkZWQuCisg
ICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRyYW5zZmVyQXJyYXlC
dWZmZXIuYXJyYXkuYnVmZmVyKToKKwogMjAyMC0wNC0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlZHVjZSAjIG9mIGl0ZXJhdGlv
biBzaW5jZSB0aGlzIHRlc3QgaXMgdGltZWQgb3V0IGluIHNsb3cgZGV2aWNlcwpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvYnl0ZS1vZmZzZXQtb24td2FzdGVmdWwtbmV1dGVyZWQtYXJtNjRlLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2J5dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRl
cmVkLWFybTY0ZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9ieXRlLW9mZnNl
dC1vbi13YXN0ZWZ1bC1uZXV0ZXJlZC1hcm02NGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwyMSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gby5ieXRlT2Zmc2V0OworfQor
bm9JbmxpbmUoZm9vKTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcjsKK30KKwordmFyIGFycmF5ID0gbmV3IEludDhBcnJheShuZXcg
QXJyYXlCdWZmZXIoMTAwKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgYXNzZXJ0KGZvbyhhcnJheSkgPT09IDApOworfQorCit0cmFuc2ZlckFycmF5QnVmZmVyKGFy
cmF5LmJ1ZmZlcikKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyhhcnJheSkgPT09IDApOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDQtMTYgIFNhYW0gQmFyYXRpICA8c2Jh
cmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQgaXMgYnJv
a2VuIG9uIGFybTY0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEwNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHZlY3RvciBvZiBKU0FycmF5QnVmZmVyVmlldyBpcyBzaWduZWQgZXZlbiB3aGVu
IG51bGwgb24gYXJtNjRlLiAgSG93ZXZlciwgd2Ugd2VyZQorICAgICAgICBjb21wYXJpbmcgYWdh
aW5zdCB6ZXJvLCB3aGljaCBpcyB3cm9uZy4gVGhpcyBwYXRjaCBjaGFuZ2VzIGl0IHNvIHdlIGRv
IHRoZSByaWdodCB0aGluZworICAgICAgICBhbmQgaW5zdGVhZCBjb21wYXJlIGFnYWluc3Qgd2hh
dGV2ZXIgY29uc3RhbnQgKHB0cj1udWxscHRyLHNpemU9MCkgc2lnbnMgYXMuCisKKyAgICAgICAg
KiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0Iz
Ojpjb21waWxlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIHJ1bnRpbWUvQ2Fn
ZWRCYXJyaWVyUHRyLmg6CisgICAgICAgIChKU0M6OkNhZ2VkQmFycmllclB0cjo6cmF3Qml0cyBj
b25zdCk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oOgorICAgICAgICAo
SlNDOjpKU0FycmF5QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cik6CisgICAgICAgICogcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlld0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZl
clZpZXc6OmJ5dGVPZmZzZXRJbXBsKToKKwogMjAyMC0wNC0xNiAgU2VyZ2lvIFZpbGxhciBTZW5p
biAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBm
b3Igbm9uIHVuaWZpZWQgYnVpbGRzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDI2MDIzNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02OTA2LDkgKzY5MDYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0VHlwZWRB
cnJhCiAKICAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VHUFIs
IEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZlZlY3RvcigpKSwgdmVjdG9yR1BSKTsKIAotICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBtYXNrIHRoZSBQQUMgYml0cwotICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc3MDEKLSAgICBKSVRDb21waWxlcjo6
SnVtcCBudWxsVmVjdG9yID0gbV9qaXQuYnJhbmNoVGVzdFB0cihKSVRDb21waWxlcjo6WmVybywg
dmVjdG9yR1BSKTsKKyAgICBKSVRDb21waWxlcjo6SnVtcCBudWxsVmVjdG9yID0gbV9qaXQuYnJh
bmNoUHRyKEpJVENvbXBpbGVyOjpFcXVhbCwgdmVjdG9yR1BSLCBUcnVzdGVkSW1tUHRyKEpTQXJy
YXlCdWZmZXJWaWV3OjpudWxsVmVjdG9yUHRyKCkpKTsKIAogICAgIG1faml0LmxvYWRQdHIoTWFj
cm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNPYmplY3Q6OmJ1dHRlcmZseU9mZnNldCgp
KSwgZGF0YUdQUik7CiAgICAgbV9qaXQuY2FnZVdpdGhvdXRVbnRhZ2dpbmcoR2lnYWNhZ2U6OkpT
VmFsdWUsIGRhdGFHUFIpOwpAQCAtNjkyNywxMSArNjkyNSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlR2V0VHlwZWRBcnJhCiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9u
ZSA9IG1faml0Lmp1bXAoKTsKICAgICAKKyNpZiBDUFUoQVJNNjRFKQorICAgIG51bGxWZWN0b3Iu
bGluaygmbV9qaXQpOworI2VuZGlmCiAgICAgZW1wdHlCeXRlT2Zmc2V0LmxpbmsoJm1faml0KTsK
ICAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIHZlY3RvckdQUik7CiAgICAg
CiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CisjaWYgIUNQVShBUk02NEUpCisgICAgQVNTRVJUKCFK
U0FycmF5QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cigpKTsKICAgICBudWxsVmVjdG9yLmxpbmso
Jm1faml0KTsKKyNlbmRpZgogCiAgICAgc3RyaWN0SW50MzJSZXN1bHQodmVjdG9yR1BSLCBub2Rl
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAJKHJldmlzaW9uIDI2MDIzNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEyMSwyNyArNDEyMSwyMiBAQCBw
cml2YXRlOgogICAgIHsKICAgICAgICAgTFZhbHVlIGJhc2VQdHIgPSBsb3dDZWxsKG1fbm9kZS0+
Y2hpbGQxKCkpOyAgICAKIAotICAgICAgICBMQmFzaWNCbG9jayBzaW1wbGVDYXNlID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgd2FzdGVmdWxDYXNlID0gbV9vdXQubmV3
QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90TnVsbCA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CiAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAg
ICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBudWxsVmVjdG9yT3V0ID0gbV9vdXQuYW5j
aG9yKG1fb3V0LmNvbnN0SW50UHRyKDApKTsKKwogICAgICAgICBMVmFsdWUgbW9kZSA9IG1fb3V0
LmxvYWQzMihiYXNlUHRyLCBtX2hlYXBzLkpTQXJyYXlCdWZmZXJWaWV3X21vZGUpOwogICAgICAg
ICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbChtb2RlLCBtX291dC5j
b25zdEludDMyKFdhc3RlZnVsVHlwZWRBcnJheSkpLAotICAgICAgICAgICAgdW5zdXJlKHNpbXBs
ZUNhc2UpLCB1bnN1cmUod2FzdGVmdWxDYXNlKSk7Ci0KLSAgICAgICAgTEJhc2ljQmxvY2sgbGFz
dE5leHQgPSBtX291dC5hcHBlbmRUbyhzaW1wbGVDYXNlLCB3YXN0ZWZ1bENhc2UpOwotCi0gICAg
ICAgIFZhbHVlRnJvbUJsb2NrIHNpbXBsZU91dCA9IG1fb3V0LmFuY2hvcihtX291dC5jb25zdElu
dFB0cigwKSk7Ci0KLSAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAg
ICAgdW5zdXJlKGNvbnRpbnVhdGlvbiksIHVuc3VyZSh3YXN0ZWZ1bENhc2UpKTsKIAotICAgICAg
ICBtX291dC5hcHBlbmRUbyh3YXN0ZWZ1bENhc2UsIG5vdE51bGwpOworICAgICAgICBMQmFzaWNC
bG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKHdhc3RlZnVsQ2FzZSwgbm90TnVsbCk7CiAK
ICAgICAgICAgTFZhbHVlIHZlY3RvciA9IG1fb3V0LmxvYWRQdHIoYmFzZVB0ciwgbV9oZWFwcy5K
U0FycmF5QnVmZmVyVmlld192ZWN0b3IpOwotICAgICAgICBWYWx1ZUZyb21CbG9jayBudWxsVmVj
dG9yT3V0ID0gbV9vdXQuYW5jaG9yKHZlY3Rvcik7Ci0gICAgICAgIG1fb3V0LmJyYW5jaCh2ZWN0
b3IsIHVuc3VyZShub3ROdWxsKSwgdW5zdXJlKGNvbnRpbnVhdGlvbikpOworICAgICAgICBtX291
dC5icmFuY2gobV9vdXQuZXF1YWwodmVjdG9yLCBtX291dC5jb25zdEludFB0cihKU0FycmF5QnVm
ZmVyVmlldzo6bnVsbFZlY3RvclB0cigpKSksIAorICAgICAgICAgICAgdW5zdXJlKGNvbnRpbnVh
dGlvbiksIHVuc3VyZShub3ROdWxsKSk7CiAKICAgICAgICAgbV9vdXQuYXBwZW5kVG8obm90TnVs
bCwgY29udGludWF0aW9uKTsKIApAQCAtNDE2MCw3ICs0MTU1LDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250
aW51YXRpb24sIGxhc3ROZXh0KTsKIAotICAgICAgICBzZXRJbnQzMihtX291dC5jYXN0VG9JbnQz
MihtX291dC5waGkocG9pbnRlclR5cGUoKSwgc2ltcGxlT3V0LCBudWxsVmVjdG9yT3V0LCB3YXN0
ZWZ1bE91dCkpKTsKKyAgICAgICAgc2V0SW50MzIobV9vdXQuY2FzdFRvSW50MzIobV9vdXQucGhp
KHBvaW50ZXJUeXBlKCksIG51bGxWZWN0b3JPdXQsIHdhc3RlZnVsT3V0KSkpOwogICAgIH0KIAog
ICAgIHZvaWQgY29tcGlsZUdldFByb3RvdHlwZU9mKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NhZ2VkQmFycmllclB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NhZ2VkQmFycmllclB0ci5oCShyZXZpc2lvbiAyNjAyMzQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWdlZEJhcnJpZXJQdHIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODQsNiArODQsMTEgQEAgcHVibGljOgogICAgIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+CiAgICAgdm9pZCBzZXRXaXRob3V0QmFycmllcihVJiYgdmFsdWUsIHVuc2lnbmVk
IHNpemUpIHsgbV9iYXJyaWVyLnNldFdpdGhvdXRCYXJyaWVyKENhZ2VkVHlwZShzdGQ6OmZvcndh
cmQ8VT4odmFsdWUpLCBzaXplKSk7IH0KKworICAgIFQqIHJhd0JpdHMoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fYmFycmllci5nZXQoKS5yYXdCaXRzKCk7CisgICAgfQogICAgIAog
cHJpdmF0ZToKICAgICBBdXhpbGlhcnlCYXJyaWVyPENhZ2VkVHlwZT4gbV9iYXJyaWVyOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5oCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5QnVmZmVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNiArMTA1LDEyIEBAIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgZmFzdFNpemVMaW1pdCA9IDEw
MDA7CiAgICAgdXNpbmcgVmVjdG9yUHRyID0gQ2FnZWRCYXJyaWVyUHRyPEdpZ2FjYWdlOjpQcmlt
aXRpdmUsIHZvaWQsIHRhZ0NhZ2VkUHRyPjsKKworICAgIHN0YXRpYyB2b2lkKiBudWxsVmVjdG9y
UHRyKCkKKyAgICB7CisgICAgICAgIFZlY3RvclB0ciBudWxsIHsgfTsKKyAgICAgICAgcmV0dXJu
IG51bGwucmF3Qml0cygpOworICAgIH0KICAgICAKICAgICBzdGF0aWMgc2l6ZV90IHNpemVPZih1
aW50MzJfdCBsZW5ndGgsIHVpbnQzMl90IGVsZW1lbnRTaXplKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3SW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3
SW5saW5lcy5oCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlld0lubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtODMsOSAr
ODMsMTEgQEAgaW5saW5lIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+IEpTQXJyYXlCdQogdGVtcGxh
dGU8SlNBcnJheUJ1ZmZlclZpZXc6OlJlcXVlc3RlciByZXF1ZXN0ZXIsIHR5cGVuYW1lIFJlc3Vs
dFR5cGU+CiBpbmxpbmUgUmVzdWx0VHlwZSBKU0FycmF5QnVmZmVyVmlldzo6Ynl0ZU9mZnNldElt
cGwoKQogewotICAgIGlmICghaGFzQXJyYXlCdWZmZXIoKSkKKyAgICBpZiAobV9tb2RlICE9IFdh
c3RlZnVsVHlwZWRBcnJheSkKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICBBU1NFUlQoaGFzQXJy
YXlCdWZmZXIoKSk7CisKICAgICBpZiAocmVxdWVzdGVyID09IENvbmN1cnJlbnRUaHJlYWQpCiAg
ICAgICAgIFdURjo6bG9hZExvYWRGZW5jZSgpOwogCkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMjM0KQor
KysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAyMC0wNC0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBH
ZXRUeXBlZEFycmF5Qnl0ZU9mZnNldCBpcyBicm9rZW4gb24gYXJtNjRlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9DYWdlZFB0ci5oOgorICAg
ICAgICAoV1RGOjpDYWdlZFB0cjo6cmF3Qml0cyBjb25zdCk6CisKIDIwMjAtMDQtMTYgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIFZlY3RvckNv
Y29hIGNyZWF0ZU5TQXJyYXkgb3ZlcmxvYWRzIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgY3Jl
YXRlTlNBcnJheSB0YWtpbmcgYSBtYXAgZnVuY3Rpb24KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0Nh
Z2VkUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ2FnZWRQdHIuaAkocmV2aXNp
b24gMjYwMjM0KQorKysgU291cmNlL1dURi93dGYvQ2FnZWRQdHIuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI3LDYgKzEyNywxMSBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gZ2V0VW5z
YWZlKCkgIT0gbnVsbHB0cjsKICAgICB9CisKKyAgICBUKiByYXdCaXRzKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VCo+KG1fcHRyKTsKKyAgICB9CiAgICAgCiBw
cm90ZWN0ZWQ6CiAgICAgc3RhdGljIGlubGluZSBUKiBtZXJnZVBvaW50ZXJzKFQqIHNvdXJjZVB0
ciwgVCogY2FnZWRQdHIpCg==
</data>
<flag name="review"
          id="412144"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396774</attachid>
            <date>2020-04-17 11:00:04 -0700</date>
            <delta_ts>2020-04-17 11:00:58 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>8185</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAyMzQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldFR5cGVkQXJyYXlCeXRlT2Zmc2V0IGlzIGJyb2tlbiBvbiBhcm02
NGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDYz
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgICogc3RyZXNzL2J5
dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRlcmVkLWFybTY0ZS5qczogQWRkZWQuCisgICAgICAg
IChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRyYW5zZmVyQXJyYXlCdWZmZXIu
YXJyYXkuYnVmZmVyKToKKwogMjAyMC0wNC0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlZHVjZSAjIG9mIGl0ZXJhdGlvbiBzaW5j
ZSB0aGlzIHRlc3QgaXMgdGltZWQgb3V0IGluIHNsb3cgZGV2aWNlcwpJbmRleDogSlNUZXN0cy9z
dHJlc3MvYnl0ZS1vZmZzZXQtb24td2FzdGVmdWwtbmV1dGVyZWQtYXJtNjRlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2J5dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRlcmVkLWFy
bTY0ZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9ieXRlLW9mZnNldC1vbi13
YXN0ZWZ1bC1uZXV0ZXJlZC1hcm02NGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBA
QAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gby5ieXRlT2Zmc2V0OworfQorbm9Jbmxp
bmUoZm9vKTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcjsKK30KKwordmFyIGFycmF5ID0gbmV3IEludDhBcnJheShuZXcgQXJyYXlC
dWZmZXIoMTAwKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyhhcnJheSkgPT09IDApOworfQorCit0cmFuc2ZlckFycmF5QnVmZmVyKGFycmF5LmJ1
ZmZlcikKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgYXNzZXJ0KGZv
byhhcnJheSkgPT09IDApOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDQtMTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQgaXMgYnJva2VuIG9u
IGFybTY0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhlIHZl
Y3RvciBvZiBKU0FycmF5QnVmZmVyVmlldyBpcyBzaWduZWQgZXZlbiB3aGVuIG51bGwgb24gYXJt
NjRlLiAgSG93ZXZlciwgd2Ugd2VyZQorICAgICAgICBjb21wYXJpbmcgYWdhaW5zdCB6ZXJvLCB3
aGljaCBpcyB3cm9uZy4gVGhpcyBwYXRjaCBjaGFuZ2VzIGl0IHNvIHdlIGRvIHRoZSByaWdodCB0
aGluZworICAgICAgICBhbmQgaW5zdGVhZCBjb21wYXJlIGFnYWluc3Qgd2hhdGV2ZXIgY29uc3Rh
bnQgKHB0cj1udWxscHRyLHNpemU9MCkgc2lnbnMgYXMuCisKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlR2V0
VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIHJ1bnRpbWUvQ2FnZWRCYXJyaWVyUHRy
Lmg6CisgICAgICAgIChKU0M6OkNhZ2VkQmFycmllclB0cjo6cmF3Qml0cyBjb25zdCk6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oOgorICAgICAgICAoSlNDOjpKU0FycmF5
QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cik6CisKIDIwMjAtMDQtMTYgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBm
aXggZm9yIG5vbiB1bmlmaWVkIGJ1aWxkcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjkwNiw5ICs2OTA2LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldFR5
cGVkQXJyYQogCiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNl
R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHZlY3RvckdQUik7CiAK
LSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbWFzayB0aGUgUEFDIGJpdHMKLSAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3NzAxCi0gICAgSklUQ29tcGls
ZXI6Okp1bXAgbnVsbFZlY3RvciA9IG1faml0LmJyYW5jaFRlc3RQdHIoSklUQ29tcGlsZXI6Olpl
cm8sIHZlY3RvckdQUik7CisgICAgSklUQ29tcGlsZXI6Okp1bXAgbnVsbFZlY3RvciA9IG1faml0
LmJyYW5jaFB0cihKSVRDb21waWxlcjo6RXF1YWwsIHZlY3RvckdQUiwgVHJ1c3RlZEltbVB0cihK
U0FycmF5QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cigpKSk7CiAKICAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZz
ZXQoKSksIGRhdGFHUFIpOwogICAgIG1faml0LmNhZ2VXaXRob3V0VW50YWdnaW5nKEdpZ2FjYWdl
OjpKU1ZhbHVlLCBkYXRhR1BSKTsKQEAgLTY5MjcsMTEgKzY5MjUsMTcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldFR5cGVkQXJyYQogICAgIAogICAgIEpJVENvbXBpbGVyOjpKdW1w
IGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgCisjaWYgQ1BVKEFSTTY0RSkKKyAgICBudWxsVmVj
dG9yLmxpbmsoJm1faml0KTsKKyNlbmRpZgogICAgIGVtcHR5Qnl0ZU9mZnNldC5saW5rKCZtX2pp
dCk7CiAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCB2ZWN0b3JHUFIpOwog
ICAgIAogICAgIGRvbmUubGluaygmbV9qaXQpOworI2lmICFDUFUoQVJNNjRFKQorICAgIEFTU0VS
VCghSlNBcnJheUJ1ZmZlclZpZXc6Om51bGxWZWN0b3JQdHIoKSk7CiAgICAgbnVsbFZlY3Rvci5s
aW5rKCZtX2ppdCk7CisjZW5kaWYKIAogICAgIHN0cmljdEludDMyUmVzdWx0KHZlY3RvckdQUiwg
bm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxMjEsMjcgKzQxMjEsMjIg
QEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIExWYWx1ZSBiYXNlUHRyID0gbG93Q2VsbChtX25v
ZGUtPmNoaWxkMSgpKTsgICAgCiAKLSAgICAgICAgTEJhc2ljQmxvY2sgc2ltcGxlQ2FzZSA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIHdhc3RlZnVsQ2FzZSA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdE51bGwgPSBtX291dC5uZXdCbG9j
aygpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygp
OwogICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgbnVsbFZlY3Rvck91dCA9IG1fb3V0
LmFuY2hvcihtX291dC5jb25zdEludFB0cigwKSk7CisKICAgICAgICAgTFZhbHVlIG1vZGUgPSBt
X291dC5sb2FkMzIoYmFzZVB0ciwgbV9oZWFwcy5KU0FycmF5QnVmZmVyVmlld19tb2RlKTsKICAg
ICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwobW9kZSwgbV9v
dXQuY29uc3RJbnQzMihXYXN0ZWZ1bFR5cGVkQXJyYXkpKSwKLSAgICAgICAgICAgIHVuc3VyZShz
aW1wbGVDYXNlKSwgdW5zdXJlKHdhc3RlZnVsQ2FzZSkpOwotCi0gICAgICAgIExCYXNpY0Jsb2Nr
IGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oc2ltcGxlQ2FzZSwgd2FzdGVmdWxDYXNlKTsKLQot
ICAgICAgICBWYWx1ZUZyb21CbG9jayBzaW1wbGVPdXQgPSBtX291dC5hbmNob3IobV9vdXQuY29u
c3RJbnRQdHIoMCkpOwotCi0gICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAg
ICAgICAgIHVuc3VyZShjb250aW51YXRpb24pLCB1bnN1cmUod2FzdGVmdWxDYXNlKSk7CiAKLSAg
ICAgICAgbV9vdXQuYXBwZW5kVG8od2FzdGVmdWxDYXNlLCBub3ROdWxsKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyh3YXN0ZWZ1bENhc2UsIG5vdE51bGwp
OwogCiAgICAgICAgIExWYWx1ZSB2ZWN0b3IgPSBtX291dC5sb2FkUHRyKGJhc2VQdHIsIG1faGVh
cHMuSlNBcnJheUJ1ZmZlclZpZXdfdmVjdG9yKTsKLSAgICAgICAgVmFsdWVGcm9tQmxvY2sgbnVs
bFZlY3Rvck91dCA9IG1fb3V0LmFuY2hvcih2ZWN0b3IpOwotICAgICAgICBtX291dC5icmFuY2go
dmVjdG9yLCB1bnN1cmUobm90TnVsbCksIHVuc3VyZShjb250aW51YXRpb24pKTsKKyAgICAgICAg
bV9vdXQuYnJhbmNoKG1fb3V0LmVxdWFsKHZlY3RvciwgbV9vdXQuY29uc3RJbnRQdHIoSlNBcnJh
eUJ1ZmZlclZpZXc6Om51bGxWZWN0b3JQdHIoKSkpLCAKKyAgICAgICAgICAgIHVuc3VyZShjb250
aW51YXRpb24pLCB1bnN1cmUobm90TnVsbCkpOwogCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5v
dE51bGwsIGNvbnRpbnVhdGlvbik7CiAKQEAgLTQxNjAsNyArNDE1NSw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8o
Y29udGludWF0aW9uLCBsYXN0TmV4dCk7CiAKLSAgICAgICAgc2V0SW50MzIobV9vdXQuY2FzdFRv
SW50MzIobV9vdXQucGhpKHBvaW50ZXJUeXBlKCksIHNpbXBsZU91dCwgbnVsbFZlY3Rvck91dCwg
d2FzdGVmdWxPdXQpKSk7CisgICAgICAgIHNldEludDMyKG1fb3V0LmNhc3RUb0ludDMyKG1fb3V0
LnBoaShwb2ludGVyVHlwZSgpLCBudWxsVmVjdG9yT3V0LCB3YXN0ZWZ1bE91dCkpKTsKICAgICB9
CiAKICAgICB2b2lkIGNvbXBpbGVHZXRQcm90b3R5cGVPZigpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DYWdlZEJhcnJpZXJQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWdlZEJhcnJpZXJQdHIuaAkocmV2aXNpb24gMjYwMjM0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FnZWRCYXJyaWVyUHRyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDExIEBAIHB1YmxpYzoKICAgICAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPgogICAgIHZvaWQgc2V0V2l0aG91dEJhcnJpZXIoVSYmIHZhbHVlLCB1bnNp
Z25lZCBzaXplKSB7IG1fYmFycmllci5zZXRXaXRob3V0QmFycmllcihDYWdlZFR5cGUoc3RkOjpm
b3J3YXJkPFU+KHZhbHVlKSwgc2l6ZSkpOyB9CisKKyAgICBUKiByYXdCaXRzKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX2JhcnJpZXIuZ2V0KCkucmF3Qml0cygpOworICAgIH0KICAg
ICAKIHByaXZhdGU6CiAgICAgQXV4aWxpYXJ5QmFycmllcjxDYWdlZFR5cGU+IG1fYmFycmllcjsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
clZpZXcuaAkocmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSwxMiBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGZhc3RTaXplTGltaXQg
PSAxMDAwOwogICAgIHVzaW5nIFZlY3RvclB0ciA9IENhZ2VkQmFycmllclB0cjxHaWdhY2FnZTo6
UHJpbWl0aXZlLCB2b2lkLCB0YWdDYWdlZFB0cj47CisKKyAgICBzdGF0aWMgdm9pZCogbnVsbFZl
Y3RvclB0cigpCisgICAgeworICAgICAgICBWZWN0b3JQdHIgbnVsbCB7IH07CisgICAgICAgIHJl
dHVybiBudWxsLnJhd0JpdHMoKTsKKyAgICB9CiAgICAgCiAgICAgc3RhdGljIHNpemVfdCBzaXpl
T2YodWludDMyX3QgbGVuZ3RoLCB1aW50MzJfdCBlbGVtZW50U2l6ZSkKICAgICB7CkluZGV4OiBT
b3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
cmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNC0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBHZXRUeXBlZEFycmF5Qnl0ZU9mZnNldCBpcyBicm9rZW4gb24gYXJt
NjRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA2
MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9DYWdlZFB0ci5oOgorICAgICAgICAoV1RGOjpDYWdlZFB0cjo6cmF3Qml0cyBjb25zdCk6CisK
IDIwMjAtMDQtMTYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IENsZWFuIHVwIFZlY3RvckNvY29hIGNyZWF0ZU5TQXJyYXkgb3ZlcmxvYWRzIGFuZCBhZGQgZG9j
dW1lbnRhdGlvbiBmb3IgY3JlYXRlTlNBcnJheSB0YWtpbmcgYSBtYXAgZnVuY3Rpb24KSW5kZXg6
IFNvdXJjZS9XVEYvd3RmL0NhZ2VkUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
Q2FnZWRQdHIuaAkocmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL1dURi93dGYvQ2FnZWRQdHIu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEyNywxMSBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICByZXR1cm4gZ2V0VW5zYWZlKCkgIT0gbnVsbHB0cjsKICAgICB9CisKKyAgICBUKiByYXdC
aXRzKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VCo+KG1fcHRy
KTsKKyAgICB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGlubGluZSBUKiBtZXJnZVBv
aW50ZXJzKFQqIHNvdXJjZVB0ciwgVCogY2FnZWRQdHIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396775</attachid>
            <date>2020-04-17 11:00:58 -0700</date>
            <delta_ts>2020-04-17 14:48:26 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>8179</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjAyMzQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEdldFR5cGVkQXJyYXlCeXRlT2Zmc2V0IGlzIGJyb2tlbiBvbiBhcm02
NGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDYz
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgICogc3RyZXNzL2J5
dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRlcmVkLWFybTY0ZS5qczogQWRkZWQuCisgICAgICAg
IChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRyYW5zZmVyQXJyYXlCdWZmZXIu
YXJyYXkuYnVmZmVyKToKKwogMjAyMC0wNC0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlZHVjZSAjIG9mIGl0ZXJhdGlvbiBzaW5j
ZSB0aGlzIHRlc3QgaXMgdGltZWQgb3V0IGluIHNsb3cgZGV2aWNlcwpJbmRleDogSlNUZXN0cy9z
dHJlc3MvYnl0ZS1vZmZzZXQtb24td2FzdGVmdWwtbmV1dGVyZWQtYXJtNjRlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2J5dGUtb2Zmc2V0LW9uLXdhc3RlZnVsLW5ldXRlcmVkLWFy
bTY0ZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9ieXRlLW9mZnNldC1vbi13
YXN0ZWZ1bC1uZXV0ZXJlZC1hcm02NGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMSBA
QAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gby5ieXRlT2Zmc2V0OworfQorbm9Jbmxp
bmUoZm9vKTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcjsKK30KKwordmFyIGFycmF5ID0gbmV3IEludDhBcnJheShuZXcgQXJyYXlC
dWZmZXIoMTAwKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyhhcnJheSkgPT09IDApOworfQorCit0cmFuc2ZlckFycmF5QnVmZmVyKGFycmF5LmJ1
ZmZlcikKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgYXNzZXJ0KGZv
byhhcnJheSkgPT09IDApOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDQtMTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBh
cHBsZS5jb20+CisKKyAgICAgICAgR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQgaXMgYnJva2VuIG9u
IGFybTY0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhlIHZl
Y3RvciBvZiBKU0FycmF5QnVmZmVyVmlldyBpcyBzaWduZWQgZXZlbiB3aGVuIG51bGwgb24gYXJt
NjRlLiAgSG93ZXZlciwgd2Ugd2VyZQorICAgICAgICBjb21wYXJpbmcgYWdhaW5zdCB6ZXJvLCB3
aGljaCBpcyB3cm9uZy4gVGhpcyBwYXRjaCBjaGFuZ2VzIGl0IHNvIHdlIGRvIHRoZSByaWdodCB0
aGluZworICAgICAgICBhbmQgaW5zdGVhZCBjb21wYXJlIGFnYWluc3Qgd2hhdGV2ZXIgY29uc3Rh
bnQgKHB0cj1udWxscHRyLHNpemU9MCkgc2lnbnMgYXMuCisKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1Rv
QjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlR2V0
VHlwZWRBcnJheUJ5dGVPZmZzZXQpOgorICAgICAgICAqIHJ1bnRpbWUvQ2FnZWRCYXJyaWVyUHRy
Lmg6CisgICAgICAgIChKU0M6OkNhZ2VkQmFycmllclB0cjo6cmF3Qml0cyBjb25zdCk6CisgICAg
ICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oOgorICAgICAgICAoSlNDOjpKU0FycmF5
QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cik6CisKIDIwMjAtMDQtMTYgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBm
aXggZm9yIG5vbiB1bmlmaWVkIGJ1aWxkcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjkwNiw5ICs2OTA2LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldFR5
cGVkQXJyYQogCiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNl
R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSksIHZlY3RvckdQUik7CiAK
LSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbWFzayB0aGUgUEFDIGJpdHMKLSAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3NzAxCi0gICAgSklUQ29tcGls
ZXI6Okp1bXAgbnVsbFZlY3RvciA9IG1faml0LmJyYW5jaFRlc3RQdHIoSklUQ29tcGlsZXI6Olpl
cm8sIHZlY3RvckdQUik7CisgICAgSklUQ29tcGlsZXI6Okp1bXAgbnVsbFZlY3RvciA9IG1faml0
LmJyYW5jaFB0cihKSVRDb21waWxlcjo6RXF1YWwsIHZlY3RvckdQUiwgVHJ1c3RlZEltbVB0cihK
U0FycmF5QnVmZmVyVmlldzo6bnVsbFZlY3RvclB0cigpKSk7CiAKICAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZz
ZXQoKSksIGRhdGFHUFIpOwogICAgIG1faml0LmNhZ2VXaXRob3V0VW50YWdnaW5nKEdpZ2FjYWdl
OjpKU1ZhbHVlLCBkYXRhR1BSKTsKQEAgLTY5MjcsMTEgKzY5MjUsMTcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldFR5cGVkQXJyYQogICAgIAogICAgIEpJVENvbXBpbGVyOjpKdW1w
IGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgCisjaWYgQ1BVKEFSTTY0RSkKKyAgICBudWxsVmVj
dG9yLmxpbmsoJm1faml0KTsKKyNlbmRpZgogICAgIGVtcHR5Qnl0ZU9mZnNldC5saW5rKCZtX2pp
dCk7CiAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCB2ZWN0b3JHUFIpOwog
ICAgIAogICAgIGRvbmUubGluaygmbV9qaXQpOworI2lmICFDUFUoQVJNNjRFKQorICAgIEFTU0VS
VCghSlNBcnJheUJ1ZmZlclZpZXc6Om51bGxWZWN0b3JQdHIoKSk7CiAgICAgbnVsbFZlY3Rvci5s
aW5rKCZtX2ppdCk7CisjZW5kaWYKIAogICAgIHN0cmljdEludDMyUmVzdWx0KHZlY3RvckdQUiwg
bm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCShyZXZpc2lvbiAyNjAyMzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxMjEsMjcgKzQxMjEsMjIg
QEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIExWYWx1ZSBiYXNlUHRyID0gbG93Q2VsbChtX25v
ZGUtPmNoaWxkMSgpKTsgICAgCiAKLSAgICAgICAgTEJhc2ljQmxvY2sgc2ltcGxlQ2FzZSA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIHdhc3RlZnVsQ2FzZSA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdE51bGwgPSBtX291dC5uZXdCbG9j
aygpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygp
OwogICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgbnVsbFZlY3Rvck91dCA9IG1fb3V0
LmFuY2hvcihtX291dC5jb25zdEludFB0cigwKSk7CisKICAgICAgICAgTFZhbHVlIG1vZGUgPSBt
X291dC5sb2FkMzIoYmFzZVB0ciwgbV9oZWFwcy5KU0FycmF5QnVmZmVyVmlld19tb2RlKTsKICAg
ICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwobW9kZSwgbV9v
dXQuY29uc3RJbnQzMihXYXN0ZWZ1bFR5cGVkQXJyYXkpKSwKLSAgICAgICAgICAgIHVuc3VyZShz
aW1wbGVDYXNlKSwgdW5zdXJlKHdhc3RlZnVsQ2FzZSkpOwotCi0gICAgICAgIExCYXNpY0Jsb2Nr
IGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oc2ltcGxlQ2FzZSwgd2FzdGVmdWxDYXNlKTsKLQot
ICAgICAgICBWYWx1ZUZyb21CbG9jayBzaW1wbGVPdXQgPSBtX291dC5hbmNob3IobV9vdXQuY29u
c3RJbnRQdHIoMCkpOwotCi0gICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAg
ICAgICAgIHVuc3VyZShjb250aW51YXRpb24pLCB1bnN1cmUod2FzdGVmdWxDYXNlKSk7CiAKLSAg
ICAgICAgbV9vdXQuYXBwZW5kVG8od2FzdGVmdWxDYXNlLCBub3ROdWxsKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyh3YXN0ZWZ1bENhc2UsIG5vdE51bGwp
OwogCiAgICAgICAgIExWYWx1ZSB2ZWN0b3IgPSBtX291dC5sb2FkUHRyKGJhc2VQdHIsIG1faGVh
cHMuSlNBcnJheUJ1ZmZlclZpZXdfdmVjdG9yKTsKLSAgICAgICAgVmFsdWVGcm9tQmxvY2sgbnVs
bFZlY3Rvck91dCA9IG1fb3V0LmFuY2hvcih2ZWN0b3IpOwotICAgICAgICBtX291dC5icmFuY2go
dmVjdG9yLCB1bnN1cmUobm90TnVsbCksIHVuc3VyZShjb250aW51YXRpb24pKTsKKyAgICAgICAg
bV9vdXQuYnJhbmNoKG1fb3V0LmVxdWFsKHZlY3RvciwgbV9vdXQuY29uc3RJbnRQdHIoSlNBcnJh
eUJ1ZmZlclZpZXc6Om51bGxWZWN0b3JQdHIoKSkpLCAKKyAgICAgICAgICAgIHVuc3VyZShjb250
aW51YXRpb24pLCB1bnN1cmUobm90TnVsbCkpOwogCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG5v
dE51bGwsIGNvbnRpbnVhdGlvbik7CiAKQEAgLTQxNjAsNyArNDE1NSw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKICAgICAgICAgbV9vdXQuYXBwZW5kVG8o
Y29udGludWF0aW9uLCBsYXN0TmV4dCk7CiAKLSAgICAgICAgc2V0SW50MzIobV9vdXQuY2FzdFRv
SW50MzIobV9vdXQucGhpKHBvaW50ZXJUeXBlKCksIHNpbXBsZU91dCwgbnVsbFZlY3Rvck91dCwg
d2FzdGVmdWxPdXQpKSk7CisgICAgICAgIHNldEludDMyKG1fb3V0LmNhc3RUb0ludDMyKG1fb3V0
LnBoaShwb2ludGVyVHlwZSgpLCBudWxsVmVjdG9yT3V0LCB3YXN0ZWZ1bE91dCkpKTsKICAgICB9
CiAKICAgICB2b2lkIGNvbXBpbGVHZXRQcm90b3R5cGVPZigpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DYWdlZEJhcnJpZXJQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWdlZEJhcnJpZXJQdHIuaAkocmV2aXNpb24gMjYwMjM0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FnZWRCYXJyaWVyUHRyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDExIEBAIHB1YmxpYzoKICAgICAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPgogICAgIHZvaWQgc2V0V2l0aG91dEJhcnJpZXIoVSYmIHZhbHVlLCB1bnNp
Z25lZCBzaXplKSB7IG1fYmFycmllci5zZXRXaXRob3V0QmFycmllcihDYWdlZFR5cGUoc3RkOjpm
b3J3YXJkPFU+KHZhbHVlKSwgc2l6ZSkpOyB9CisKKyAgICBUKiByYXdCaXRzKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX2JhcnJpZXIuZ2V0KCkucmF3Qml0cygpOworICAgIH0KICAg
ICAKIHByaXZhdGU6CiAgICAgQXV4aWxpYXJ5QmFycmllcjxDYWdlZFR5cGU+IG1fYmFycmllcjsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
clZpZXcuaAkocmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSwxMiBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGZhc3RTaXplTGltaXQg
PSAxMDAwOwogICAgIHVzaW5nIFZlY3RvclB0ciA9IENhZ2VkQmFycmllclB0cjxHaWdhY2FnZTo6
UHJpbWl0aXZlLCB2b2lkLCB0YWdDYWdlZFB0cj47CisKKyAgICBzdGF0aWMgdm9pZCogbnVsbFZl
Y3RvclB0cigpCisgICAgeworICAgICAgICBWZWN0b3JQdHIgbnVsbCB7IH07CisgICAgICAgIHJl
dHVybiBudWxsLnJhd0JpdHMoKTsKKyAgICB9CiAgICAgCiAgICAgc3RhdGljIHNpemVfdCBzaXpl
T2YodWludDMyX3QgbGVuZ3RoLCB1aW50MzJfdCBlbGVtZW50U2l6ZSkKICAgICB7CkluZGV4OiBT
b3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
cmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNC0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBHZXRUeXBlZEFycmF5Qnl0ZU9mZnNldCBpcyBicm9rZW4gb24gYXJt
NjRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA2
MzEKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICAqIHd0Zi9DYWdl
ZFB0ci5oOgorICAgICAgICAoV1RGOjpDYWdlZFB0cjo6cmF3Qml0cyBjb25zdCk6CisKIDIwMjAt
MDQtMTYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFu
IHVwIFZlY3RvckNvY29hIGNyZWF0ZU5TQXJyYXkgb3ZlcmxvYWRzIGFuZCBhZGQgZG9jdW1lbnRh
dGlvbiBmb3IgY3JlYXRlTlNBcnJheSB0YWtpbmcgYSBtYXAgZnVuY3Rpb24KSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL0NhZ2VkUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ2FnZWRQ
dHIuaAkocmV2aXNpb24gMjYwMjM0KQorKysgU291cmNlL1dURi93dGYvQ2FnZWRQdHIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTI3LDYgKzEyNywxMSBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBy
ZXR1cm4gZ2V0VW5zYWZlKCkgIT0gbnVsbHB0cjsKICAgICB9CisKKyAgICBUKiByYXdCaXRzKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8VCo+KG1fcHRyKTsKKyAg
ICB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGlubGluZSBUKiBtZXJnZVBvaW50ZXJz
KFQqIHNvdXJjZVB0ciwgVCogY2FnZWRQdHIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>