<?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>249976</bug_id>
          
          <creation_ts>2022-12-31 17:13:02 -0800</creation_ts>
          <short_desc>WKWebView steals first responder when focused via VoiceOver</short_desc>
          <delta_ts>2023-02-17 20:51:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>Safari 16</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 16</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234885</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="Saagar Jha">saagar</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1922401</commentid>
    <comment_count>0</comment_count>
    <who name="Saagar Jha">saagar</who>
    <bug_when>2022-12-31 17:13:02 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=234885 adds behavior to WebKit to forcefully, and asynchronously, steal first responder when the web view is focused with VoiceOver. This breaks input in our app, iSH (https://ish.app), for users who rely on accessibility technologies. Our app implements a terminal view that is rendered in a web view, but with us handling text input. In other words, we (our native terminal code) intentionally request first responder, while handing the web view focus. On recent versions of iOS the web view immediately tries to steal first responder status if it receives focus via VoiceOver, which means the keyboard disappears and users can no longer enter text. We cannot have the web view be first responder because it doesn&apos;t provide all the APIs that UIKit does to control cursor movement and text editing. A way to disable this new behavior would be nice to have, or better yet, suggestions on how we can achieve the functionality we need with this in place :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1922402</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-12-31 17:13:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/103794378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1934254</commentid>
    <comment_count>2</comment_count>
      <attachid>465029</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-02-16 12:00:27 -0800</bug_when>
    <thetext>Created attachment 465029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1934446</commentid>
    <comment_count>3</comment_count>
      <attachid>465044</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-02-16 22:01:54 -0800</bug_when>
    <thetext>Created attachment 465044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1934815</commentid>
    <comment_count>4</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-02-17 20:07:55 -0800</bug_when>
    <thetext>Thanks for the bug report!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1934823</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-02-17 20:51:44 -0800</bug_when>
    <thetext>Committed 260491@main (6c019d315e83): &lt;https://commits.webkit.org/260491@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465044.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465029</attachid>
            <date>2023-02-16 12:00:27 -0800</date>
            <delta_ts>2023-02-16 22:01:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-249976-20230216120026.patch</filename>
            <type>text/plain</type>
            <size>7545</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSAxM2Y1ZjBiNDkxMGM4YzZjNGYwMDg4NTUwNjRkMDE4ZjAwYmVhN2EyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogVGh1LCAxNiBGZWIgMjAyMyAxMTo1ODoxOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFdLV2Vi
VmlldyBzdGVhbHMgZmlyc3QgcmVzcG9uZGVyIHdoZW4gZm9jdXNlZCB2aWEgVm9pY2VPdmVyCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ5OTc2IHJkYXI6Ly9wcm9i
bGVtLzEwMzc5NDM3OAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpUaGlzIGJlaGF2aW9y
IHdhcyBpbnRyb2R1Y2VkIGluOgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDg4NSAoQVg6IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldEZvY3VzZWQodHJ1ZSkgc2hv
dWxkIG1ha2UgdGhlIHdlYnBhZ2UgZm9jdXNlZCwgYW5kIG1ha2Ugd2ViIGNvbnRlbnQgdGhlIGZp
cnN0IHJlc3BvbmRlcikKClRvIGFkZHJlc3MgYW4gaXNzdWUgd2l0aCBGdWxsIEtleWJvYXJkIEFj
Y2VzcyB3aGVyZSBmb2N1cyByaW5ncyB3ZXJlbid0IGRyYXduIGluIGVtYmVkZGVkIFdLV2ViVmll
d3MuCgpIb3dldmVyLCBhZnRlciBzb21lIG1hbnVhbCB0ZXN0aW5nLCBpdCBzZWVtcyB0aGF0IHRh
a2luZyBmaXJzdC1yZXNwb25kZXJzaGlwIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGRyYXdpbmcgdGhl
IGZvY3VzIHJpbmdzLCBhbmQgaXQKc2VlbXMgbGlrZSB0aGlzIGJlaGF2aW9yIGNhdXNlcyB2YXJp
b3VzIGFkdmVyc2UgZWZmZWN0cywgc3VjaCBhczoKICAtIFZvaWNlT3ZlciBTcGVhayBTY3JlZW4g
Zm9jdXMgZXJyb25lb3VzbHkganVtcGluZyB0byB0aGUgdG9wIG9mIHRoZSBwYWdlIHdoZW4gZW5j
b3VudGVyaW5nIGFuIGVtYmVkZGVkIFdLV2ViVmlldwogIC0gVGhpcmQtcGFydHkgYXBwcyByZWx5
aW5nIG9uIFdlYktpdCB0byBub3Qgc3RlYWwgZmlyc3QtcmVzcG9uZGVyc2hpcCAoc2VlIHRoZSBj
b21tZW50cyBpbiB0aGUgYnVnIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhdGNoKQoKVGhpcyBwYXRj
aCBmaXhlcyB0aGUgaXNzdWUgYnkgcmVtb3ZpbmcgdGhlIGNhbGwgdG8gYXNzaXN0aXZlVGVjaG5v
bG9neU1ha2VGaXJzdFJlc3BvbnNlciBvbiBpT1MsIGVmZmVjdGl2ZWx5IHBhcnRpYWxseSByZXZl
cnRpbmcgdGhlIGJlaGF2aW9yIGludHJvZHVjZWQgaW4gMjM0ODg1LgoKKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1tYWtlLWZpcnN0LXJlc3Bv
bmRlci5odG1sOgpVcGRhdGUgdGhlIHRlc3QgdG8gZW5zdXJlIGZvY3VzaW5nIGFuIEFYIG9iamVj
dCBkb2VzIG5vdCBzdGVhbCBmaXJzdC1yZXNwb25kZXJzaGlwLgoqIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjpzZXRGb2N1c2VkKToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcCAgICAgfCAgIDYgKysKIC4uLi9hY2Nlc3NpYmlsaXR5LW1ha2UtZmlyc3Qt
cmVzcG9uZGVyLmh0bWwgICB8IDEwMSArKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl
ZCwgNTcgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggZmM5YTBh
OGM0MDc4Li42MjE4NjFmMWY4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjkyMCw4ICsyOTIwLDE0IEBAIHZv
aWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0Rm9jdXNlZChib29sIGZvY3VzKQogICAgICAgICAv
LyBMZWdhY3kgV2ViS2l0MSBjYXNlLgogICAgICAgICBpZiAoZnJhbWVWaWV3LT5wbGF0Zm9ybVdp
ZGdldCgpKQogICAgICAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkubWFrZUZpcnN0UmVz
cG9uZGVyKChOU1Jlc3BvbmRlciAqKWZyYW1lVmlldy0+cGxhdGZvcm1XaWRnZXQoKSk7CisjZW5k
aWYKKyNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHBhZ2UtPmNo
cm9tZSgpLmNsaWVudCgpLmFzc2lzdGl2ZVRlY2hub2xvZ3lNYWtlRmlyc3RSZXNwb25kZXIoKTsK
KyAgICAgICAgLy8gV2ViQ2hyb21lQ2xpZW50Ojphc3Npc3RpdmVUZWNobm9sb2d5TWFrZUZpcnN0
UmVzcG9uZGVyICh0aGUgV2ViS2l0MiBjb2RlcGF0aCkgaXMgaW50ZW50aW9uYWxseQorICAgICAg
ICAvLyBub3QgY2FsbGVkIG9uIGlPUyBiZWNhdXNlIHN0ZWFsaW5nIGZpcnN0LXJlc3BvbmRlcnNo
aXAgY2F1c2VzIGlzc3VlcyBzdWNoIGFzOgorICAgICAgICAvLyAgIDEuIFZvaWNlT3ZlciBTcGVh
ayBTY3JlZW4gZm9jdXMgZXJyb25lb3VzbHkganVtcGluZyB0byB0aGUgdG9wIG9mIHRoZSBwYWdl
IHdoZW4gZW5jb3VudGVyaW5nIGFuIGVtYmVkZGVkIFdLV2ViVmlldworICAgICAgICAvLyAgIDIu
IFRoaXJkLXBhcnR5IGFwcHMgcmVseWluZyBvbiBXZWJLaXQgdG8gbm90IHN0ZWFsIGZpcnN0LXJl
c3BvbmRlcnNoaXAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDk5
NzYpCiAjZW5kaWYKICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1tYWtlLWZpcnN0LXJlc3BvbmRlci5odG1s
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkt
bWFrZS1maXJzdC1yZXNwb25kZXIuaHRtbAppbmRleCBmMmQ2MThjYjNmMWMuLjNmOTkxODAwYmZj
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHktbWFrZS1maXJzdC1yZXNwb25kZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1tYWtlLWZpcnN0LXJlc3Bv
bmRlci5odG1sCkBAIC0xLDU4ICsxLDU5IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgogPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGFzc2lzdGl2ZVRlY2hub2xv
Z3lNYWtlRmlyc3RSZXNwb25kZXIgd29ya3MgY29ycmVjdGx5IG9uIGlPUy4iKTsKLSAgICB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBmdW5jdGlvbiBwZXJmb3JtVGVzdCgpIHsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICBzZXRUaW1lb3V0
KGFzeW5jIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGF3YWl0IHZlcmlmeVdlYkNvbnRl
bnRJc0ZpcnN0UmVzcG9uZGVyKHRydWUpOwotICAgICAgICAgICAgICAgIGRlYnVnKCJSZXNpZ25p
bmcgd2ViIGNvbnRlbnQgZmlyc3QgcmVzcG9uZGVyc2hpcCIpOwotICAgICAgICAgICAgICAgIGF3
YWl0IHJlc2lnbldlYkNvbnRlbnRGaXJzdFJlc3BvbmRlcigpOwotICAgICAgICAgICAgICAgIGF3
YWl0IHZlcmlmeVdlYkNvbnRlbnRJc0ZpcnN0UmVzcG9uZGVyKGZhbHNlKTsKLQotICAgICAgICAg
ICAgICAgIHZhciBpbnB1dE9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgiaW5wdXQiKTsKLSAgICAgICAgICAgICAgICBpbnB1dE9iai50YWtlRm9jdXMo
KTsKLSAgICAgICAgICAgICAgICBkZWJ1ZygiUGVyZm9ybWluZyBhY2Nlc3NpYmlsaXR5IG9iamVj
dCBmb2N1cyIpOwotCi0gICAgICAgICAgICAgICAgYXdhaXQgdmVyaWZ5V2ViQ29udGVudElzRmly
c3RSZXNwb25kZXIodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAg
ICAgICAgICB9LCAwKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHZhciBpc1dlYkNvbnRlbnRG
aXJzdFJlc3BvbmRlcjsKLSAgICBhc3luYyBmdW5jdGlvbiB2ZXJpZnlXZWJDb250ZW50SXNGaXJz
dFJlc3BvbmRlcihleHBlY3RGaXJzdFJlc3BvbmRlcnNoaXApCi0gICAgewotICAgICAgICAvLyBT
ZXQgdGhlIGdsb2JhbCB2YXIgdG8gdGhlIG9wcG9zaXRlIG9mIHdoYXQgd2UgZXhwZWN0IGFuZCBh
bGxvdyB0aGUgVUkgc2NyaXB0IHRvIGdpdmUgdXMgdGhlIGV4cGVjdGVkIHZhbHVlLgotICAgICAg
ICBpc1dlYkNvbnRlbnRGaXJzdFJlc3BvbmRlciA9ICFleHBlY3RGaXJzdFJlc3BvbmRlcnNoaXA7
Ci0KLSAgICAgICAgLy8gQmVjYXVzZSB0YWtpbmcgYW5kIHJlc2lnbmluZyBmaXJzdCByZXNwb25k
ZXJzaGlwIHJlcXVpcmVzIGFzeW5jIElQQyBiZXR3ZWVuIHRoZSB3ZWIgYW5kIFVJIHByb2Nlc3Nl
cywgd2UKLSAgICAgICAgLy8gbXVzdCBhbHNvIGFzeW5jaHJvbm91c2x5IHdhaXQgdG8gZ2V0IG91
ciBleHBlY3RlZCB2YWx1ZS4KLSAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7Ci0gICAgICAg
ICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHsKLSAgICAgICAgICAgICAgICBpc1dlYkNvbnRl
bnRGaXJzdFJlc3BvbmRlciA9IGF3YWl0IChuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgdWlDb250cm9sbGVyLmlzV2Vi
Q29udGVudEZpcnN0UmVzcG9uZGVyYCwgcmVzdWx0ID0+IHJlc29sdmUocmVzdWx0ID09PSAidHJ1
ZSIpKTsKLSAgICAgICAgICAgICAgICB9KSk7Ci0gICAgICAgICAgICB9LCAwKQotICAgICAgICAg
ICAgcmV0dXJuIGlzV2ViQ29udGVudEZpcnN0UmVzcG9uZGVyID09IGV4cGVjdEZpcnN0UmVzcG9u
ZGVyc2hpcDsKLSAgICAgICAgfSk7Ci0gICAgICAgIHNob3VsZEJlKCJpc1dlYkNvbnRlbnRGaXJz
dFJlc3BvbmRlciIsIGAke2V4cGVjdEZpcnN0UmVzcG9uZGVyc2hpcH1gKTsKLSAgICB9Ci0KLSAg
ICBhc3luYyBmdW5jdGlvbiByZXNpZ25XZWJDb250ZW50Rmlyc3RSZXNwb25kZXIoKQotICAgIHsK
LSAgICAgICAgYXdhaXQgKG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5ydW5VSVNjcmlwdChgdWlDb250cm9sbGVyLnJlc2lnbkZpcnN0UmVzcG9uZGVyKClg
LCByZXNvbHZlKTsKLSAgICAgICAgfSkpOwotICAgIH0KLQotICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgcGVyZm9ybVRlc3QsIGZhbHNlKTsKLSAgICA8L3NjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IHRoYXQgZm9jdXNpbmcgYW4gQVggb2JqZWN0IGRvZXMgbm90IHJlc3VsdCBp
biB3ZWIgY29udGVudCB0YWtpbmcgZmlyc3QtcmVzcG9uZGVyc2hpcC4iKTsKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gcGVyZm9ybVRlc3QoKSB7CisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0VGltZW91dChhc3lu
YyBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoIlJlc2lnbmluZyB3ZWIgY29udGVudCBmaXJz
dC1yZXNwb25kZXJzaGlwIik7CisgICAgICAgIGF3YWl0IHJlc2lnbldlYkNvbnRlbnRGaXJzdFJl
c3BvbmRlcigpOworICAgICAgICBhd2FpdCB2ZXJpZnlXZWJDb250ZW50SXNGaXJzdFJlc3BvbmRl
cihmYWxzZSk7CisKKyAgICAgICAgdmFyIGlucHV0T2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJpbnB1dCIpOworICAgICAgICBkZWJ1ZygiUGVyZm9y
bWluZyBhY2Nlc3NpYmlsaXR5IG9iamVjdCBmb2N1cy4gV2ViIGNvbnRlbnQgc2hvdWxkIG5vdCBi
ZWNvbWUgdGhlIGZpcnN0IHJlc3BvbmRlci4iKTsKKyAgICAgICAgaW5wdXRPYmoudGFrZUZvY3Vz
KCk7CisKKyAgICAgICAgLy8gV2FpdCBmb3IgSVBDIHRvIG9jY3VyLgorICAgICAgICBhd2FpdCBz
bGVlcCgyMDApOworICAgICAgICBhd2FpdCB2ZXJpZnlXZWJDb250ZW50SXNGaXJzdFJlc3BvbmRl
cihmYWxzZSk7CisKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMCk7Cit9CisKK3Zh
ciB3ZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlcjsKK2FzeW5jIGZ1bmN0aW9uIHZlcmlmeVdlYkNv
bnRlbnRJc0ZpcnN0UmVzcG9uZGVyKGV4cGVjdEZpcnN0UmVzcG9uZGVyc2hpcCkgeworICAgIC8v
IFNldCB0aGUgZ2xvYmFsIHZhciB0byB0aGUgb3Bwb3NpdGUgb2Ygd2hhdCB3ZSBleHBlY3QgYW5k
IGFsbG93IHRoZSBVSSBzY3JpcHQgdG8gZ2l2ZSB1cyB0aGUgZXhwZWN0ZWQgdmFsdWUuCisgICAg
d2ViQ29udGVudElzRmlyc3RSZXNwb25kZXIgPSAhZXhwZWN0Rmlyc3RSZXNwb25kZXJzaGlwOwor
CisgICAgLy8gQmVjYXVzZSB0YWtpbmcgYW5kIHJlc2lnbmluZyBmaXJzdCByZXNwb25kZXJzaGlw
IHJlcXVpcmVzIGFzeW5jIElQQyBiZXR3ZWVuIHRoZSB3ZWIgYW5kIFVJIHByb2Nlc3Nlcywgd2UK
KyAgICAvLyBtdXN0IGFsc28gYXN5bmNocm9ub3VzbHkgd2FpdCB0byBnZXQgb3VyIGV4cGVjdGVk
IHZhbHVlLgorICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgIHdlYkNvbnRlbnRJc0ZpcnN0UmVzcG9uZGVyID0gYXdh
aXQgKG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
cnVuVUlTY3JpcHQoYHVpQ29udHJvbGxlci53ZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlcmAsIHJl
c3VsdCA9PiByZXNvbHZlKHJlc3VsdCA9PT0gInRydWUiKSk7CisgICAgICAgICAgICB9KSk7Cisg
ICAgICAgIH0sIDApCisgICAgICAgIHJldHVybiB3ZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlciA9
PSBleHBlY3RGaXJzdFJlc3BvbmRlcnNoaXA7CisgICAgfSk7CisgICAgc2hvdWxkQmUoIndlYkNv
bnRlbnRJc0ZpcnN0UmVzcG9uZGVyIiwgYCR7ZXhwZWN0Rmlyc3RSZXNwb25kZXJzaGlwfWApOwor
fQorCithc3luYyBmdW5jdGlvbiByZXNpZ25XZWJDb250ZW50Rmlyc3RSZXNwb25kZXIoKSB7Cisg
ICAgYXdhaXQgKG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB0ZXN0UnVubmVyLnJ1
blVJU2NyaXB0KGB1aUNvbnRyb2xsZXIucmVzaWduRmlyc3RSZXNwb25kZXIoKWAsIHJlc29sdmUp
OworICAgIH0pKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBwZXJmb3Jt
VGVzdCwgZmFsc2UpOworPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KICAgICA8aW5wdXQgaWQ9
ImlucHV0IiB0eXBlPSJ0ZXh0Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465044</attachid>
            <date>2023-02-16 22:01:54 -0800</date>
            <delta_ts>2023-02-17 20:51:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-249976-20230216220153.patch</filename>
            <type>text/plain</type>
            <size>8767</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA3NjQ5Y2U3ZTkxNTU3YWNjMGE4YWNjZjAyMTRmMmQyMzcyYzQ1NDBiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogVGh1LCAxNiBGZWIgMjAyMyAxMTo1ODoxOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFdLV2Vi
VmlldyBzdGVhbHMgZmlyc3QgcmVzcG9uZGVyIHdoZW4gZm9jdXNlZCB2aWEgVm9pY2VPdmVyCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ5OTc2IHJkYXI6Ly9wcm9i
bGVtLzEwMzc5NDM3OAoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpUaGlzIGJlaGF2aW9y
IHdhcyBpbnRyb2R1Y2VkIGluOgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDg4NSAoQVg6IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldEZvY3VzZWQodHJ1ZSkgc2hv
dWxkIG1ha2UgdGhlIHdlYnBhZ2UgZm9jdXNlZCwgYW5kIG1ha2Ugd2ViIGNvbnRlbnQgdGhlIGZp
cnN0IHJlc3BvbmRlcikKClRvIGFkZHJlc3MgYW4gaXNzdWUgd2l0aCBGdWxsIEtleWJvYXJkIEFj
Y2VzcyB3aGVyZSBmb2N1cyByaW5ncyB3ZXJlbid0IGRyYXduIGluIGVtYmVkZGVkIFdLV2ViVmll
d3MuCgpIb3dldmVyLCBhZnRlciBzb21lIG1hbnVhbCB0ZXN0aW5nLCBpdCBzZWVtcyB0aGF0IHRh
a2luZyBmaXJzdC1yZXNwb25kZXJzaGlwIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGRyYXdpbmcgdGhl
IGZvY3VzIHJpbmdzLCBhbmQgaXQKc2VlbXMgbGlrZSB0aGlzIGJlaGF2aW9yIGNhdXNlcyB2YXJp
b3VzIGFkdmVyc2UgZWZmZWN0cywgc3VjaCBhczoKICAtIFZvaWNlT3ZlciBTcGVhayBTY3JlZW4g
Zm9jdXMgZXJyb25lb3VzbHkganVtcGluZyB0byB0aGUgdG9wIG9mIHRoZSBwYWdlIHdoZW4gZW5j
b3VudGVyaW5nIGFuIGVtYmVkZGVkIFdLV2ViVmlldwogIC0gVGhpcmQtcGFydHkgYXBwcyByZWx5
aW5nIG9uIFdlYktpdCB0byBub3Qgc3RlYWwgZmlyc3QtcmVzcG9uZGVyc2hpcCAoc2VlIHRoZSBj
b21tZW50cyBpbiB0aGUgYnVnIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhdGNoKQoKVGhpcyBwYXRj
aCBmaXhlcyB0aGUgaXNzdWUgYnkgcmVtb3ZpbmcgdGhlIGNhbGwgdG8gYXNzaXN0aXZlVGVjaG5v
bG9neU1ha2VGaXJzdFJlc3BvbnNlciBvbiBpT1MsIGVmZmVjdGl2ZWx5IHBhcnRpYWxseSByZXZl
cnRpbmcgdGhlIGJlaGF2aW9yIGludHJvZHVjZWQgaW4gMjM0ODg1LgoKKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1tYWtlLWZpcnN0LXJlc3Bv
bmRlci5odG1sOgpVcGRhdGUgdGhlIHRlc3QgdG8gZW5zdXJlIGZvY3VzaW5nIGFuIEFYIG9iamVj
dCBkb2VzIG5vdCBzdGVhbCBmaXJzdC1yZXNwb25kZXJzaGlwLgoqIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0OjpzZXRGb2N1c2VkKToKLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcCAgICAgfCAgIDYgKysKIC4uLnNpYmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9u
ZGVyLWV4cGVjdGVkLnR4dCB8ICAxMSArLQogLi4uL2FjY2Vzc2liaWxpdHktbWFrZS1maXJzdC1y
ZXNwb25kZXIuaHRtbCAgIHwgMTAxICsrKysrKysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2Vk
LCA2MiBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBmYzlhMGE4
YzQwNzguLjYyMTg2MWYxZjgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCkBAIC0yOTIwLDggKzI5MjAsMTQgQEAgdm9p
ZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzZXRGb2N1c2VkKGJvb2wgZm9jdXMpCiAgICAgICAgIC8v
IExlZ2FjeSBXZWJLaXQxIGNhc2UuCiAgICAgICAgIGlmIChmcmFtZVZpZXctPnBsYXRmb3JtV2lk
Z2V0KCkpCiAgICAgICAgICAgICBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5tYWtlRmlyc3RSZXNw
b25kZXIoKE5TUmVzcG9uZGVyICopZnJhbWVWaWV3LT5wbGF0Zm9ybVdpZGdldCgpKTsKKyNlbmRp
ZgorI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcGFnZS0+Y2hy
b21lKCkuY2xpZW50KCkuYXNzaXN0aXZlVGVjaG5vbG9neU1ha2VGaXJzdFJlc3BvbmRlcigpOwor
ICAgICAgICAvLyBXZWJDaHJvbWVDbGllbnQ6OmFzc2lzdGl2ZVRlY2hub2xvZ3lNYWtlRmlyc3RS
ZXNwb25kZXIgKHRoZSBXZWJLaXQyIGNvZGVwYXRoKSBpcyBpbnRlbnRpb25hbGx5CisgICAgICAg
IC8vIG5vdCBjYWxsZWQgb24gaU9TIGJlY2F1c2Ugc3RlYWxpbmcgZmlyc3QtcmVzcG9uZGVyc2hp
cCBjYXVzZXMgaXNzdWVzIHN1Y2ggYXM6CisgICAgICAgIC8vICAgMS4gVm9pY2VPdmVyIFNwZWFr
IFNjcmVlbiBmb2N1cyBlcnJvbmVvdXNseSBqdW1waW5nIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2Ug
d2hlbiBlbmNvdW50ZXJpbmcgYW4gZW1iZWRkZWQgV0tXZWJWaWV3CisgICAgICAgIC8vICAgMi4g
VGhpcmQtcGFydHkgYXBwcyByZWx5aW5nIG9uIFdlYktpdCB0byBub3Qgc3RlYWwgZmlyc3QtcmVz
cG9uZGVyc2hpcCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0OTk3
NikKICNlbmRpZgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9uZGVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9uZGVyLWV4cGVjdGVkLnR4dAppbmRleCA2NDZmOTMxNDIy
NjYuLjI5Yzk4MGJkODE4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
b3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktbWFrZS1maXJzdC1yZXNwb25kZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9uZGVyLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMiBA
QAotVGVzdCB0aGF0IGFzc2lzdGl2ZVRlY2hub2xvZ3lNYWtlRmlyc3RSZXNwb25kZXIgd29ya3Mg
Y29ycmVjdGx5IG9uIGlPUy4KK1Rlc3QgdGhhdCBmb2N1c2luZyBhbiBBWCBvYmplY3QgZG9lcyBu
b3QgcmVzdWx0IGluIHdlYiBjb250ZW50IHRha2luZyBmaXJzdC1yZXNwb25kZXJzaGlwLgogCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBpc1dlYkNvbnRlbnRGaXJzdFJlc3Bv
bmRlciBpcyB0cnVlCi1SZXNpZ25pbmcgd2ViIGNvbnRlbnQgZmlyc3QgcmVzcG9uZGVyc2hpcAot
UEFTUyBpc1dlYkNvbnRlbnRGaXJzdFJlc3BvbmRlciBpcyBmYWxzZQotUGVyZm9ybWluZyBhY2Nl
c3NpYmlsaXR5IG9iamVjdCBmb2N1cwotUEFTUyBpc1dlYkNvbnRlbnRGaXJzdFJlc3BvbmRlciBp
cyB0cnVlCitSZXNpZ25pbmcgd2ViIGNvbnRlbnQgZmlyc3QtcmVzcG9uZGVyc2hpcAorUEFTUyB3
ZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlciBpcyBmYWxzZQorUGVyZm9ybWluZyBhY2Nlc3NpYmls
aXR5IG9iamVjdCBmb2N1cy4gV2ViIGNvbnRlbnQgc2hvdWxkIG5vdCBiZWNvbWUgdGhlIGZpcnN0
IHJlc3BvbmRlci4KK1BBU1Mgd2ViQ29udGVudElzRmlyc3RSZXNwb25kZXIgaXMgZmFsc2UKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkt
bWFrZS1maXJzdC1yZXNwb25kZXIuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9uZGVyLmh0bWwKaW5kZXgg
ZjJkNjE4Y2IzZjFjLi4zZjk5MTgwMGJmYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LW1ha2UtZmlyc3QtcmVzcG9uZGVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHktbWFrZS1maXJzdC1yZXNwb25kZXIuaHRtbApAQCAtMSw1OCArMSw1OSBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvYWNj
ZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRl
c3QgdGhhdCBhc3Npc3RpdmVUZWNobm9sb2d5TWFrZUZpcnN0UmVzcG9uZGVyIHdvcmtzIGNvcnJl
Y3RseSBvbiBpT1MuIik7Ci0gICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAg
ZnVuY3Rpb24gcGVyZm9ybVRlc3QoKSB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICBhd2FpdCB2ZXJpZnlXZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlcih0cnVlKTsKLSAgICAg
ICAgICAgICAgICBkZWJ1ZygiUmVzaWduaW5nIHdlYiBjb250ZW50IGZpcnN0IHJlc3BvbmRlcnNo
aXAiKTsKLSAgICAgICAgICAgICAgICBhd2FpdCByZXNpZ25XZWJDb250ZW50Rmlyc3RSZXNwb25k
ZXIoKTsKLSAgICAgICAgICAgICAgICBhd2FpdCB2ZXJpZnlXZWJDb250ZW50SXNGaXJzdFJlc3Bv
bmRlcihmYWxzZSk7Ci0KLSAgICAgICAgICAgICAgICB2YXIgaW5wdXRPYmogPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0Iik7Ci0gICAgICAgICAg
ICAgICAgaW5wdXRPYmoudGFrZUZvY3VzKCk7Ci0gICAgICAgICAgICAgICAgZGVidWcoIlBlcmZv
cm1pbmcgYWNjZXNzaWJpbGl0eSBvYmplY3QgZm9jdXMiKTsKLQotICAgICAgICAgICAgICAgIGF3
YWl0IHZlcmlmeVdlYkNvbnRlbnRJc0ZpcnN0UmVzcG9uZGVyKHRydWUpOwotICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSwgMCk7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICB2YXIgaXNXZWJDb250ZW50Rmlyc3RSZXNwb25kZXI7Ci0gICAgYXN5bmMgZnVuY3Rp
b24gdmVyaWZ5V2ViQ29udGVudElzRmlyc3RSZXNwb25kZXIoZXhwZWN0Rmlyc3RSZXNwb25kZXJz
aGlwKQotICAgIHsKLSAgICAgICAgLy8gU2V0IHRoZSBnbG9iYWwgdmFyIHRvIHRoZSBvcHBvc2l0
ZSBvZiB3aGF0IHdlIGV4cGVjdCBhbmQgYWxsb3cgdGhlIFVJIHNjcmlwdCB0byBnaXZlIHVzIHRo
ZSBleHBlY3RlZCB2YWx1ZS4KLSAgICAgICAgaXNXZWJDb250ZW50Rmlyc3RSZXNwb25kZXIgPSAh
ZXhwZWN0Rmlyc3RSZXNwb25kZXJzaGlwOwotCi0gICAgICAgIC8vIEJlY2F1c2UgdGFraW5nIGFu
ZCByZXNpZ25pbmcgZmlyc3QgcmVzcG9uZGVyc2hpcCByZXF1aXJlcyBhc3luYyBJUEMgYmV0d2Vl
biB0aGUgd2ViIGFuZCBVSSBwcm9jZXNzZXMsIHdlCi0gICAgICAgIC8vIG11c3QgYWxzbyBhc3lu
Y2hyb25vdXNseSB3YWl0IHRvIGdldCBvdXIgZXhwZWN0ZWQgdmFsdWUuCi0gICAgICAgIGF3YWl0
IHdhaXRGb3IoKCkgPT4gewotICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7Ci0g
ICAgICAgICAgICAgICAgaXNXZWJDb250ZW50Rmlyc3RSZXNwb25kZXIgPSBhd2FpdCAobmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlT
Y3JpcHQoYHVpQ29udHJvbGxlci5pc1dlYkNvbnRlbnRGaXJzdFJlc3BvbmRlcmAsIHJlc3VsdCA9
PiByZXNvbHZlKHJlc3VsdCA9PT0gInRydWUiKSk7Ci0gICAgICAgICAgICAgICAgfSkpOwotICAg
ICAgICAgICAgfSwgMCkKLSAgICAgICAgICAgIHJldHVybiBpc1dlYkNvbnRlbnRGaXJzdFJlc3Bv
bmRlciA9PSBleHBlY3RGaXJzdFJlc3BvbmRlcnNoaXA7Ci0gICAgICAgIH0pOwotICAgICAgICBz
aG91bGRCZSgiaXNXZWJDb250ZW50Rmlyc3RSZXNwb25kZXIiLCBgJHtleHBlY3RGaXJzdFJlc3Bv
bmRlcnNoaXB9YCk7Ci0gICAgfQotCi0gICAgYXN5bmMgZnVuY3Rpb24gcmVzaWduV2ViQ29udGVu
dEZpcnN0UmVzcG9uZGVyKCkKLSAgICB7Ci0gICAgICAgIGF3YWl0IChuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYHVpQ29udHJvbGxl
ci5yZXNpZ25GaXJzdFJlc3BvbmRlcigpYCwgcmVzb2x2ZSk7Ci0gICAgICAgIH0pKTsKLSAgICB9
Ci0KLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBlcmZvcm1UZXN0LCBmYWxz
ZSk7Ci0gICAgPC9zY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGZvY3VzaW5nIGFuIEFY
IG9iamVjdCBkb2VzIG5vdCByZXN1bHQgaW4gd2ViIGNvbnRlbnQgdGFraW5nIGZpcnN0LXJlc3Bv
bmRlcnNoaXAuIik7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHBl
cmZvcm1UZXN0KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCJS
ZXNpZ25pbmcgd2ViIGNvbnRlbnQgZmlyc3QtcmVzcG9uZGVyc2hpcCIpOworICAgICAgICBhd2Fp
dCByZXNpZ25XZWJDb250ZW50Rmlyc3RSZXNwb25kZXIoKTsKKyAgICAgICAgYXdhaXQgdmVyaWZ5
V2ViQ29udGVudElzRmlyc3RSZXNwb25kZXIoZmFsc2UpOworCisgICAgICAgIHZhciBpbnB1dE9i
aiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiaW5wdXQi
KTsKKyAgICAgICAgZGVidWcoIlBlcmZvcm1pbmcgYWNjZXNzaWJpbGl0eSBvYmplY3QgZm9jdXMu
IFdlYiBjb250ZW50IHNob3VsZCBub3QgYmVjb21lIHRoZSBmaXJzdCByZXNwb25kZXIuIik7Cisg
ICAgICAgIGlucHV0T2JqLnRha2VGb2N1cygpOworCisgICAgICAgIC8vIFdhaXQgZm9yIElQQyB0
byBvY2N1ci4KKyAgICAgICAgYXdhaXQgc2xlZXAoMjAwKTsKKyAgICAgICAgYXdhaXQgdmVyaWZ5
V2ViQ29udGVudElzRmlyc3RSZXNwb25kZXIoZmFsc2UpOworCisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgIH0sIDApOworfQorCit2YXIgd2ViQ29udGVudElzRmlyc3RSZXNwb25kZXI7Cith
c3luYyBmdW5jdGlvbiB2ZXJpZnlXZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlcihleHBlY3RGaXJz
dFJlc3BvbmRlcnNoaXApIHsKKyAgICAvLyBTZXQgdGhlIGdsb2JhbCB2YXIgdG8gdGhlIG9wcG9z
aXRlIG9mIHdoYXQgd2UgZXhwZWN0IGFuZCBhbGxvdyB0aGUgVUkgc2NyaXB0IHRvIGdpdmUgdXMg
dGhlIGV4cGVjdGVkIHZhbHVlLgorICAgIHdlYkNvbnRlbnRJc0ZpcnN0UmVzcG9uZGVyID0gIWV4
cGVjdEZpcnN0UmVzcG9uZGVyc2hpcDsKKworICAgIC8vIEJlY2F1c2UgdGFraW5nIGFuZCByZXNp
Z25pbmcgZmlyc3QgcmVzcG9uZGVyc2hpcCByZXF1aXJlcyBhc3luYyBJUEMgYmV0d2VlbiB0aGUg
d2ViIGFuZCBVSSBwcm9jZXNzZXMsIHdlCisgICAgLy8gbXVzdCBhbHNvIGFzeW5jaHJvbm91c2x5
IHdhaXQgdG8gZ2V0IG91ciBleHBlY3RlZCB2YWx1ZS4KKyAgICBhd2FpdCB3YWl0Rm9yKCgpID0+
IHsKKyAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7CisgICAgICAgICAgICB3ZWJDb250
ZW50SXNGaXJzdFJlc3BvbmRlciA9IGF3YWl0IChuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGB1aUNvbnRyb2xsZXIud2ViQ29u
dGVudElzRmlyc3RSZXNwb25kZXJgLCByZXN1bHQgPT4gcmVzb2x2ZShyZXN1bHQgPT09ICJ0cnVl
IikpOworICAgICAgICAgICAgfSkpOworICAgICAgICB9LCAwKQorICAgICAgICByZXR1cm4gd2Vi
Q29udGVudElzRmlyc3RSZXNwb25kZXIgPT0gZXhwZWN0Rmlyc3RSZXNwb25kZXJzaGlwOworICAg
IH0pOworICAgIHNob3VsZEJlKCJ3ZWJDb250ZW50SXNGaXJzdFJlc3BvbmRlciIsIGAke2V4cGVj
dEZpcnN0UmVzcG9uZGVyc2hpcH1gKTsKK30KKworYXN5bmMgZnVuY3Rpb24gcmVzaWduV2ViQ29u
dGVudEZpcnN0UmVzcG9uZGVyKCkgeworICAgIGF3YWl0IChuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgdWlDb250cm9sbGVyLnJlc2lnbkZp
cnN0UmVzcG9uZGVyKClgLCByZXNvbHZlKTsKKyAgICB9KSk7Cit9CisKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcGVyZm9ybVRlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiAgICAgPGlucHV0IGlkPSJpbnB1dCIgdHlwZT0idGV4dCI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>