<?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>197821</bug_id>
          
          <creation_ts>2019-05-11 22:35:10 -0700</creation_ts>
          <short_desc>[iOS] When running layout tests that tap in the same location, subsequent tests fail to fire click handlers</short_desc>
          <delta_ts>2019-05-13 19:25:41 -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>WebKit2</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1535423</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-11 22:35:10 -0700</bug_when>
    <thetext>Among many other ways, this can be observed when removing the workarounds in these tests:

 • editing/selection/ios/clear-selection-after-tapping-on-element-with-no-click-handler.html
 • editing/selection/ios/persist-selection-after-tapping-on-element-with-click-handler.html

...and running them back to back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535424</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-11 22:40:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/50700512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535425</commentid>
    <comment_count>2</comment_count>
      <attachid>369668</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-11 22:59:54 -0700</bug_when>
    <thetext>Created attachment 369668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535440</commentid>
    <comment_count>3</comment_count>
      <attachid>369668</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-05-12 07:33:03 -0700</bug_when>
    <thetext>Comment on attachment 369668
Patch

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

&gt; Source/WebKit/ChangeLog:11
&gt; +        After r244775, when running back-to-back layout tests on iOS that simulate taps in the same location, the double
&gt; +        tap gesture recognizer for recognizing double clicks ends up recognizing instead of the single tap gesture
&gt; +        recognizer in the subsequent test. This means that click handlers in the subsequent test will fail to recognize,

How do the other double tap gesture recognizers deal with this? Where do they get reset?

&gt; Source/WebKit/ChangeLog:15
&gt; +        To avoid this, we reset the double click gesture recognizer when navigating; this has the additional effect of
&gt; +        making it such that the second page doesn&apos;t end up observing a dblclick when the first click was only sent to

This should be taken care of layerTreeTransactionIdAtLastTouchStart -and if it doesn&apos;t, we need to figure out why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535484</commentid>
    <comment_count>4</comment_count>
      <attachid>369668</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-12 15:15:32 -0700</bug_when>
    <thetext>Comment on attachment 369668
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:11
&gt;&gt; +        recognizer in the subsequent test. This means that click handlers in the subsequent test will fail to recognize,
&gt; 
&gt; How do the other double tap gesture recognizers deal with this? Where do they get reset?

Great question. There are two competing single-touch double tap gesture recognizers that I think you&apos;re referring to: _doubleTapGestureRecognizer and _nonBlockingDoubleTapGestureRecognizer, both on WKContentView. It&apos;s easy to see why _doubleTapGestureRecognizer doesn&apos;t interfere with the synthetic click gesture recognizer — since the test page has a responsive viewport, fast clicking is enabled, so _doubleTapGestureRecognizer is disabled. Explaining _nonBlockingDoubleTapGestureRecognizer took a bit more spelunking...

So the _nonBlockingDoubleTapGestureRecognizer is only enabled when _doubleTapGestureRecognizer is disabled — in other words, it&apos;s the double tap gesture recognizer that is used when fast-clicking is allowed. The intent of this is to not get in the way of the synthetic click GR, so that clicks can be recognized right away without waiting for the normal DTGR to fail.

Note that the test runner always loads about:blank in between tests, and also note that about:blank doesn&apos;t have a viewport by default (i.e., fast clicking is disabled). This means that in-between tests, we will load about blank (thereby calling [_nonBlockingDoubleTapGestureRecognizer setEnabled:NO]), and then when we get to the test page, it has a responsive viewport, so we call [_nonBlockingDoubleTapGestureRecognizer setEnabled:YES]. This has the identical result to what I did in this patch, which is to reset the double tap gesture recognizer and allow the single tap to recognize. Observe that forcing fast-clicking to be always enabled (and therefore cause _nonBlockingDoubleTapGestureRecognizer to be always enabled) causes this same bug reproduce, even after removing the recent _doubleTapGestureRecognizerForDoubleClick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535489</commentid>
    <comment_count>5</comment_count>
      <attachid>369668</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-12 15:48:59 -0700</bug_when>
    <thetext>Comment on attachment 369668
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:15
&gt;&gt; +        making it such that the second page doesn&apos;t end up observing a dblclick when the first click was only sent to
&gt; 
&gt; This should be taken care of layerTreeTransactionIdAtLastTouchStart -and if it doesn&apos;t, we need to figure out why.

First, I actually misspoke here — the second page won&apos;t actually observe a dblclick. What I meant to write here is that *if* the tapped element on the second page happens to have a click handler as well as a dblclick handler, then that click handler will be fired with an event with a clickCount of 2.

That said, I don&apos;t quite understand why you think layerTreeTransactionIdAtLastTouchStart would prevent this from happening. Could you explain in a bit more detail?

Here&apos;s what I think: layerTreeTransactionIdAtLastTouchStart will be set to the transaction ID corresponding to the RLT transaction during the second tap, and so the double click GR will send this transaction ID to WebPage. This second ID is well after the first RLT commit after loading the page, so this check:

    lastLayerTreeTransactionId &lt; WebFrame::fromCoreFrame(*frameRespondingToDoubleClick)-&gt;firstLayerTreeTransactionIDAfterDidCommitLoad()

...is false, and we don&apos;t bail. In any case, I think this is a different (but related) problem to the one here. Even if we were to make some change that caused us to bail here (e.g. by sending the transaction ID corresponding to the first &quot;click&quot; of the double click gesture), it wouldn&apos;t fix all of these iOS tests that are now flaky due to the new double click gesture recognizer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535633</commentid>
    <comment_count>6</comment_count>
      <attachid>369668</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-05-13 09:20:40 -0700</bug_when>
    <thetext>Comment on attachment 369668
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:3767
&gt; +    [_doubleTapGestureRecognizerForDoubleClick setEnabled:NO];
&gt; +    [_doubleTapGestureRecognizerForDoubleClick setEnabled:YES];

