<?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>191715</bug_id>
          
          <creation_ts>2018-11-15 14:24:58 -0800</creation_ts>
          <short_desc>Caret stops blinking after context menu shown</short_desc>
          <delta_ts>2018-11-17 02:05:35 -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>HTML Editing</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=40533</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Hammer">jonathan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonathan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1479121</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Hammer">jonathan</who>
    <bug_when>2018-11-15 14:24:58 -0800</bug_when>
    <thetext>Showing a context menu for a selection of text inside of a contenteditable element stops the caret from blinking even *after* the context menu is dismissed. The only way to restart the blinking after the menu is dismissed is to click somewhere else inside the contenteditable element. If you don’t click and instead use the keyboard to change the selection, the caret will remain unblinking.

FrameSelection::setCaretBlinkingSuspended(true) is called from EventHandler::handleMousePressEvent(). The balancing setCaretBlinkingSuspended(false) call is found in EventHandler::handleMouseReleaseEvent. The reason it is broken in the case of context menus is because handleMouseReleaseEvent is never called after the context menu is shown.

My proposed fix is to modify EventHandler::sendContextMenuEvent and have it call setCaretBlinkingSuspended(false) before showing the menu. I can create a patch, but wanted to ask first if it is feasible to create a layout regression test to cover this bug/fix? I can’t think of an obvious way to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479234</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-15 19:36:26 -0800</bug_when>
    <thetext>Yes, you should be able to send eventSender.mouseDown(2) or eventSender.keyDown(&apos;menu&apos;) to trigger a context menu. It may only work in WebKitLegacy / WebKit1 though... so you might need to run the test with -1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479236</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Hammer">jonathan</who>
    <bug_when>2018-11-15 19:42:20 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #1)
&gt; Yes, you should be able to send eventSender.mouseDown(2) or
&gt; eventSender.keyDown(&apos;menu&apos;) to trigger a context menu. It may only work in
&gt; WebKitLegacy / WebKit1 though... so you might need to run the test with -1.

Sorry I should have clarified: my question is how would the test be able to determine if the caret was blinking or not (after the menu is dismissed)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479237</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-15 19:46:57 -0800</bug_when>
    <thetext>Oh, you probably have to add some method to internals to expose whether FrameSelection::m_caretBlinkTimer is active or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479238</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Hammer">jonathan</who>
    <bug_when>2018-11-15 19:57:59 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #3)
&gt; Oh, you probably have to add some method to internals to expose whether
&gt; FrameSelection::m_caretBlinkTimer is active or not.

Ah, got it. Didn’t know about internals until just now. I’ll look into it. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479514</commentid>
    <comment_count>5</comment_count>
      <attachid>355081</attachid>
    <who name="Jonathan Hammer">jonathan</who>
    <bug_when>2018-11-16 11:22:29 -0800</bug_when>
    <thetext>Created attachment 355081
Patch

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479536</commentid>
    <comment_count>6</comment_count>
      <attachid>355081</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-16 11:51:47 -0800</bug_when>
    <thetext>Comment on attachment 355081
Patch

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

Thanks for the fix! The code change looks good but there are a few nits to fix.

&gt; Source/WebCore/page/EventHandler.cpp:2883
&gt; +    

Nit: Whitespace.

&gt; LayoutTests/fast/events/contextmenu-dismiss-blink-caret.html:3
&gt; +    &lt;div id=&quot;contenteditable&quot; contenteditable&gt;This tests whether the caret continues to blink after the context menu is dismissed.&lt;/div&gt;

Please add an instruction to run this test manually in the browser.
This is important so that QA folks, etc... can run this test manually to verify the fix,
and also in the future this test ever gets broken, to be able to bisect using a browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479564</commentid>
    <comment_count>7</comment_count>
      <attachid>355100</attachid>
    <who name="Jonathan Hammer">jonathan</who>
    <bug_when>2018-11-16 12:37:32 -0800</bug_when>
    <thetext>Created attachment 355100
Patch

Revised patch attached</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479894</commentid>
    <comment_count>8</comment_count>
      <attachid>355100</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-17 01:38:55 -0800</bug_when>
    <thetext>Comment on attachment 355100
Patch

Let&apos;s land this. In the future, please also set cq? so that someone who is a committer can cq+ the patch to land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479899</commentid>
    <comment_count>9</comment_count>
      <attachid>355100</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-17 02:04:58 -0800</bug_when>
    <thetext>Comment on attachment 355100