This kind of mysterious magical code needs a brief &quot;why&quot; comment explaining what the benefit is of disabling and re-enabling in quick succession.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535682</commentid>
    <comment_count>7</comment_count>
      <attachid>369668</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-13 11:11:24 -0700</bug_when>
    <thetext>Comment on attachment 369668
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:3767
&gt;&gt; +    [_doubleTapGestureRecognizerForDoubleClick setEnabled:YES];
&gt; 
&gt; This kind of mysterious magical code needs a brief &quot;why&quot; comment explaining what the benefit is of disabling and re-enabling in quick succession.

Good call — added a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535687</commentid>
    <comment_count>8</comment_count>
      <attachid>369749</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-13 11:13:33 -0700</bug_when>
    <thetext>Created attachment 369749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535691</commentid>
    <comment_count>9</comment_count>
      <attachid>369751</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-05-13 11:14:32 -0700</bug_when>
    <thetext>Created attachment 369751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535923</commentid>
    <comment_count>10</comment_count>
      <attachid>369751</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 19:25:40 -0700</bug_when>
    <thetext>Comment on attachment 369751
Patch

Clearing flags on attachment: 369751

Committed r245268: &lt;https://trac.webkit.org/changeset/245268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535924</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 19:25:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369668</attachid>
            <date>2019-05-11 22:59:54 -0700</date>
            <delta_ts>2019-05-13 11:13:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197821-20190511225954.patch</filename>
            <type>text/plain</type>
            <size>7626</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNkYjkwNDBiYTRlMjU1ZmU0
Y2UwNGUyNjBjYzY0MjJjZDQ0NjhiNWEuLmFkYmY5NzMwMDNjZDc0NGRjN2JiMmU3MjhiMzAyZDBh
ZTQ1Mzc4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDUtMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2hlbiBydW5u
aW5nIGxheW91dCB0ZXN0cyB0aGF0IHRhcCBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3Vic2VxdWVu
dCB0ZXN0cyBmYWlsIHRvIGZpcmUgY2xpY2sgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzgyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTA3MDA1MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWZ0ZXIgcjI0NDc3NSwgd2hlbiBydW5uaW5nIGJhY2stdG8tYmFjayBsYXlvdXQgdGVz
dHMgb24gaU9TIHRoYXQgc2ltdWxhdGUgdGFwcyBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgdGhlIGRv
dWJsZQorICAgICAgICB0YXAgZ2VzdHVyZSByZWNvZ25pemVyIGZvciByZWNvZ25pemluZyBkb3Vi
bGUgY2xpY2tzIGVuZHMgdXAgcmVjb2duaXppbmcgaW5zdGVhZCBvZiB0aGUgc2luZ2xlIHRhcCBn
ZXN0dXJlCisgICAgICAgIHJlY29nbml6ZXIgaW4gdGhlIHN1YnNlcXVlbnQgdGVzdC4gVGhpcyBt
ZWFucyB0aGF0IGNsaWNrIGhhbmRsZXJzIGluIHRoZSBzdWJzZXF1ZW50IHRlc3Qgd2lsbCBmYWls
IHRvIHJlY29nbml6ZSwKKyAgICAgICAgdW5sZXNzIHRoZSBlbGVtZW50IHdpdGggdGhlIGNsaWNr
IGhhbmRsZXIgaXMgYWxzbyBhY2NvbXBhbmllZCBieSBhIGRibGNsaWNrIGhhbmRsZXIuCisKKyAg
ICAgICAgVG8gYXZvaWQgdGhpcywgd2UgcmVzZXQgdGhlIGRvdWJsZSBjbGljayBnZXN0dXJlIHJl
Y29nbml6ZXIgd2hlbiBuYXZpZ2F0aW5nOyB0aGlzIGhhcyB0aGUgYWRkaXRpb25hbCBlZmZlY3Qg
b2YKKyAgICAgICAgbWFraW5nIGl0IHN1Y2ggdGhhdCB0aGUgc2Vjb25kIHBhZ2UgZG9lc24ndCBl
bmQgdXAgb2JzZXJ2aW5nIGEgZGJsY2xpY2sgd2hlbiB0aGUgZmlyc3QgY2xpY2sgd2FzIG9ubHkg
c2VudCB0bworICAgICAgICB0aGUgZmlyc3QgcGFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBzZXR1cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lXSk6CisKIDIwMTktMDUtMTAgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbUFNPTl0gUHJldmVudCBmbGFzaGluZyB3
aGVuIHRoZSBwcm9jZXNzLXN3YXAgaXMgZm9yY2VkIGJ5IHRoZSBjbGllbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA2N2ZiMmUz
YmExZjc2M2E1ODM1YjMxMjE5Mzg2OWI0ZjBmMDk0NWRhLi4wOTUzMmZmMjdlOTlmNGU5Yzg5M2Fk
YzgxOGRmOTBkMjRmYTE2MjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0yMTUsNiArMjE1LDcgQEAgdm9pZCBQYWdlQ2xpZW50
SW1wbDo6ZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJGcmFt
ZVByb3h5Jgogdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JN
YWluRnJhbWUoKQogewogICAgIFttX3dlYlZpZXcgX2RpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9y
TWFpbkZyYW1lXTsKKyAgICBbbV9jb250ZW50VmlldyBfZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JNYWluRnJhbWVdOwogICAgIFttX3dlYlZpZXcgX2hpZGVQYXNzd29yZFZpZXddOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKaW5kZXggY2Y0ODkxMWEzMTE0MzE1MGRjZWU4YTg1NzI3YWIxZGM2OWUwMDQyMC4u
YzkyYjNmOWQyMjA4NzIwYWNiMzFhYjk4OTRjZDc0MmY5YmRmOTVlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApA
QCAtNTA2LDYgKzUwNiw4IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04o
REVDTEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAKIC0gKHZvaWQpX2hh
bmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dDooY29uc3QgV2ViS2l0OjpXZWJBdXRvY29ycmVjdGlv
bkNvbnRleHQmKWNvbnRleHQ7CiAKKy0gKHZvaWQpX2RpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9y
TWFpbkZyYW1lOworCiBAZW5kCiAKIEBpbnRlcmZhY2UgV0tDb250ZW50VmlldyAoV0tUZXN0aW5n
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KaW5kZXggZTZiMTEyMzZiOTc2MDE1YmY5NjA3YTgwYWIxMmY5MWFiYzcz
YTEwNS4uM2QwYjEzZjA4OGJiZTk0ZGY5MzU1OWJiMWI1NmVkMDIxNTZiZDYxMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCkBAIC03MzgsNyArNzM4LDYgQEAgLSAodm9pZClzZXR1cEludGVyYWN0aW9uCiAgICAg
X2RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyRm9yRG91YmxlQ2xpY2sgPSBhZG9wdE5TKFtbVUlU
YXBHZXN0dXJlUmVjb2duaXplciBhbGxvY10gaW5pdFdpdGhUYXJnZXQ6c2VsZiBhY3Rpb246QHNl
bGVjdG9yKF9kb3VibGVUYXBSZWNvZ25pemVkRm9yRG91YmxlQ2xpY2s6KV0pOwogICAgIFtfZG91
YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3VibGVDbGljayBzZXROdW1iZXJPZlRhcHNSZXF1
aXJlZDoyXTsKICAgICBbX2RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyRm9yRG91YmxlQ2xpY2sg
c2V0RGVsZWdhdGU6c2VsZl07Ci0gICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRv
dWJsZUNsaWNrIHNldEVuYWJsZWQ6WUVTXTsKICAgICBbc2VsZiBhZGRHZXN0dXJlUmVjb2duaXpl
cjpfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3VibGVDbGljay5nZXQoKV07CiAKICAg
ICBbc2VsZiBfY3JlYXRlQW5kQ29uZmlndXJlRG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJdOwpA
QCAtMzc2Miw2ICszNzYxLDEyIEBAIC0gKHZvaWQpX2hhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4
dDooY29uc3QgV2ViS2l0OjpXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQmKWNvCiAgICAgW3NlbGYg
X2ludm9rZVBlbmRpbmdBdXRvY29ycmVjdGlvbkNvbnRleHRIYW5kbGVyOltXS0F1dG9jb3JyZWN0
aW9uQ29udGV4dCBhdXRvY29ycmVjdGlvbkNvbnRleHRXaXRoV2ViQ29udGV4dDpjb250ZXh0XV07
CiB9CiAKKy0gKHZvaWQpX2RpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lCit7Cisg
ICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRvdWJsZUNsaWNrIHNldEVuYWJsZWQ6
Tk9dOworICAgIFtfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3VibGVDbGljayBzZXRF
bmFibGVkOllFU107Cit9CisKICNpZiAhVVNFKFVJS0lUX0tFWUJPQVJEX0FERElUSU9OUykKIC0g
KE5TQXJyYXkgKilrZXlDb21tYW5kcwogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNmYjU0ZWM5OTdiM2RkNmFhZDQzOWZm
ZjEwZDA4YzkwMjNmODY0NjUuLjBmYWQzOThkOTI0ZjkzNjdlNmFhMmNmNjVlNDI2NGM0ZDNlNTgw
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNS0xMSAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXaGVuIHJ1bm5pbmcgbGF5b3V0
IHRlc3RzIHRoYXQgdGFwIGluIHRoZSBzYW1lIGxvY2F0aW9uLCBzdWJzZXF1ZW50IHRlc3RzIGZh
aWwgdG8gZmlyZSBjbGljayBoYW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDcwMDUx
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmVzIHdvcmthcm91bmRzIGluIGEgY291cGxlIG9mIGV4aXN0aW5nIGxheW91dCB0ZXN0cy4KKwor
ICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2lvcy9jbGVhci1zZWxlY3Rpb24tYWZ0ZXItdGFw
cGluZy1vbi1lbGVtZW50LXdpdGgtbm8tY2xpY2staGFuZGxlci5odG1sOgorICAgICAgICAqIGVk
aXRpbmcvc2VsZWN0aW9uL2lvcy9wZXJzaXN0LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVs
ZW1lbnQtd2l0aC1jbGljay1oYW5kbGVyLmh0bWw6CisKIDIwMTktMDUtMTEgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQmFja2luZy1zaGFyaW5nIGxh
eWVycyB3aXRoIHRyYW5zZm9ybXMgcmVuZGVyIGluY29ycmVjdGx5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvY2xlYXItc2VsZWN0aW9uLWFmdGVyLXRhcHBp
bmctb24tZWxlbWVudC13aXRoLW5vLWNsaWNrLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2lvcy9jbGVhci1zZWxlY3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVt
ZW50LXdpdGgtbm8tY2xpY2staGFuZGxlci5odG1sCmluZGV4IDJjODE5N2NkOTVmYTMxM2E2MzM0
NzM0NmNkZTJkOTlkMTU0ZjQwNGIuLjM5NDY1YjA1NTk2ZDI5NmNjOTVhM2QyNzcwYjRmMzI2MDhh
ZjlmNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jbGVh
ci1zZWxlY3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdpdGgtbm8tY2xpY2staGFuZGxl
ci5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9jbGVhci1zZWxl
Y3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdpdGgtbm8tY2xpY2staGFuZGxlci5odG1s
CkBAIC00MiwxNSArNDIsNyBAQAogICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFz
ZUFuZEV4dGVudCh0YXJnZXQsIDAsIHRhcmdldCwgNik7CiAKICAgICAgICAgYXdhaXQgVUlIZWxw
ZXIuYWN0aXZhdGVFbGVtZW50KGNsaWNrVGFyZ2V0KTsKLQotICAgICAgICBzZXRUaW1lb3V0KGFz
eW5jIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIC8vIFRoZSB0ZXN0IGlzIGRvbmUsIGJ1dCB3
ZSBuZWVkIHRvIHRhcCBhZ2FpbiB0byBlbnN1cmUgd2UgZG9uJ3QKLSAgICAgICAgICAgIC8vIGhh
bmcgdGhlIG5leHQgdGVzdCB3aXRoIGEgZG91YmxlIHRhcC4KLSAgICAgICAgICAgIGRvY3VtZW50
LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsIGRpZENoYW5nZVNlbGVjdGlv
bik7Ci0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci50YXBBdCgxMCwgNTAwKTsKLQotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0sIDApOworICAgICAgICBz
ZXRUaW1lb3V0KCgpID0+IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpLCAwKTsKICAgICB9CiAgICAg
PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9pb3MvcGVyc2lzdC1zZWxlY3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdpdGgt
Y2xpY2staGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL3Bl
cnNpc3Qtc2VsZWN0aW9uLWFmdGVyLXRhcHBpbmctb24tZWxlbWVudC13aXRoLWNsaWNrLWhhbmRs
ZXIuaHRtbAppbmRleCA1YmE0MmFjODZkZDM3ZDJkOTE3MGRiZGRlZTM4ZDYzYWRhNmI0YTgxLi5l
MzhmNGQzMGZjMDRmZjQzMWE3MTNmYmFkNmUxNTJkYzBhNjFlMjUyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvcGVyc2lzdC1zZWxlY3Rpb24tYWZ0ZXItdGFw
cGluZy1vbi1lbGVtZW50LXdpdGgtY2xpY2staGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9wZXJzaXN0LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9u
LWVsZW1lbnQtd2l0aC1jbGljay1oYW5kbGVyLmh0bWwKQEAgLTQxLDE1ICs0MSw3IEBACiAKICAg
ICAgICAgY2xpY2tUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBldmVudCA9PiB7CiAg
ICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotCi0gICAgICAgICAgICBzZXRUaW1l
b3V0KGFzeW5jIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAvLyBUaGUgdGVzdCBpcyBk
b25lLCBidXQgd2UgbmVlZCB0byB0YXAgYWdhaW4gdG8gZW5zdXJlIHdlIGRvbid0Ci0gICAgICAg
ICAgICAgICAgLy8gaGFuZyB0aGUgbmV4dCB0ZXN0IHdpdGggYSBkb3VibGUgdGFwLgotICAgICAg
ICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIs
IGRpZENoYW5nZVNlbGVjdGlvbik7Ci0gICAgICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIudGFw
QXQoMTAsIDUwMCk7Ci0KLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICAgICAgICAgIH0sIDApOworICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKSwgMCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIHZhciB0YXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iik7ICAgICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369749</attachid>
            <date>2019-05-13 11:13:33 -0700</date>
            <delta_ts>2019-05-13 11:14:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197821-20190513111332.patch</filename>
            <type>text/plain</type>
            <size>7787</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYyMTIyMzkzOTBhZjU0ZTcy