Patch

Clearing flags on attachment: 355100

Committed r238345: &lt;https://trac.webkit.org/changeset/238345&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479900</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-17 02:05:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479901</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-17 02:05:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/46149260&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355081</attachid>
            <date>2018-11-16 11:22:29 -0800</date>
            <delta_ts>2018-11-16 12:37:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6515</size>
            <attacher name="Jonathan Hammer">jonathan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzODI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE4LTExLTE2ICBKb25hdGhh
biBIYW1tZXIgIDxqb25hdGhhbkBlM3NvZnR3YXJlLmNvbT4KKworICAgICAgICBDYXJldCBzdG9w
cyBibGlua2luZyBhZnRlciBjb250ZXh0IG1lbnUgc2hvd24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTcxNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQgRXZlbnRIYW5kbGVyOjpzZW5kQ29u
dGV4dE1lbnVFdmVudCB0byB1bi1zdXNwZW5kIGNhcmV0IGJsaW5raW5nIHNvIHRoYXQKKyAgICAg
ICAgdGhlIGNhcmV0IGNvbnRpbnVlcyB0byBibGluayBldmVuIGFmdGVyIHRoZSBjb250ZXh0IG1l
bnUgaXMgZGlzbWlzc2VkLiBUaGUgbm9ybWFsCisgICAgICAgIHdheSBvZiB1bi1zdXNwZW5kZWRp
bmcgY2FyZXQgYmxpbmtpbmcgKGluIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZl
bnQpIGRvZXMKKyAgICAgICAgbm90IGFwcGx5IGluIHRoZSBjYXNlIG9mIGNvbnRleHQgbWVudXMg
YmVjYXVzZSBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCBpcyBub3QKKyAgICAgICAgY2FsbGVkIG9u
Y2UgdGhlIGNvbnRleHQgbWVudSBpcyB1cC4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9j
b250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2VuZENvbnRl
eHRNZW51RXZlbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6aXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoK
KwogMjAxOC0xMS0xNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBbiBlYXJseSByZXR1cm4gZnJvbSB1cGRhdGVTY2hlZHVsaW5nSW5mbyBjYW4gbGVhdmUgc29t
ZSB2YXJpYWJsZXMgdW5pbml0aWFsaXplZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAJKHJldmlzaW9uIDIzODI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg3Nyw2ICsyODc3LDEwIEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVudCgKICAgICBpZiAoIXZpZXcpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIC8vIENhcmV0IGJsaW5raW5nIGlzIG5vcm1hbGx5IHVuLXN1
c3BlbmRlZCBpbiBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCwgYnV0IHdlCisgICAgLy8gd29uJ3Qg
cmVjZWl2ZSB0aGF0IGV2ZW50IG9uY2UgdGhlIGNvbnRleHQgbWVudSBpcyB1cC4KKyAgICBtX2Zy
YW1lLnNlbGVjdGlvbigpLnNldENhcmV0QmxpbmtpbmdTdXNwZW5kZWQoZmFsc2UpOworICAgIAog
ICAgIC8vIENsZWFyIG1vdXNlIHByZXNzIHN0YXRlIHRvIGF2b2lkIGluaXRpYXRpbmcgYSBkcmFn
IHdoaWxlIGNvbnRleHQgbWVudSBpcyB1cC4KICAgICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwog
ICAgIGJvb2wgc3dhbGxvd0V2ZW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAkocmV2aXNpb24gMjM4MjkxKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDc5LDYgKzE0NzksMTUgQEAgRXhjZXB0aW9uT3I8
UmVmPERPTVJlY3Q+PiBJbnRlcm5hbHM6OmFicwogCiAgICAgcmV0dXJuIERPTVJlY3Q6OmNyZWF0
ZShkb2N1bWVudC0+ZnJhbWUoKS0+c2VsZWN0aW9uKCkuYWJzb2x1dGVDYXJldEJvdW5kcygpKTsK
IH0KKyAgICAKK0V4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsczo6aXNDYXJldEJsaW5raW5nU3Vz
cGVuZGVkKCkKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsK
KyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAgIAorICAgIHJldHVybiBkb2N1
bWVudC0+ZnJhbWUoKS0+c2VsZWN0aW9uKCkuaXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKCk7Cit9
CiAKIFJlZjxET01SZWN0PiBJbnRlcm5hbHM6OmJvdW5kaW5nQm94KEVsZW1lbnQmIGVsZW1lbnQp
CiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDIzODI5MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIyMCw2ICsyMjAsNyBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9ybUNv
bnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwog
CiAgICAgRXhjZXB0aW9uT3I8UmVmPERPTVJlY3Q+PiBhYnNvbHV0ZUNhcmV0Qm91bmRzKCk7Cisg
ICAgRXhjZXB0aW9uT3I8Ym9vbD4gaXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKCk7CiAKICAgICBS
ZWY8RE9NUmVjdD4gYm91bmRpbmdCb3goRWxlbWVudCYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyMzgyOTEpCisrKyBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIzOCw2ICsyMzgsNyBAQCBl
bnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
Rm9ybUNvbnRyb2xTdGF0ZU9mUHJldmlvdXNIaXN0b3J5SXRlbShzZXF1ZW5jZTxET01TdHJpbmc+
IHZhbHVlcyk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVJlY3QgYWJzb2x1dGVDYXJl
dEJvdW5kcygpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBpc0NhcmV0Qmxpbmtp
bmdTdXNwZW5kZWQoKTsKIAogICAgIERPTVJlY3QgYm91bmRpbmdCb3goRWxlbWVudCBlbGVtZW50
KTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM4MjkxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMTEtMTYgIEpvbmF0aGFuIEhh
bW1lciAgPGpvbmF0aGFuQGUzc29mdHdhcmUuY29tPgorCisgICAgICAgIENhcmV0IHN0b3BzIGJs
aW5raW5nIGFmdGVyIGNvbnRleHQgbWVudSBzaG93bgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNzE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb250ZXh0bWVudS1kaXNtaXNz
LWJsaW5rLWNhcmV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMv
Y29udGV4dG1lbnUtZGlzbWlzcy1ibGluay1jYXJldC5odG1sOiBBZGRlZC4KKwogMjAxOC0xMS0x
NiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9yaW5nIGJs
b2JzIGluIElEQiBvbiBpT1M6ICJFcnJvciBwcmVwYXJpbmcgYmxvYi9maWxlIgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29udGV4dG1lbnUtZGlzbWlzcy1ibGluay1jYXJldC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29udGV4dG1l
bnUtZGlzbWlzcy1ibGluay1jYXJldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY29udGV4dG1lbnUtZGlzbWlzcy1ibGluay1jYXJldC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorUEFTUwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY29udGV4dG1lbnUtZGlzbWlzcy1ibGluay1jYXJldC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnRleHRtZW51LWRpc21pc3Mt
YmxpbmstY2FyZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNiBAQAorPGh0bWw+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJjb250ZW50ZWRpdGFi
bGUiIGNvbnRlbnRlZGl0YWJsZT5UaGlzIHRlc3RzIHdoZXRoZXIgdGhlIGNhcmV0IGNvbnRpbnVl
cyB0byBibGluayBhZnRlciB0aGUgY29udGV4dCBtZW51IGlzIGRpc21pc3NlZC48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnRlZGl0
YWJsZScpOworICAgICAgICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHJlY3QubGVmdCArIHJlY3Qud2lk
dGggLyAyLCByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMik7CisgICAgICAgIC8vIGNvbnRleHRD
bGljaygpIGltcGxlbWVudGF0aW9ucyBpbiBXSzEgYW5kIFdLMiBoYXZlIGEgc3VidGxlLCBidXQg
aW1wb3J0YW50IGRpZmZlcmVuY2UuCisgICAgICAgIC8vIFVuZGVyIFdLMSwgdGhlIG1vdXNlZG93
biBpcyBzaW11bGF0ZWQgYnV0IG5vdCB0aGUgbW91c2V1cC4gVW5kZXIgV0syIGJvdGggdGhlIG1v
dXNlZG93bgorICAgICAgICAvLyBhbmQgbW91c2V1cCBhcmUgc2ltdWxhdGVkLiBJdCB0dXJucyBv
dXQgdGhlIFdLMSBzaW11bGF0aW9uIG1vcmUgY2xvc2VseSBtYXRjaGVzIHdoYXQKKyAgICAgICAg
Ly8gaGFwcGVucyBpbiByZWFsIGxpZmUuIFRoaXMgaXMgcmVsZXZhbnQgdG8gdGhpcyB0ZXN0IChh
bmQgdGhlIGJ1ZyBpdCBjb3ZlcnMpIGJlY2F1c2UsCisgICAgICAgIC8vIHVuZGVyIFdLMiwgdGhl
IHRlc3Qgd2lsbCBhbHdheXMgcGFzcywgd2l0aCBvciB3aXRob3V0IHRoZSBidWcgZml4LiBVbmRl
ciBXSzEsIHRoZSB0ZXN0CisgICAgICAgIC8vIGZhaWxzIHdpdGhvdXQgdGhlIGJ1ZyBmaXggYW5k
IHBhc3NlcyB3aXRoIHRoZSBidWcgZml4IGFzIGV4cGVjdGVkLgorICAgICAgICAvLworICAgICAg
ICAvLyBBbiBhbHRlcm5hdGl2ZSB0byB1c2luZyBjb250ZXh0Q2xpY2soKSB3b3VsZCBiZSBtb3Vz
ZURvd24oImN0cmxLZXkiKSwgYnV0IHRoYXQgaXMKKyAgICAgICAgLy8gYSBNYWMtc3BlY2lmaWMg
d2F5IHRvIGJyaW5nIHVwIHRoZSBjb250ZXh0IG1lbnUgaW5zdGVhZCBvZiBhIHBsYXRmb3JtLW5l
dXRyYWwgd2F5CisgICAgICAgIGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgICAgICAv
LyBlc2Mga2V5IHRvIGtpbGwgdGhlIGNvbnRleHQgbWVudS4KKyAgICAgICAgZXZlbnRTZW5kZXIu
a2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworICAgICAgICBlbGVt
ZW50LmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMuaXNDYXJldEJsaW5raW5nU3VzcGVuZGVk
KCkgPyAiRkFJTCIgOiAiUEFTUyI7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgIH0KKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355100</attachid>
            <date>2018-11-16 12:37:32 -0800</date>
            <delta_ts>2018-11-17 02:04:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6836</size>
            <attacher name="Jonathan Hammer">jonathan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzODI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE4LTExLTE2ICBKb25hdGhh