Mjg5OWYxY2JkMWE3MjNkNWY4MzQ1ZDMuLmFiNWNkYWY1OTMxZWUwNTEwYzcyMDEzZmNiNGUxNDhl
MjVhY2U3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDUtMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2hlbiBydW5u
aW5nIGxheW91dCB0ZXN0cyB0aGF0IHRhcCBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3Vic2VxdWVu
dCB0ZXN0cyBmYWlsIHRvIGZpcmUgY2xpY2sgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzgyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTA3MDA1MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWZ0ZXIgcjI0NDc3NSwgd2hlbiBydW5uaW5nIGJhY2stdG8tYmFjayBsYXlvdXQgdGVz
dHMgb24gaU9TIHRoYXQgc2ltdWxhdGUgdGFwcyBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgdGhlIGRv
dWJsZQorICAgICAgICB0YXAgZ2VzdHVyZSByZWNvZ25pemVyIGZvciByZWNvZ25pemluZyBkb3Vi
bGUgY2xpY2tzIGVuZHMgdXAgcmVjb2duaXppbmcgaW5zdGVhZCBvZiB0aGUgc2luZ2xlIHRhcCBn
ZXN0dXJlCisgICAgICAgIHJlY29nbml6ZXIgaW4gdGhlIHN1YnNlcXVlbnQgdGVzdC4gVGhpcyBt
ZWFucyB0aGF0IGNsaWNrIGhhbmRsZXJzIGluIHRoZSBzdWJzZXF1ZW50IHRlc3Qgd2lsbCBmYWls
IHRvIHJlY29nbml6ZSwKKyAgICAgICAgdW5sZXNzIHRoZSBlbGVtZW50IHdpdGggdGhlIGNsaWNr
IGhhbmRsZXIgaXMgYWxzbyBhY2NvbXBhbmllZCBieSBhIGRibGNsaWNrIGhhbmRsZXIuCisKKyAg
ICAgICAgVG8gYXZvaWQgdGhpcywgd2UgcmVzZXQgdGhlIGRvdWJsZSBjbGljayBnZXN0dXJlIHJl
Y29nbml6ZXIgd2hlbiBuYXZpZ2F0aW5nOyB0aGlzIGhhcyB0aGUgYWRkaXRpb25hbCBlZmZlY3Qg
b2YKKyAgICAgICAgbWFraW5nIGl0IHN1Y2ggdGhhdCB0aGUgc2Vjb25kIHBhZ2UgZG9lc24ndCBl
bmQgdXAgb2JzZXJ2aW5nIGEgZGJsY2xpY2sgd2hlbiB0aGUgZmlyc3QgY2xpY2sgd2FzIG9ubHkg
c2VudCB0bworICAgICAgICB0aGUgZmlyc3QgcGFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBzZXR1cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lXSk6CisKIDIwMTktMDUtMTMgIENocmlzIEZsZWl6
YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogTmVlZCBhbiBlbnRpdGxl
bWVudCBmb3IgV2ViQ29udGVudCB0byBzZW5kIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmlu
ZGV4IDY3ZmIyZTNiYTFmNzYzYTU4MzViMzEyMTkzODY5YjRmMGYwOTQ1ZGEuLjA5NTMyZmYyN2U5
OWY0ZTljODkzYWRjODE4ZGY5MGQyNGZhMTYyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTIxNSw2ICsyMTUsNyBAQCB2b2lk
IFBhZ2VDbGllbnRJbXBsOjpkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0KFdlYkZyYW1lUHJveHkmCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvck1haW5GcmFtZSgpCiB7CiAgICAgW21fd2ViVmlldyBfZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JNYWluRnJhbWVdOworICAgIFttX2NvbnRlbnRWaWV3IF9kaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvck1haW5GcmFtZV07CiAgICAgW21fd2ViVmlldyBfaGlkZVBhc3N3b3JkVmll
d107CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBjZjQ4OTExYTMxMTQzMTUwZGNlZThhODU3MjdhYjFk
YzY5ZTAwNDIwLi5jOTJiM2Y5ZDIyMDg3MjBhY2IzMWFiOTg5NGNkNzQyZjliZGY5NWVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCkBAIC01MDYsNiArNTA2LDggQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRW
SUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIAog
LSAodm9pZClfaGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0Oihjb25zdCBXZWJLaXQ6OldlYkF1
dG9jb3JyZWN0aW9uQ29udGV4dCYpY29udGV4dDsKIAorLSAodm9pZClfZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JNYWluRnJhbWU7CisKIEBlbmQKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3
IChXS1Rlc3RpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBlNmIxMTIzNmI5NzYwMTViZjk2MDdhODBh
YjEyZjkxYWJjNzNhMTA1Li41YTc0MjlkNmQzNDNmMDM1ZTRjMmY5Yzg5ZGRlMWQwNDVmZjBmOWEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KQEAgLTczOCw3ICs3MzgsNiBAQCAtICh2b2lkKXNldHVwSW50ZXJh
Y3Rpb24KICAgICBfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3VibGVDbGljayA9IGFk
b3B0TlMoW1tVSVRhcEdlc3R1cmVSZWNvZ25pemVyIGFsbG9jXSBpbml0V2l0aFRhcmdldDpzZWxm
IGFjdGlvbjpAc2VsZWN0b3IoX2RvdWJsZVRhcFJlY29nbml6ZWRGb3JEb3VibGVDbGljazopXSk7
CiAgICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRvdWJsZUNsaWNrIHNldE51bWJl
ck9mVGFwc1JlcXVpcmVkOjJdOwogICAgIFtfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JE
b3VibGVDbGljayBzZXREZWxlZ2F0ZTpzZWxmXTsKLSAgICBbX2RvdWJsZVRhcEdlc3R1cmVSZWNv
Z25pemVyRm9yRG91YmxlQ2xpY2sgc2V0RW5hYmxlZDpZRVNdOwogICAgIFtzZWxmIGFkZEdlc3R1
cmVSZWNvZ25pemVyOl9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRvdWJsZUNsaWNrLmdl
dCgpXTsKIAogICAgIFtzZWxmIF9jcmVhdGVBbmRDb25maWd1cmVEb3VibGVUYXBHZXN0dXJlUmVj
b2duaXplcl07CkBAIC0zNzYyLDYgKzM3NjEsMTMgQEAgLSAodm9pZClfaGFuZGxlQXV0b2NvcnJl
Y3Rpb25Db250ZXh0Oihjb25zdCBXZWJLaXQ6OldlYkF1dG9jb3JyZWN0aW9uQ29udGV4dCYpY28K
ICAgICBbc2VsZiBfaW52b2tlUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXI6W1dL
QXV0b2NvcnJlY3Rpb25Db250ZXh0IGF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhXZWJDb250ZXh0
OmNvbnRleHRdXTsKIH0KIAorLSAodm9pZClfZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JNYWlu
RnJhbWUKK3sKKyAgICAvLyBSZXNldCB0aGUgZG91YmxlIHRhcCBnZXN0dXJlIHJlY29nbml6ZXIg
dG8gcHJldmVudCBhbnkgZG91YmxlIHRhcCBnZXN0dXJlIHRoYXQgaXMgaW4gdGhlIHByb2Nlc3Mg
b2YgYmVpbmcgcmVjb2duaXplZC4KKyAgICBbX2RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyRm9y
RG91YmxlQ2xpY2sgc2V0RW5hYmxlZDpOT107CisgICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2du
aXplckZvckRvdWJsZUNsaWNrIHNldEVuYWJsZWQ6WUVTXTsKK30KKwogI2lmICFVU0UoVUlLSVRf
S0VZQk9BUkRfQURESVRJT05TKQogLSAoTlNBcnJheSAqKWtleUNvbW1hbmRzCiB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MzZlM2I0Y2UxYTlmMGM2ZTE5N2NiMDc2MWZkNzAyNGZhMWJlNTdlZC4uMzlmOTRiYWRlNDY1ZDA1
OTZiOGU1OTdiYWRhNGE3NGZiMDNkZDQ2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA1
LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtp
T1NdIFdoZW4gcnVubmluZyBsYXlvdXQgdGVzdHMgdGhhdCB0YXAgaW4gdGhlIHNhbWUgbG9jYXRp
b24sIHN1YnNlcXVlbnQgdGVzdHMgZmFpbCB0byBmaXJlIGNsaWNrIGhhbmRsZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzUwNzAwNTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZXMgd29ya2Fyb3VuZHMgaW4gYSBjb3VwbGUgb2YgZXhp
c3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2Ns
ZWFyLXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5k
bGVyLmh0bWw6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL3BlcnNpc3Qtc2VsZWN0
aW9uLWFmdGVyLXRhcHBpbmctb24tZWxlbWVudC13aXRoLWNsaWNrLWhhbmRsZXIuaHRtbDoKKwog
MjAxOS0wNS0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbbWFjT1NdIEZvbnQgZm9ybWF0dGluZyBvcHRpb25zIGRvbid0IHdvcmsgd2hlbiBjb21w
b3NpbmcgYSBtZXNzYWdlIGluIFlhaG9vIG1haWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2lvcy9jbGVhci1zZWxlY3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVt
ZW50LXdpdGgtbm8tY2xpY2staGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vaW9zL2NsZWFyLXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1u
by1jbGljay1oYW5kbGVyLmh0bWwKaW5kZXggMmM4MTk3Y2Q5NWZhMzEzYTYzMzQ3MzQ2Y2RlMmQ5
OWQxNTRmNDA0Yi4uMzk0NjViMDU1OTZkMjk2Y2M5NWEzZDI3NzBiNGYzMjYwOGFmOWY2YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NsZWFyLXNlbGVjdGlv
bi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5kbGVyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NsZWFyLXNlbGVjdGlvbi1hZnRl
ci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5kbGVyLmh0bWwKQEAgLTQyLDE1
ICs0Miw3IEBACiAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50
KHRhcmdldCwgMCwgdGFyZ2V0LCA2KTsKIAogICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnQoY2xpY2tUYXJnZXQpOwotCi0gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgLy8gVGhlIHRlc3QgaXMgZG9uZSwgYnV0IHdlIG5lZWQgdG8g
dGFwIGFnYWluIHRvIGVuc3VyZSB3ZSBkb24ndAotICAgICAgICAgICAgLy8gaGFuZyB0aGUgbmV4
dCB0ZXN0IHdpdGggYSBkb3VibGUgdGFwLgotICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZl
bnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIiwgZGlkQ2hhbmdlU2VsZWN0aW9uKTsKLSAgICAg
ICAgICAgIGF3YWl0IFVJSGVscGVyLnRhcEF0KDEwLCA1MDApOwotCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSwgMCk7CisgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4gdGVzdFJ1bm5lci5ub3RpZnlEb25lKCksIDApOwogICAgIH0KICAgICA8L3NjcmlwdD4K
IDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9w
ZXJzaXN0LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1jbGljay1oYW5k
bGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvcGVyc2lzdC1zZWxl
Y3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdpdGgtY2xpY2staGFuZGxlci5odG1sCmlu
ZGV4IDViYTQyYWM4NmRkMzdkMmQ5MTcwZGJkZGVlMzhkNjNhZGE2YjRhODEuLmUzOGY0ZDMwZmMw
NGZmNDMxYTcxM2ZiYWQ2ZTE1MmRjMGE2MWUyNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2lvcy9wZXJzaXN0LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVs
ZW1lbnQtd2l0aC1jbGljay1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vaW9zL3BlcnNpc3Qtc2VsZWN0aW9uLWFmdGVyLXRhcHBpbmctb24tZWxlbWVudC13
aXRoLWNsaWNrLWhhbmRsZXIuaHRtbApAQCAtNDEsMTUgKzQxLDcgQEAKIAogICAgICAgICBjbGlj
a1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGV2ZW50ID0+IHsKICAgICAgICAgICAg
IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMg
ZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIC8vIFRoZSB0ZXN0IGlzIGRvbmUsIGJ1dCB3
ZSBuZWVkIHRvIHRhcCBhZ2FpbiB0byBlbnN1cmUgd2UgZG9uJ3QKLSAgICAgICAgICAgICAgICAv
LyBoYW5nIHRoZSBuZXh0IHRlc3Qgd2l0aCBhIGRvdWJsZSB0YXAuCi0gICAgICAgICAgICAgICAg
ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIiwgZGlkQ2hhbmdl
U2VsZWN0aW9uKTsKLSAgICAgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci50YXBBdCgxMCwgNTAw
KTsKLQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAg
ICAgfSwgMCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpLCAwKTsKICAgICAgICAgfSk7CiAKICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsgICAgICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369751</attachid>
            <date>2019-05-13 11:14:32 -0700</date>
            <delta_ts>2019-05-13 19:25:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197821-20190513111431.patch</filename>
            <type>text/plain</type>
            <size>7781</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYyMTIyMzkzOTBhZjU0ZTcy
Mjg5OWYxY2JkMWE3MjNkNWY4MzQ1ZDMuLmFiNWNkYWY1OTMxZWUwNTEwYzcyMDEzZmNiNGUxNDhl
MjVhY2U3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTktMDUtMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2hlbiBydW5u
aW5nIGxheW91dCB0ZXN0cyB0aGF0IHRhcCBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgc3Vic2VxdWVu
dCB0ZXN0cyBmYWlsIHRvIGZpcmUgY2xpY2sgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzgyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTA3MDA1MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWZ0ZXIgcjI0NDc3NSwgd2hlbiBydW5uaW5nIGJhY2stdG8tYmFjayBsYXlvdXQgdGVz
dHMgb24gaU9TIHRoYXQgc2ltdWxhdGUgdGFwcyBpbiB0aGUgc2FtZSBsb2NhdGlvbiwgdGhlIGRv
dWJsZQorICAgICAgICB0YXAgZ2VzdHVyZSByZWNvZ25pemVyIGZvciByZWNvZ25pemluZyBkb3Vi
bGUgY2xpY2tzIGVuZHMgdXAgcmVjb2duaXppbmcgaW5zdGVhZCBvZiB0aGUgc2luZ2xlIHRhcCBn
ZXN0dXJlCisgICAgICAgIHJlY29nbml6ZXIgaW4gdGhlIHN1YnNlcXVlbnQgdGVzdC4gVGhpcyBt
ZWFucyB0aGF0IGNsaWNrIGhhbmRsZXJzIGluIHRoZSBzdWJzZXF1ZW50IHRlc3Qgd2lsbCBmYWls
IHRvIHJlY29nbml6ZSwKKyAgICAgICAgdW5sZXNzIHRoZSBlbGVtZW50IHdpdGggdGhlIGNsaWNr
IGhhbmRsZXIgaXMgYWxzbyBhY2NvbXBhbmllZCBieSBhIGRibGNsaWNrIGhhbmRsZXIuCisKKyAg
ICAgICAgVG8gYXZvaWQgdGhpcywgd2UgcmVzZXQgdGhlIGRvdWJsZSBjbGljayBnZXN0dXJlIHJl
Y29nbml6ZXIgd2hlbiBuYXZpZ2F0aW5nOyB0aGlzIGhhcyB0aGUgYWRkaXRpb25hbCBlZmZlY3Qg
b2YKKyAgICAgICAgbWFraW5nIGl0IHN1Y2ggdGhhdCB0aGUgc2Vjb25kIHBhZ2UgZG9lc24ndCBl
bmQgdXAgb2JzZXJ2aW5nIGEgZGJsY2xpY2sgd2hlbiB0aGUgZmlyc3QgY2xpY2sgd2FzIG9ubHkg
c2VudCB0bworICAgICAgICB0aGUgZmlyc3QgcGFnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvck1haW5GcmFtZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBzZXR1cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yTWFpbkZyYW1lXSk6CisKIDIwMTktMDUtMTMgIENocmlzIEZsZWl6
YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogTmVlZCBhbiBlbnRpdGxl
bWVudCBmb3IgV2ViQ29udGVudCB0byBzZW5kIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmlu
ZGV4IDY3ZmIyZTNiYTFmNzYzYTU4MzViMzEyMTkzODY5YjRmMGYwOTQ1ZGEuLjA5NTMyZmYyN2U5
OWY0ZTljODkzYWRjODE4ZGY5MGQyNGZhMTYyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTIxNSw2ICsyMTUsNyBAQCB2b2lk
IFBhZ2VDbGllbnRJbXBsOjpkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0KFdlYkZyYW1lUHJveHkmCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRTdGFydFByb3Zpc2lv
bmFsTG9hZEZvck1haW5GcmFtZSgpCiB7CiAgICAgW21fd2ViVmlldyBfZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JNYWluRnJhbWVdOworICAgIFttX2NvbnRlbnRWaWV3IF9kaWRTdGFydFByb3Zp
c2lvbmFsTG9hZEZvck1haW5GcmFtZV07CiAgICAgW21fd2ViVmlldyBfaGlkZVBhc3N3b3JkVmll
d107CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBjZjQ4OTExYTMxMTQzMTUwZGNlZThhODU3MjdhYjFk
YzY5ZTAwNDIwLi5jOTJiM2Y5ZDIyMDg3MjBhY2IzMWFiOTg5NGNkNzQyZjliZGY5NWVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCkBAIC01MDYsNiArNTA2LDggQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRW
SUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIAog
LSAodm9pZClfaGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0Oihjb25zdCBXZWJLaXQ6OldlYkF1
dG9jb3JyZWN0aW9uQ29udGV4dCYpY29udGV4dDsKIAorLSAodm9pZClfZGlkU3RhcnRQcm92aXNp
b25hbExvYWRGb3JNYWluRnJhbWU7CisKIEBlbmQKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3
IChXS1Rlc3RpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBlNmIxMTIzNmI5NzYwMTViZjk2MDdhODBh
YjEyZjkxYWJjNzNhMTA1Li41YzY2NTNhODI2YzZiNzQzODdmNTJjZjM2NWZmMWYzZGYyZjllOGQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KQEAgLTczOCw3ICs3MzgsNiBAQCAtICh2b2lkKXNldHVwSW50ZXJh
Y3Rpb24KICAgICBfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3VibGVDbGljayA9IGFk
b3B0TlMoW1tVSVRhcEdlc3R1cmVSZWNvZ25pemVyIGFsbG9jXSBpbml0V2l0aFRhcmdldDpzZWxm
IGFjdGlvbjpAc2VsZWN0b3IoX2RvdWJsZVRhcFJlY29nbml6ZWRGb3JEb3VibGVDbGljazopXSk7
CiAgICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRvdWJsZUNsaWNrIHNldE51bWJl
ck9mVGFwc1JlcXVpcmVkOjJdOwogICAgIFtfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JE
b3VibGVDbGljayBzZXREZWxlZ2F0ZTpzZWxmXTsKLSAgICBbX2RvdWJsZVRhcEdlc3R1cmVSZWNv
Z25pemVyRm9yRG91YmxlQ2xpY2sgc2V0RW5hYmxlZDpZRVNdOwogICAgIFtzZWxmIGFkZEdlc3R1
cmVSZWNvZ25pemVyOl9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZvckRvdWJsZUNsaWNrLmdl
dCgpXTsKIAogICAgIFtzZWxmIF9jcmVhdGVBbmRDb25maWd1cmVEb3VibGVUYXBHZXN0dXJlUmVj
b2duaXplcl07CkBAIC0zNzYyLDYgKzM3NjEsMTMgQEAgLSAodm9pZClfaGFuZGxlQXV0b2NvcnJl
Y3Rpb25Db250ZXh0Oihjb25zdCBXZWJLaXQ6OldlYkF1dG9jb3JyZWN0aW9uQ29udGV4dCYpY28K
ICAgICBbc2VsZiBfaW52b2tlUGVuZGluZ0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXI6W1dL
QXV0b2NvcnJlY3Rpb25Db250ZXh0IGF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhXZWJDb250ZXh0
OmNvbnRleHRdXTsKIH0KIAorLSAodm9pZClfZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JNYWlu
RnJhbWUKK3sKKyAgICAvLyBSZXNldCB0aGUgZG91YmxlIHRhcCBnZXN0dXJlIHJlY29nbml6ZXIg
dG8gcHJldmVudCBhbnkgZG91YmxlIGNsaWNrIHRoYXQgaXMgaW4gdGhlIHByb2Nlc3Mgb2YgYmVp
bmcgcmVjb2duaXplZC4KKyAgICBbX2RvdWJsZVRhcEdlc3R1cmVSZWNvZ25pemVyRm9yRG91Ymxl
Q2xpY2sgc2V0RW5hYmxlZDpOT107CisgICAgW19kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZv
ckRvdWJsZUNsaWNrIHNldEVuYWJsZWQ6WUVTXTsKK30KKwogI2lmICFVU0UoVUlLSVRfS0VZQk9B
UkRfQURESVRJT05TKQogLSAoTlNBcnJheSAqKWtleUNvbW1hbmRzCiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzZlM2I0
Y2UxYTlmMGM2ZTE5N2NiMDc2MWZkNzAyNGZhMWJlNTdlZC4uMzlmOTRiYWRlNDY1ZDA1OTZiOGU1
OTdiYWRhNGE3NGZiMDNkZDQ2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA1LTExICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdo
ZW4gcnVubmluZyBsYXlvdXQgdGVzdHMgdGhhdCB0YXAgaW4gdGhlIHNhbWUgbG9jYXRpb24sIHN1
YnNlcXVlbnQgdGVzdHMgZmFpbCB0byBmaXJlIGNsaWNrIGhhbmRsZXJzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjEKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzUwNzAwNTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZXMgd29ya2Fyb3VuZHMgaW4gYSBjb3VwbGUgb2YgZXhpc3Rpbmcg
bGF5b3V0IHRlc3RzLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NsZWFyLXNl
bGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5kbGVyLmh0
bWw6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vaW9zL3BlcnNpc3Qtc2VsZWN0aW9uLWFm
dGVyLXRhcHBpbmctb24tZWxlbWVudC13aXRoLWNsaWNrLWhhbmRsZXIuaHRtbDoKKwogMjAxOS0w
NS0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
bWFjT1NdIEZvbnQgZm9ybWF0dGluZyBvcHRpb25zIGRvbid0IHdvcmsgd2hlbiBjb21wb3Npbmcg
YSBtZXNzYWdlIGluIFlhaG9vIG1haWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lvcy9jbGVhci1zZWxlY3Rpb24tYWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdp
dGgtbm8tY2xpY2staGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
aW9zL2NsZWFyLXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGlj
ay1oYW5kbGVyLmh0bWwKaW5kZXggMmM4MTk3Y2Q5NWZhMzEzYTYzMzQ3MzQ2Y2RlMmQ5OWQxNTRm
NDA0Yi4uMzk0NjViMDU1OTZkMjk2Y2M5NWEzZDI3NzBiNGYzMjYwOGFmOWY2YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NsZWFyLXNlbGVjdGlvbi1hZnRl
ci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5kbGVyLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vaW9zL2NsZWFyLXNlbGVjdGlvbi1hZnRlci10YXBw
aW5nLW9uLWVsZW1lbnQtd2l0aC1uby1jbGljay1oYW5kbGVyLmh0bWwKQEAgLTQyLDE1ICs0Miw3
IEBACiAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRhcmdl
dCwgMCwgdGFyZ2V0LCA2KTsKIAogICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1l
bnQoY2xpY2tUYXJnZXQpOwotCi0gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24gKCkg
ewotICAgICAgICAgICAgLy8gVGhlIHRlc3QgaXMgZG9uZSwgYnV0IHdlIG5lZWQgdG8gdGFwIGFn
YWluIHRvIGVuc3VyZSB3ZSBkb24ndAotICAgICAgICAgICAgLy8gaGFuZyB0aGUgbmV4dCB0ZXN0
IHdpdGggYSBkb3VibGUgdGFwLgotICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0
ZW5lcigic2VsZWN0aW9uY2hhbmdlIiwgZGlkQ2hhbmdlU2VsZWN0aW9uKTsKLSAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLnRhcEF0KDEwLCA1MDApOwotCi0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKLSAgICAgICAgfSwgMCk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4g
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCksIDApOwogICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVh
ZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2lvcy9wZXJzaXN0
LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQtd2l0aC1jbGljay1oYW5kbGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9pb3MvcGVyc2lzdC1zZWxlY3Rpb24t
YWZ0ZXItdGFwcGluZy1vbi1lbGVtZW50LXdpdGgtY2xpY2staGFuZGxlci5odG1sCmluZGV4IDVi
YTQyYWM4NmRkMzdkMmQ5MTcwZGJkZGVlMzhkNjNhZGE2YjRhODEuLmUzOGY0ZDMwZmMwNGZmNDMx
YTcxM2ZiYWQ2ZTE1MmRjMGE2MWUyNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2lvcy9wZXJzaXN0LXNlbGVjdGlvbi1hZnRlci10YXBwaW5nLW9uLWVsZW1lbnQt
d2l0aC1jbGljay1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vaW9zL3BlcnNpc3Qtc2VsZWN0aW9uLWFmdGVyLXRhcHBpbmctb24tZWxlbWVudC13aXRoLWNs
aWNrLWhhbmRsZXIuaHRtbApAQCAtNDEsMTUgKzQxLDcgQEAKIAogICAgICAgICBjbGlja1Rhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGV2ZW50ID0+IHsKICAgICAgICAgICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7Ci0KLSAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgIC8vIFRoZSB0ZXN0IGlzIGRvbmUsIGJ1dCB3ZSBuZWVk
IHRvIHRhcCBhZ2FpbiB0byBlbnN1cmUgd2UgZG9uJ3QKLSAgICAgICAgICAgICAgICAvLyBoYW5n
IHRoZSBuZXh0IHRlc3Qgd2l0aCBhIGRvdWJsZSB0YXAuCi0gICAgICAgICAgICAgICAgZG9jdW1l
bnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIiwgZGlkQ2hhbmdlU2VsZWN0
aW9uKTsKLSAgICAgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci50YXBBdCgxMCwgNTAwKTsKLQot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgfSwg
MCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
LCAwKTsKICAgICAgICAgfSk7CiAKICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKTsgICAgICAgIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>