biBIYW1tZXIgIDxqb25hdGhhbkBlM3NvZnR3YXJlLmNvbT4KKworICAgICAgICBDYXJldCBzdG9w
cyBibGlua2luZyBhZnRlciBjb250ZXh0IG1lbnUgc2hvd24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTcxNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZWQgRXZlbnRIYW5kbGVyOjpzZW5kQ29u
dGV4dE1lbnVFdmVudCB0byB1bi1zdXNwZW5kIGNhcmV0IGJsaW5raW5nIHNvIHRoYXQKKyAgICAg
ICAgdGhlIGNhcmV0IGNvbnRpbnVlcyB0byBibGluayBldmVuIGFmdGVyIHRoZSBjb250ZXh0IG1l
bnUgaXMgZGlzbWlzc2VkLiBUaGUgbm9ybWFsCisgICAgICAgIHdheSBvZiB1bi1zdXNwZW5kZWRp
bmcgY2FyZXQgYmxpbmtpbmcgKGluIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZl
bnQpIGRvZXMKKyAgICAgICAgbm90IGFwcGx5IGluIHRoZSBjYXNlIG9mIGNvbnRleHQgbWVudXMg
YmVjYXVzZSBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCBpcyBub3QKKyAgICAgICAgY2FsbGVkIG9u
Y2UgdGhlIGNvbnRleHQgbWVudSBpcyB1cC4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9j
b250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2VuZENvbnRl
eHRNZW51RXZlbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6aXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoK
KwogMjAxOC0xMS0xNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBbiBlYXJseSByZXR1cm4gZnJvbSB1cGRhdGVTY2hlZHVsaW5nSW5mbyBjYW4gbGVhdmUgc29t
ZSB2YXJpYWJsZXMgdW5pbml0aWFsaXplZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAJKHJldmlzaW9uIDIzODI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg3Nyw2ICsyODc3LDkgQEAgYm9vbCBFdmVu
dEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50KAogICAgIGlmICghdmlldykKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgLy8gQ2FyZXQgYmxpbmtpbmcgaXMgbm9ybWFsbHkgdW4tc3Vz
cGVuZGVkIGluIGhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50LCBidXQgd2UKKyAgICAvLyB3b24ndCBy
ZWNlaXZlIHRoYXQgZXZlbnQgb25jZSB0aGUgY29udGV4dCBtZW51IGlzIHVwLgorICAgIG1fZnJh
bWUuc2VsZWN0aW9uKCkuc2V0Q2FyZXRCbGlua2luZ1N1c3BlbmRlZChmYWxzZSk7CiAgICAgLy8g
Q2xlYXIgbW91c2UgcHJlc3Mgc3RhdGUgdG8gYXZvaWQgaW5pdGlhdGluZyBhIGRyYWcgd2hpbGUg
Y29udGV4dCBtZW51IGlzIHVwLgogICAgIG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgYm9v
bCBzd2FsbG93RXZlbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShy
ZXZpc2lvbiAyMzgyOTEpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NzksNiArMTQ3OSwxNSBAQCBFeGNlcHRpb25PcjxSZWY8RE9N
UmVjdD4+IEludGVybmFsczo6YWJzCiAKICAgICByZXR1cm4gRE9NUmVjdDo6Y3JlYXRlKGRvY3Vt
ZW50LT5mcmFtZSgpLT5zZWxlY3Rpb24oKS5hYnNvbHV0ZUNhcmV0Qm91bmRzKCkpOwogfQorICAg
IAorRXhjZXB0aW9uT3I8Ym9vbD4gSW50ZXJuYWxzOjppc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQo
KQoreworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGlm
ICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CisgICAgCisgICAgcmV0dXJuIGRvY3VtZW50LT5m
cmFtZSgpLT5zZWxlY3Rpb24oKS5pc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQoKTsKK30KIAogUmVm
PERPTVJlY3Q+IEludGVybmFsczo6Ym91bmRpbmdCb3goRWxlbWVudCYgZWxlbWVudCkKIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMjM4MjkxKQorKysgU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDYg
KzIyMCw3IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRGb3JtQ29udHJvbFN0
YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAKICAgICBF
eGNlcHRpb25PcjxSZWY8RE9NUmVjdD4+IGFic29sdXRlQ2FyZXRCb3VuZHMoKTsKKyAgICBFeGNl
cHRpb25Pcjxib29sPiBpc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQoKTsKIAogICAgIFJlZjxET01S
ZWN0PiBib3VuZGluZ0JveChFbGVtZW50Jik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwJKHJldmlzaW9uIDIzODI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjM4LDYgKzIzOCw3IEBAIGVudW0gQ29t
cG9zaXRpbmdQb2xpY3kgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGb3JtQ29u
dHJvbFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKHNlcXVlbmNlPERPTVN0cmluZz4gdmFsdWVz
KTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NUmVjdCBhYnNvbHV0ZUNhcmV0Qm91bmRz
KCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGlzQ2FyZXRCbGlua2luZ1N1c3Bl
bmRlZCgpOwogCiAgICAgRE9NUmVjdCBib3VuZGluZ0JveChFbGVtZW50IGVsZW1lbnQpOwogCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMzgyOTEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMS0xNiAgSm9uYXRoYW4gSGFtbWVyICA8
am9uYXRoYW5AZTNzb2Z0d2FyZS5jb20+CisKKyAgICAgICAgQ2FyZXQgc3RvcHMgYmxpbmtpbmcg
YWZ0ZXIgY29udGV4dCBtZW51IHNob3duCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTE3MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnRleHRtZW51LWRpc21pc3MtYmxpbmst
Y2FyZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb250ZXh0
bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0Lmh0bWw6IEFkZGVkLgorCiAyMDE4LTExLTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3JpbmcgYmxvYnMgaW4g
SURCIG9uIGlPUzogIkVycm9yIHByZXBhcmluZyBibG9iL2ZpbGUiCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jb250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb250ZXh0bWVudS1kaXNt
aXNzLWJsaW5rLWNhcmV0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jb250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9jb250ZXh0bWVudS1kaXNtaXNzLWJsaW5rLWNhcmV0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29udGV4dG1lbnUtZGlzbWlzcy1ibGluay1j
YXJldC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnRl
eHRtZW51LWRpc21pc3MtYmxpbmstY2FyZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDI2IEBACis8aHRtbD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImNvbnRlbnRlZGl0YWJsZSIgY29u
dGVudGVkaXRhYmxlPlRoaXMgdGVzdHMgd2hldGhlciB0aGUgY2FyZXQgY29udGludWVzIHRvIGJs
aW5rIGFmdGVyIHRoZSBjb250ZXh0IG1lbnUgaXMgZGlzbWlzc2VkLiBUbyB0ZXN0IG1hbnVhbGx5
LCByaWdodC1jbGljayBhbnl3aGVyZSBpbiB0aGlzIGNvbnRlbnRlZGl0YWJsZSBlbGVtZW50IHRv
IHNob3cgYSBjb250ZXh0IG1lbnUgYW5kIHRoZW4gZGlzbWlzcyB0aGUgY29udGV4dCBtZW51IChi
eSBwcmVzc2luZyBlc2MpLiBBZnRlciB0aGUgY29udGV4dCBtZW51IGhhcyBiZWVuIGRpc21pc3Nl
ZCwgdXNlIHRoZSBrZXlib2FyZCB0byBtb3ZlIHRoZSBjYXJldCB1cC9kb3duL2xlZnQvcmlnaHQu
IEFzIHlvdSBtb3ZlIHRoZSBjYXJldCwgaXQgc2hvdWxkIGNvbnRpbnVlIHRvIGJsaW5rIChpbnN0
ZWFkIG9mIHN0YXlpbmcgZnJvemVuIG9uKS48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnRlZGl0YWJsZScpOworICAgICAgICB2YXIg
cmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyLCByZWN0LnRvcCArIHJl
Y3QuaGVpZ2h0IC8gMik7CisgICAgICAgIC8vIGNvbnRleHRDbGljaygpIGltcGxlbWVudGF0aW9u
cyBpbiBXSzEgYW5kIFdLMiBoYXZlIGEgc3VidGxlLCBidXQgaW1wb3J0YW50IGRpZmZlcmVuY2Uu
CisgICAgICAgIC8vIFVuZGVyIFdLMSwgdGhlIG1vdXNlZG93biBpcyBzaW11bGF0ZWQgYnV0IG5v
dCB0aGUgbW91c2V1cC4gVW5kZXIgV0syIGJvdGggdGhlIG1vdXNlZG93bgorICAgICAgICAvLyBh
bmQgbW91c2V1cCBhcmUgc2ltdWxhdGVkLiBJdCB0dXJucyBvdXQgdGhlIFdLMSBzaW11bGF0aW9u
IG1vcmUgY2xvc2VseSBtYXRjaGVzIHdoYXQKKyAgICAgICAgLy8gaGFwcGVucyBpbiByZWFsIGxp
ZmUuIFRoaXMgaXMgcmVsZXZhbnQgdG8gdGhpcyB0ZXN0IChhbmQgdGhlIGJ1ZyBpdCBjb3ZlcnMp
IGJlY2F1c2UsCisgICAgICAgIC8vIHVuZGVyIFdLMiwgdGhlIHRlc3Qgd2lsbCBhbHdheXMgcGFz
cywgd2l0aCBvciB3aXRob3V0IHRoZSBidWcgZml4LiBVbmRlciBXSzEsIHRoZSB0ZXN0CisgICAg
ICAgIC8vIGZhaWxzIHdpdGhvdXQgdGhlIGJ1ZyBmaXggYW5kIHBhc3NlcyB3aXRoIHRoZSBidWcg
Zml4IGFzIGV4cGVjdGVkLgorICAgICAgICAvLworICAgICAgICAvLyBBbiBhbHRlcm5hdGl2ZSB0
byB1c2luZyBjb250ZXh0Q2xpY2soKSB3b3VsZCBiZSBtb3VzZURvd24oImN0cmxLZXkiKSwgYnV0
IHRoYXQgaXMKKyAgICAgICAgLy8gYSBNYWMtc3BlY2lmaWMgd2F5IHRvIGJyaW5nIHVwIHRoZSBj
b250ZXh0IG1lbnUgaW5zdGVhZCBvZiBhIHBsYXRmb3JtLW5ldXRyYWwgd2F5CisgICAgICAgIGV2
ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgICAgICAvLyBlc2Mga2V5IHRvIGtpbGwgdGhl
IGNvbnRleHQgbWVudS4KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNo
YXJDb2RlKDB4MDAxQiksIG51bGwpOworICAgICAgICBlbGVtZW50LmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMuaXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKCkgPyAiRkFJTCIgOiAiUEFTUyI7
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>